Full cataloging of archive contents
- Dominant language
- Go
- Stars
- 9.6k
- Forks
- 954
- Avg merge
- 23h 27m
- Merged PRs (30d)
- 48
Description
**What would you like to be added**: The ability for Syft to inspect the contents of archive files (tar, zip, jar/war/etc.) using all catalogers, such that any inner contents can be surfaced to the user.
**Why is this needed**: There's a general case to be made, as well as a more specific one.
The general case is that inspecting archive contents recursively means that Syft is diving deeper into the given image's or directory's content. Since Syft's prime directive is to "uncover what's in an image [or directory]", the ability to "see into" the file tree encapsulated by archive files allows Syft to more completely fulfill its mission, which means users get a more complete understanding of what they're building/shipping/deploying/etc. This is true today while Syft focuses on packages, and it becomes even more true as Syft is extended to discover secrets, specific files, etc.
The specific case is that the nature of Java packages is that the on-disk format can (and does) contain files of arbitrary types. This means that a JAR file can easily contain more "packages" than just Java applications and libraries. For example, a web application can have JavaScript dependencies, even if the web application is packaged as a JAR file. Ideally, a Java app that uses a JS package that has a reported vulnerability will, itself, have a reported vulnerability. But this isn't always the case, and the richer the information Syft produces about a given package, the more possibilities open up for identification and remediation of problems.
Contributor guide
Assessment
This issue has not been assessed yet.