Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Diffing Between SBOMs #148

Open
mcutshaw opened this issue Feb 21, 2024 · 4 comments
Open

Diffing Between SBOMs #148

mcutshaw opened this issue Feb 21, 2024 · 4 comments
Labels
enhancement New feature or request testing

Comments

@mcutshaw
Copy link
Collaborator

Is your feature request related to a problem? Please describe.
There have been some use cases when we have more then one version of the same firmware and therefore multiple BOMs. It would be beneficial to have some sort of script for comparison purposes.

Describe the solution you'd like
I think there is potential is generating a simple Python script that just builds a list of all of the given paths in an SBOM and then compares entries to determine differing file locations as well as differing hashes. Potentially it could be valuable to compare by other fields such as strings or potentially additional hash types (TLSH, SSDEEP), although each such comparison would need its own scoring function.

Additional context
If functionality like this already exists please let me know.

@mcutshaw mcutshaw added the enhancement New feature or request label Feb 21, 2024
@nightlark
Copy link
Collaborator

I could see this being pretty useful. Surfactant currently doesn't have any functionality for doing SBOM diffs.

@astrofage
Copy link

Maybe we shouldn't expect this functionality in surfactant. Surfactant is more for extracting the information, but I think in order to inner/outer join and compare we need a higher level tool like a relational database?

@nightlark
Copy link
Collaborator

I think there are some comparisons that could be easy to do without a relational database, and involve functions (e.g. what differences exist between SBOMs for a particular set of fields) that would be useful for writing better CI tests. I’d be okay with merging basic diffing features that can also improve testing if someone wants to add them.

I’d agree that more involved comparisons are outside the current scope and would be better handled by other tools.

@nightlark
Copy link
Collaborator

#202 - testing plugins could also benefit from some "fuzzy" SBOM comparison functions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request testing
Projects
None yet
Development

No branches or pull requests

3 participants