# Cargo Vet

The `cargo vet` subcommand is a tool to help projects ensure that third-party
Rust dependencies have been audited by a trusted entity. It strives to be
lightweight and easy to integrate.

When run, `cargo vet` matches all of a project's third-party dependencies
against a set of audits performed by the project authors or entities they trust.
If there are any gaps, the tool provides mechanical assistance in performing and
documenting the audit.

The primary reason that people do not ordinarily audit open-source dependencies
is that it is too much work. There are a few key ways that `cargo vet` aims to
reduce developer effort to a manageable level:

* **Sharing**: Public crates are often used by many projects. These projects can
share their findings with each other to avoid duplicating work.

* **Relative Audits**: Different versions of the same crate are often quite similar
to each other. Developers can inspect the difference between two versions, and record
that if the first version was vetted, the second can be considered vetted as well.

* **Deferred Audits**: It is not always practical to achieve full coverage.
Dependencies can be added to a list of exceptions which can be ratcheted down
over time. This makes it trivial to introduce `cargo vet` to a new project and
guard against future vulnerabilities while vetting the pre-existing code
gradually as time permits.

> **Note**: `cargo vet` is under active development. If you're interested in
> deploying it, [get in touch](mailto:bholley@mozilla.com).

