You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If we run syft on the archive hudson-war-2.2.1.war, we get the results we'd expect to see with a single entry for hudson-war and a virtualPath of /hudson-war-2.2.1.war with the PURL correctly identified from the included pom.xml:
However, if we simply rename that war to hudson.war and rerun, we end up with 2 nodes, one that still has hudson-war, but with a different virtualPath of /hudson.war:org.jvnet.hudson.main:hudson-war
And the other with a package called just hudson with a virtualPath of /hudson-war-2.2.1.war and with an incorrect PURL generated only from the manifest.mf file
Previous versions of syft could correctly deduplicate these and ensure that only the more correct version made it into the final SBOM, and I think we're going to need to figure out a way to restore that ability.
Environment:
Output of syft version: v0.88.0
OS (e.g: cat /etc/os-release or similar):
The text was updated successfully, but these errors were encountered:
westonsteimel
changed the title
Virtual path changes to java cataloger causing creation of fake packages when jars are renamed
Virtual path changes to java cataloger causing creation of extra incorrect packages when jars are renamed
Aug 30, 2023
What happened:
The virtual path changes introduced as a part of #2033 has a side effect of creating weird fake packages when a java archive is named differently. An example is with https://repo1.maven.org/maven2/org/jvnet/hudson/main/hudson-war/2.2.1/hudson-war-2.2.1.war
If we run syft on the archive
hudson-war-2.2.1.war
, we get the results we'd expect to see with a single entry forhudson-war
and a virtualPath of/hudson-war-2.2.1.war
with the PURL correctly identified from the included pom.xml:However, if we simply rename that war to
hudson.war
and rerun, we end up with 2 nodes, one that still hashudson-war
, but with a different virtualPath of/hudson.war:org.jvnet.hudson.main:hudson-war
And the other with a package called just
hudson
with a virtualPath of/hudson-war-2.2.1.war
and with an incorrect PURL generated only from the manifest.mf filePrevious versions of syft could correctly deduplicate these and ensure that only the more correct version made it into the final SBOM, and I think we're going to need to figure out a way to restore that ability.
Environment:
syft version
: v0.88.0cat /etc/os-release
or similar):The text was updated successfully, but these errors were encountered: