Audits of your project's dependencies performed by you or your teammates are recorded in audits.toml
. Note that these dependencies may have their own audits.toml
files if they also happen to use cargo vet
, but these have no effect on your project unless you explicitly import them in config.toml
.
audits.toml
Listing a crate in audits.toml
means that the you've inspected it and determined that it meets the specified criteria.
Each crate can have one or more audit entries, which support various fields. Specifying a version
means that the owner has audited that version in its entirety. Specifying a delta
means that the owner has audited the diff between the two versions, and determined that the changes preserve the relevant properties.
If, in the course of your auditing, you find a crate that does not meet the criteria, you can note this as well with violation
.
A sample audits.toml
looks like this:
[criteria] ... [[audits.bar]] version = "1.2.3" who = "Alice Foo <[email protected]>" criteria = "safe-to-deploy" [[audits.bar]] delta = "1.2.3 -> 1.2.4" who = "Bob Bar <[email protected]>"" criteria = "safe-to-deploy" [[audits.bar]] version = "2.1.3" who = "Alice Foo <[email protected]>" criteria = "safe-to-deploy" [[audits.bar]] delta = "2.1.3 -> 2.1.1" who = "Alice Foo <[email protected]>" criteria = "safe-to-deploy" [[audits.baz]] version = "0.2" who = "Alice Foo <[email protected]>" criteria = "safe-to-run" [[audits.foo]] version = "0.2.1 -> 0.3.1" who = "Bob Bar <[email protected]>"" criteria = "safe-to-deploy" [[audits.malicious_crate]] violation = "*" who = "Bob Bar <[email protected]>"" criteria = "safe-to-run" [[audits.partially_vulnerable_crate]] violation = ">=2.0, <2.3" who = "Bob Bar <[email protected]>"" criteria = "safe-to-deploy"
Exactly one of version
, delta
, or violation
must be specified for each entry.
The expectation is that this file should never be pruned unless a previously-recorded entry is determined to have been erroneous. Even if the owner no longer uses the specified crates, the audit records can still prove useful to others in the ecosystem.
exemptions
table in config.toml
This table enumerates the dependencies that have not been audited, but which the project is nonetheless using. The structure is generally the same as the audits
table, with a few differences.