@@ -753,9 +753,40 @@ def assetsToDf(src):
753753 related_assets_descriptions = []
754754
755755 for related_asset in asset ["x_mitre_related_assets" ]:
756- related_assets .append (related_asset ["name" ])
757- related_assets_sectors .append (", " .join (related_asset ["related_asset_sectors" ]))
758- related_assets_descriptions .append (related_asset ["description" ])
756+ asset_name = row .get ("name" , "<unnamed asset>" )
757+ asset_id = row .get ("ID" , "<missing ATT&CK ID>" )
758+ asset_stix_id = row .get ("STIX ID" , "<missing STIX ID>" )
759+ related_asset_name = related_asset .get ("name" , "<unnamed related asset>" )
760+
761+ if "name" in related_asset :
762+ related_assets .append (related_asset ["name" ])
763+ else :
764+ logger .error (
765+ f"Missing name for related asset '{ related_asset_name } ' on asset '{ asset_name } ' "
766+ f"({ asset_id } , { asset_stix_id } ). Leaving related assets blank for this related asset "
767+ "and continuing export."
768+ )
769+ related_assets .append ("" )
770+
771+ if "related_asset_sectors" in related_asset :
772+ related_assets_sectors .append (", " .join (related_asset ["related_asset_sectors" ]))
773+ else :
774+ logger .error (
775+ f"Missing related_asset_sectors for related asset '{ related_asset_name } ' on asset "
776+ f"'{ asset_name } ' ({ asset_id } , { asset_stix_id } ). Leaving related assets sectors blank "
777+ "for this related asset and continuing export."
778+ )
779+ related_assets_sectors .append ("" )
780+
781+ if "description" in related_asset :
782+ related_assets_descriptions .append (related_asset ["description" ])
783+ else :
784+ logger .error (
785+ f"Missing description for related asset '{ related_asset_name } ' on asset '{ asset_name } ' "
786+ f"({ asset_id } , { asset_stix_id } ). Leaving related assets description blank for this "
787+ "related asset and continuing export."
788+ )
789+ related_assets_descriptions .append ("" )
759790
760791 row ["related assets" ] = "; " .join (related_assets )
761792 row ["related assets sectors" ] = "; " .join (related_assets_sectors )
0 commit comments