Documentation ¶
Overview ¶
Syft is a CLI tool and go library for generating a Software Bill of Materials (SBOM) from container images and filesystems.
Note that Syft is both a command line tool as well as a library. See the syft/ child package for library functionality.
Directories ¶
Path | Synopsis |
---|---|
bus
Package bus provides access to a singleton instance of an event bus (provided by the calling application).
|
Package bus provides access to a singleton instance of an event bus (provided by the calling application). |
ui/etui
Package etui provides an "ephemeral" terminal user interface to display the application state dynamically.
|
Package etui provides an "ephemeral" terminal user interface to display the application state dynamically. |
A "one-stop-shop" for helper utilities for all major functionality provided by child packages of the syft library.
|
A "one-stop-shop" for helper utilities for all major functionality provided by child packages of the syft library. |
cataloger
Package cataloger provides the ability to process files from a container image or file system and discover packages (gems, wheels, jars, rpms, debs, etc).
|
Package cataloger provides the ability to process files from a container image or file system and discover packages (gems, wheels, jars, rpms, debs, etc). |
cataloger/apkdb
Package apkdb provides a concrete Cataloger implementation for Alpine DB files.
|
Package apkdb provides a concrete Cataloger implementation for Alpine DB files. |
cataloger/common
Package common provides generic utilities used by multiple catalogers.
|
Package common provides generic utilities used by multiple catalogers. |
cataloger/deb
Package dpkg provides a concrete Cataloger implementation for Debian package DB status files.
|
Package dpkg provides a concrete Cataloger implementation for Debian package DB status files. |
cataloger/golang
Package golang provides a concrete Cataloger implementation for go.mod files.
|
Package golang provides a concrete Cataloger implementation for go.mod files. |
cataloger/java
Package java provides a concrete Cataloger implementation for Java archives (jar, war, ear, jpi, hpi formats).
|
Package java provides a concrete Cataloger implementation for Java archives (jar, war, ear, jpi, hpi formats). |
cataloger/javascript
Package javascript provides a concrete Cataloger implementation for JavaScript ecosystem files (yarn and npm).
|
Package javascript provides a concrete Cataloger implementation for JavaScript ecosystem files (yarn and npm). |
cataloger/python
Package python provides a concrete Cataloger implementation for Python ecosystem files (egg, wheel, requirements.txt).
|
Package python provides a concrete Cataloger implementation for Python ecosystem files (egg, wheel, requirements.txt). |
cataloger/rpmdb
Package rpmdb provides a concrete Cataloger implementation for RPM "Package" DB files.
|
Package rpmdb provides a concrete Cataloger implementation for RPM "Package" DB files. |
cataloger/ruby
Package bundler provides a concrete Cataloger implementation for Ruby Gemfile.lock bundler files.
|
Package bundler provides a concrete Cataloger implementation for Ruby Gemfile.lock bundler files. |
event
Package event provides event types for all events that the syft library published onto the event bus.
|
Package event provides event types for all events that the syft library published onto the event bus. |
event/parsers
Package parsers provides parser helpers to extract payloads for each event type that the syft library publishes onto the event bus.
|
Package parsers provides parser helpers to extract payloads for each event type that the syft library publishes onto the event bus. |
logger
Defines the logging interface which is used throughout the syft library.
|
Defines the logging interface which is used throughout the syft library. |
pkg
Package pkg provides the data structures for a package, a package catalog, package types, and domain-specific metadata.
|
Package pkg provides the data structures for a package, a package catalog, package types, and domain-specific metadata. |
presenter
Defines a Presenter interface for displaying catalog results to an io.Writer as well as a helper utility to obtain a specific Presenter implementation given user configuration.
|
Defines a Presenter interface for displaying catalog results to an io.Writer as well as a helper utility to obtain a specific Presenter implementation given user configuration. |
presenter/cyclonedx
Package cyclonedx is responsible for generating a CycloneDX XML report for the given container image or file system.
|
Package cyclonedx is responsible for generating a CycloneDX XML report for the given container image or file system. |
scope
Package scope provides an abstraction to allow a user to loosely define a data source to catalog and expose a common interface that catalogers and use explore and analyze data from the data source.
|
Package scope provides an abstraction to allow a user to loosely define a data source to catalog and expose a common interface that catalogers and use explore and analyze data from the data source. |
scope/resolvers
Package resolvers provides concrete implementations for the scope.Resolver interface for all supported data sources and scope options.
|
Package resolvers provides concrete implementations for the scope.Resolver interface for all supported data sources and scope options. |
Package ui provides all public UI elements intended to be repurposed in other applications.
|
Package ui provides all public UI elements intended to be repurposed in other applications. |
Click to show internal directories.
Click to hide internal directories.