Supported operating systems
A high-level summary of which OS’s are supported
Capabilities describe the cross-cutting features available across Anchore’s tools:
These capabilities are ecosystem-specific. For example, Python’s capabilities differ from Go’s, and Ubuntu’s capabilities differ from Alpine’s.
Default capabilities do not require to be online or have special configuration (other than having a vulnerability DB downloaded). Some capabilities may be conditionally supported, requiring additional configuration or online access to function.
This page explains how to interpret the capabilities tables found on each ecosystem-specific capability pages.
There are separate overviews of supported pacakge ecosystems as well as supported Operating Systems.
Vulnerability data source qualities vary in the information they provide and how to interpret them correctly.
In terms of disclosures and fixes, each data source can be described along the following dimensions:
Independent Disclosure: Whether the advisory discloses the vulnerability regardless of fix availability. Sources with this capability report vulnerabilities even when no fix is available yet.
Disclosure Date: Whether the data source provides the date when a vulnerability was first publicly disclosed. This helps you understand the timeline of vulnerability exposure.
Fix Versions: Whether the data source specifies which package versions contain fixes for a vulnerability. This allows Grype to determine if an installed package version is vulnerable or fixed.
Fix Date: Whether the advisory includes a date when the fix was made available. This helps you understand the timeline of vulnerability remediation.
Some ecosystems have parent packages where the source code for the current package is maintained.
For example, the libcrypto for debian is part of the larger openssl package (where openssl is denoted as the origin package).
The same is true for redhat-based packages, except the parent package is denoted as the srcrpm package.
Ecosystems like this have vulnerabilities are often disclosed and fixed at the parent package level (origin and srcrpm).
More critically, the parent packages are often not installed on the system, making it impossible to directly detect vulnerabilities against them.
There tends to be package metadata on the downstream package that denotes the parent package name and version, which Syft can extract during package analysis.
We describe Syft’s ability to capture dependency information in the following dimentions:
Depth: How far into the true dependency graph we are able to discover package nodes.
direct: only captures dependencies explicitly declared by the project, but not necessarily dependencies of those dependencies
transitive: all possible depths of dependencies are captured
Edges: Whether we are able to capture relationships between packages, and if so, describe the topology of those relationships.
flat: we can capture the root package relative to all other dependencies, but are unaware of relationships between dependencies (a simple star topology, where all dependencies point to the root package)
complete: all possible relationships between packages are captured (the full dependency graph)
Kinds: The types of dependencies we are able to capture.
runtime: dependencies required for the package to function at runtime
dev: dependencies required for development
Indicates whether Syft can detect and catalog license information from package metadata. When supported, Syft extracts license declarations from package manifests, metadata files, or installed package databases.
Syft can extract various package manager metadata beyond basic package information:
Files: Whether Syft can catalog the list of files that are part of a package installation. This provides visibility into all files installed by the package manager.
Digests: Whether Syft can capture file checksums (digests/hashes) for individual files within a package. This enables integrity verification of installed files. Note: this is not necessarily the actual hash of the file, but instead the claims made by the package manager about those files. We capture actual file hashes in the files section of the SBOM.
Integrity Hash: Whether Syft can capture a single package-level integrity hash used by package managers to verify the package archive itself (for example, the https://go.dev/ref/mod#go-sum-files for go packages).
A high-level summary of which OS’s are supported
A high-level summary of all package detection capabilities across ecosystems
ALPM package format used by Arch-based Linux distributions
AI model analysis and vulnerability scanning capabilities
APK package format analysis and vulnerability scanning capabilities
Binary package analysis and vulnerability scanning capabilities
Bitnami package analysis and vulnerability scanning capabilities
Conda package analysis and vulnerability scanning capabilities
C/C++ package analysis and vulnerability scanning capabilities
Dart package analysis and vulnerability scanning capabilities
Debian package format used by Debian-based Linux distributions
.NET package analysis and vulnerability scanning capabilities
Elixir package analysis and vulnerability scanning capabilities
Erlang package analysis and vulnerability scanning capabilities
GitHub Actions package analysis and vulnerability scanning capabilities
Go package analysis and vulnerability scanning capabilities
Haskell package analysis and vulnerability scanning capabilities
Homebrew package analysis and vulnerability scanning capabilities
Java package analysis and vulnerability scanning capabilities
JavaScript package analysis and vulnerability scanning capabilities
Linux kernel archive and module analysis and vulnerability scanning capabilities
Lua package analysis and vulnerability scanning capabilities
Nix package analysis and vulnerability scanning capabilities
OCaml package analysis and vulnerability scanning capabilities
PHP package analysis and vulnerability scanning capabilities
Portage package format used by Gentoo-based Linux distributions
Prolog package analysis and vulnerability scanning capabilities
Python package analysis and vulnerability scanning capabilities
R package analysis and vulnerability scanning capabilities
Red Hat Package Manager format used by Red Hat-based Linux distributions
Ruby package analysis and vulnerability scanning capabilities
Rust package analysis and vulnerability scanning capabilities
SBOM package analysis and vulnerability scanning capabilities
Snap package analysis and vulnerability scanning capabilities
Swift package analysis and vulnerability scanning capabilities
Terraform package analysis and vulnerability scanning capabilities
Wordpress package analysis and vulnerability scanning capabilities