@@ -356,9 +356,9 @@ def process_exe_file(
356
356
for entry in metadata ["dynamic_entries" ]:
357
357
comp = create_dynamic_component (entry , exe )
358
358
lib_components .append (comp )
359
- # Convert libraries and targets from PE binaries
360
- if metadata .get ("pe_dependencies " ):
361
- pe_components = process_pe_dependencies (metadata .get ("pe_dependencies " ), dependencies_dict )
359
+ # Convert libraries and targets from dotnet binaries
360
+ if metadata .get ("dotnet_dependencies " ):
361
+ pe_components = process_dotnet_dependencies (metadata .get ("dotnet_dependencies " ), dependencies_dict )
362
362
lib_components += pe_components
363
363
if lib_components :
364
364
components += lib_components
@@ -411,10 +411,11 @@ def create_dynamic_component(entry: Dict, exe: str) -> Component:
411
411
Returns:
412
412
Component: The created dynamic component object.
413
413
"""
414
- purl = f"pkg:file/{ entry ['name' ]} "
414
+ name = entry .get ("name" , "" ).removeprefix ("$ORIGIN/" )
415
+ purl = f"pkg:file/{ name } "
415
416
comp = Component (
416
417
type = Type .library ,
417
- name = entry [ " name" ] ,
418
+ name = name ,
418
419
purl = purl ,
419
420
evidence = create_component_evidence (exe , 0.5 ),
420
421
properties = [
@@ -458,19 +459,19 @@ def process_android_file(
458
459
return components
459
460
460
461
461
- def process_pe_dependencies ( pe_deps : dict [str , dict ], dependencies_dict : dict [str , set ]) -> list [Component ]:
462
+ def process_dotnet_dependencies ( dotnet_deps : dict [str , dict ], dependencies_dict : dict [str , set ]) -> list [Component ]:
462
463
"""
463
- Process the dependencies metadata extracted for PE binaries
464
+ Process the dotnet dependencies metadata extracted for binary overlays
464
465
465
466
Args:
466
- pe_deps (dict[str, dict]): PE dependencies metadata
467
+ dotnet_deps (dict[str, dict]): PE dependencies metadata
467
468
dependencies_dict (dict[str, set]): Existing dependencies dictionary
468
469
469
470
Returns:
470
471
list: New component list
471
472
"""
472
473
components = []
473
- libraries = pe_deps .get ("libraries" , {})
474
+ libraries = dotnet_deps .get ("libraries" , {})
474
475
# k: 'Microsoft.CodeAnalysis.Analyzers/3.3.4'
475
476
# v: {'type': 'package', 'serviceable': True, 'sha512': 'sha512-AxkxcPR+rheX0SmvpLVIGLhOUXAKG56a64kV9VQZ4y9gR9ZmPXnqZvHJnmwLSwzrEP6junUF11vuc+aqo5r68g==', 'path': 'microsoft.codeanalysis.analyzers/3.3.4', 'hashPath': 'microsoft.codeanalysis.analyzers.3.3.4.nupkg.sha512'}
476
477
for k , v in libraries .items ():
@@ -498,7 +499,7 @@ def process_pe_dependencies(pe_deps: dict[str, dict], dependencies_dict: dict[st
498
499
comp .hashes = [Hash (alg = HashAlg .SHA_512 , content = hash_content )],
499
500
comp .bom_ref = RefType (purl )
500
501
components .append (comp )
501
- targets : dict [str , dict [str , dict ]] = pe_deps .get ("targets" , {})
502
+ targets : dict [str , dict [str , dict ]] = dotnet_deps .get ("targets" , {})
502
503
for tk , tv in targets .items ():
503
504
for k , v in tv .items ():
504
505
tmp_a = k .split ("/" )
0 commit comments