From 7009cddc8c28dc4b91c2657c4c53a10712168de6 Mon Sep 17 00:00:00 2001 From: besendorf Date: Thu, 23 Oct 2025 15:19:08 +0200 Subject: [PATCH] webkit session resource: fail gracefully when date conversion fails (#664) * webkit session resource: fail gracefully when date conversion fails * fix syntax --- .../mixed/webkit_session_resource_log.py | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/mvt/ios/modules/mixed/webkit_session_resource_log.py b/src/mvt/ios/modules/mixed/webkit_session_resource_log.py index 0ae2545..5acbc81 100644 --- a/src/mvt/ios/modules/mixed/webkit_session_resource_log.py +++ b/src/mvt/ios/modules/mixed/webkit_session_resource_log.py @@ -127,6 +127,24 @@ class WebkitSessionResourceLog(IOSExtraction): browsing_stats = file_plist["browsingStatistics"] for item in browsing_stats: + most_recent_interaction, last_seen = None, None + if "mostRecentUserInteraction" in item: + try: + most_recent_interaction = convert_datetime_to_iso( + item["mostRecentUserInteraction"] + ) + except Exception: + self.log.error( + f'Error converting date of Safari resource"most recent interaction": {item["mostRecentUserInteraction"]}' + ) + if "lastSeen" in item: + try: + last_seen = convert_datetime_to_iso(item["lastSeen"]) + except Exception: + self.log.error( + f'Error converting date of Safari resource"last seen": {item["lastSeen"]}' + ) + items.append( { "origin": item.get("PrevalentResourceOrigin", ""), @@ -139,10 +157,8 @@ class WebkitSessionResourceLog(IOSExtraction): "subresourceUnderTopFrameOrigins", "" ), "user_interaction": item.get("hadUserInteraction"), - "most_recent_interaction": convert_datetime_to_iso( - item["mostRecentUserInteraction"] - ), - "last_seen": convert_datetime_to_iso(item["lastSeen"]), + "most_recent_interaction": most_recent_interaction, + "last_seen": last_seen, } )