Scanning dependencies with conan audit
¶
The conan audit
commands provide a built-in way to scan your dependencies for known CVEs.
For a step-by-step guide on authentication, usage examples, output formats, and setting up private providers, see Checking package vulnerabilities. In short:
Register at audit.conan.io.
Activate your account via the confirmation email you receive.
Save your token, which is displayed on the page after activation.
Configure Conan to use your token:
conan audit provider auth conancenter --token=<token>
Run a scan:
# Check a specific reference
conan audit list zlib/1.2.13
# Scan the entire dependency graph
conan audit scan . # Path to the conanfile.py/txt
This command also supports using your own JFrog Platform as a private provider for vulnerability scanning. See the Adding private providers section for more details.
Filtering queried packages¶
By default, the conan audit scan
command will query all packages in the dependency graph.
You can filter the packages to be queried based on their context using the --context
option,
which accepts "host"
, or "build"
as values, and when omitted, defaults to quering both contexts.
This allows you to skip checking for CVEs in build requirements, which are not part of the final product and therefore less relevant (but still important!) for vulnerability scanning.
It’s also possible to perform this filter using the conan audit list
command,
by leveraging the packages list filtering from the conan list
command. For example:
# Generate the dependency graph in JSON format
$ conan graph info . --format=json > graph.json
# Create a packages list for the resolved dependency graph, filtering to only contain the `host` context packages
$ conan list --graph=graph.json --graph-context=host --format=json > pkglist.json
# Scan the filtered packages list for vulnerabilities
$ conan audit list --list=pkglist.json
See also
JFrog Academy Conan 2 Essentials: Scanning C++ packages for Vulnerabilities using Conan Audit
For detailed reference documentation on all
conan audit
subcommands and their options, consult the conan audit command reference.Read more in the dedicated blog post.