mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-24 05:11:16 +00:00
692d5b49d3
Differential Revision: https://phabricator.services.mozilla.com/D172150
374 lines
12 KiB
Plaintext
374 lines
12 KiB
Plaintext
|
|
# cargo-vet imports lock
|
|
|
|
[[publisher.bhttp]]
|
|
version = "0.3.1"
|
|
when = "2023-02-23"
|
|
user-id = 128763
|
|
user-login = "martinthomson"
|
|
user-name = "Martin Thomson"
|
|
|
|
[[publisher.glean]]
|
|
version = "52.3.0"
|
|
when = "2023-02-23"
|
|
user-id = 48
|
|
user-login = "badboy"
|
|
user-name = "Jan-Erik Rediger"
|
|
|
|
[[publisher.glean-core]]
|
|
version = "52.3.0"
|
|
when = "2023-02-23"
|
|
user-id = 48
|
|
user-login = "badboy"
|
|
user-name = "Jan-Erik Rediger"
|
|
|
|
[[publisher.ohttp]]
|
|
version = "0.3.1"
|
|
when = "2023-02-23"
|
|
user-id = 128763
|
|
user-login = "martinthomson"
|
|
user-name = "Martin Thomson"
|
|
|
|
[[audits.bytecode-alliance.audits.arbitrary]]
|
|
who = "Nick Fitzgerald <fitzgen@gmail.com>"
|
|
criteria = "safe-to-deploy"
|
|
version = "1.1.0"
|
|
notes = "I am the author of this crate."
|
|
|
|
[[audits.bytecode-alliance.audits.arrayref]]
|
|
who = "Nick Fitzgerald <fitzgen@gmail.com>"
|
|
criteria = "safe-to-deploy"
|
|
version = "0.3.6"
|
|
notes = """
|
|
Unsafe code, but its logic looks good to me. Necessary given what it is
|
|
doing. Well tested, has quickchecks.
|
|
"""
|
|
|
|
[[audits.bytecode-alliance.audits.arrayvec]]
|
|
who = "Nick Fitzgerald <fitzgen@gmail.com>"
|
|
criteria = "safe-to-deploy"
|
|
version = "0.7.2"
|
|
notes = """
|
|
Well documented invariants, good assertions for those invariants in unsafe code,
|
|
and tested with MIRI to boot. LGTM.
|
|
"""
|
|
|
|
[[audits.bytecode-alliance.audits.atty]]
|
|
who = "Alex Crichton <alex@alexcrichton.com>"
|
|
criteria = "safe-to-deploy"
|
|
version = "0.2.14"
|
|
notes = """
|
|
Contains only unsafe code for what this crate's purpose is and only accesses
|
|
the environment's terminal information when asked. Does its stated purpose and
|
|
no more.
|
|
"""
|
|
|
|
[[audits.bytecode-alliance.audits.block-buffer]]
|
|
who = "Benjamin Bouvier <public@benj.me>"
|
|
criteria = "safe-to-deploy"
|
|
delta = "0.9.0 -> 0.10.2"
|
|
|
|
[[audits.bytecode-alliance.audits.bumpalo]]
|
|
who = "Nick Fitzgerald <fitzgen@gmail.com>"
|
|
criteria = "safe-to-deploy"
|
|
version = "3.11.1"
|
|
notes = "I am the author of this crate."
|
|
|
|
[[audits.bytecode-alliance.audits.cc]]
|
|
who = "Alex Crichton <alex@alexcrichton.com>"
|
|
criteria = "safe-to-deploy"
|
|
version = "1.0.73"
|
|
notes = "I am the author of this crate."
|
|
|
|
[[audits.bytecode-alliance.audits.cfg-if]]
|
|
who = "Alex Crichton <alex@alexcrichton.com>"
|
|
criteria = "safe-to-deploy"
|
|
version = "1.0.0"
|
|
notes = "I am the author of this crate."
|
|
|
|
[[audits.bytecode-alliance.audits.codespan-reporting]]
|
|
who = "Jamey Sharp <jsharp@fastly.com>"
|
|
criteria = "safe-to-deploy"
|
|
version = "0.11.1"
|
|
notes = "This library uses `forbid(unsafe_code)` and has no filesystem or network I/O."
|
|
|
|
[[audits.bytecode-alliance.audits.crypto-common]]
|
|
who = "Benjamin Bouvier <public@benj.me>"
|
|
criteria = "safe-to-deploy"
|
|
version = "0.1.3"
|
|
|
|
[[audits.bytecode-alliance.audits.derive_arbitrary]]
|
|
who = "Nick Fitzgerald <fitzgen@gmail.com>"
|
|
criteria = "safe-to-deploy"
|
|
version = "1.1.0"
|
|
notes = "I am the author of this crate."
|
|
|
|
[[audits.bytecode-alliance.audits.form_urlencoded]]
|
|
who = "Alex Crichton <alex@alexcrichton.com>"
|
|
criteria = "safe-to-deploy"
|
|
version = "1.1.0"
|
|
notes = """
|
|
This is a small crate for working with url-encoded forms which doesn't have any
|
|
more than what it says on the tin. Contains one `unsafe` block related to
|
|
performance around utf-8 validation which is fairly easy to verify as correct.
|
|
"""
|
|
|
|
[[audits.bytecode-alliance.audits.heck]]
|
|
who = "Alex Crichton <alex@alexcrichton.com>"
|
|
criteria = "safe-to-deploy"
|
|
version = "0.4.0"
|
|
notes = "Contains `forbid_unsafe` and only uses `std::fmt` from the standard library. Otherwise only contains string manipulation."
|
|
|
|
[[audits.bytecode-alliance.audits.id-arena]]
|
|
who = "Nick Fitzgerald <fitzgen@gmail.com>"
|
|
criteria = "safe-to-deploy"
|
|
version = "2.2.1"
|
|
notes = "I am the author of this crate."
|
|
|
|
[[audits.bytecode-alliance.audits.leb128]]
|
|
who = "Nick Fitzgerald <fitzgen@gmail.com>"
|
|
criteria = "safe-to-deploy"
|
|
version = "0.2.5"
|
|
notes = "I am the author of this crate."
|
|
|
|
[[audits.bytecode-alliance.audits.percent-encoding]]
|
|
who = "Alex Crichton <alex@alexcrichton.com>"
|
|
criteria = "safe-to-deploy"
|
|
version = "2.2.0"
|
|
notes = """
|
|
This crate is a single-file crate that does what it says on the tin. There are
|
|
a few `unsafe` blocks related to utf-8 validation which are locally verifiable
|
|
as correct and otherwise this crate is good to go.
|
|
"""
|
|
|
|
[[audits.bytecode-alliance.audits.rustc-demangle]]
|
|
who = "Alex Crichton <alex@alexcrichton.com>"
|
|
criteria = "safe-to-deploy"
|
|
version = "0.1.21"
|
|
notes = "I am the author of this crate."
|
|
|
|
[[audits.bytecode-alliance.audits.unicase]]
|
|
who = "Alex Crichton <alex@alexcrichton.com>"
|
|
criteria = "safe-to-deploy"
|
|
version = "2.6.0"
|
|
notes = """
|
|
This crate contains no `unsafe` code and no unnecessary use of the standard
|
|
library.
|
|
"""
|
|
|
|
[[audits.bytecode-alliance.audits.unicode-bidi]]
|
|
who = "Alex Crichton <alex@alexcrichton.com>"
|
|
criteria = "safe-to-deploy"
|
|
version = "0.3.8"
|
|
notes = """
|
|
This crate has no unsafe code and does not use `std::*`. Skimming the crate it
|
|
does not attempt to out of the bounds of what it's already supposed to be doing.
|
|
"""
|
|
|
|
[[audits.bytecode-alliance.audits.unicode-normalization]]
|
|
who = "Alex Crichton <alex@alexcrichton.com>"
|
|
criteria = "safe-to-deploy"
|
|
version = "0.1.19"
|
|
notes = """
|
|
This crate contains one usage of `unsafe` which I have manually checked to see
|
|
it as correct. This crate's size comes in large part due to the generated
|
|
unicode tables that it contains. This crate is additionally widely used
|
|
throughout the ecosystem and skimming the crate shows no usage of `std::*` APIs
|
|
and nothing suspicious.
|
|
"""
|
|
|
|
[[audits.bytecode-alliance.audits.wasm-encoder]]
|
|
who = "Alex Crichton <alex@alexcrichton.com>"
|
|
criteria = "safe-to-deploy"
|
|
version = "0.23.0"
|
|
notes = "The Bytecode Alliance is the author of this crate."
|
|
|
|
[[audits.bytecode-alliance.audits.wasm-smith]]
|
|
who = "Alex Crichton <alex@alexcrichton.com>"
|
|
criteria = "safe-to-run"
|
|
version = "0.12.2"
|
|
notes = "The Bytecode Alliance is the author of this crate."
|
|
|
|
[[audits.bytecode-alliance.audits.wasmparser]]
|
|
who = "Alex Crichton <alex@alexcrichton.com>"
|
|
criteria = "safe-to-deploy"
|
|
version = "0.100.0"
|
|
notes = "The Bytecode Alliance is the author of this crate."
|
|
|
|
[[audits.bytecode-alliance.audits.wast]]
|
|
who = "Alex Crichton <alex@alexcrichton.com>"
|
|
criteria = "safe-to-deploy"
|
|
version = "53.0.0"
|
|
notes = "The Bytecode Alliance is the author of this crate."
|
|
|
|
[audits.chromeos.criteria.crypto-safe]
|
|
description = """
|
|
All crypto algorithms in this crate have been reviewed by a relevant expert.
|
|
|
|
**Note**: If a crate does not implement crypto, use `does-not-implement-crypto`,
|
|
which implies `crypto-safe`, but does not require expert review in order to
|
|
audit for."""
|
|
|
|
[audits.chromeos.criteria.does-not-implement-crypto]
|
|
description = """
|
|
Inspection reveals that the crate in question does not attempt to implement any
|
|
cryptographic algorithms on its own.
|
|
|
|
Note that certification of this does not require an expert on all forms of
|
|
cryptography: it's expected for crates we import to be \"good enough\" citizens,
|
|
so they'll at least be forthcoming if they try to implement something
|
|
cryptographic. When in doubt, please ask an expert."""
|
|
implies = "crypto-safe"
|
|
|
|
[audits.chromeos.criteria.rule-of-two-safe-to-deploy]
|
|
description = """
|
|
This is a stronger requirement than the built-in safe-to-deploy criteria,
|
|
motivated by Chromium's rule-of-two related requirements:
|
|
https://chromium.googlesource.com/chromium/src/+/master/docs/security/rule-of-2.md#unsafe-code-in-safe-languages
|
|
|
|
This crate will not introduce a serious security vulnerability to production
|
|
software exposed to untrusted input.
|
|
|
|
Auditors are not required to perform a full logic review of the entire crate.
|
|
Rather, they must review enough to fully reason about the behavior of all unsafe
|
|
blocks and usage of powerful imports. For any reasonable usage of the crate in
|
|
real-world software, an attacker must not be able to manipulate the runtime
|
|
behavior of these sections in an exploitable or surprising way.
|
|
|
|
Ideally, ambient capabilities (e.g. filesystem access) are hardened against
|
|
manipulation and consistent with the advertised behavior of the crate. However,
|
|
some discretion is permitted. In such cases, the nature of the discretion should
|
|
be recorded in the `notes` field of the audit record.
|
|
|
|
Any unsafe code in this crate must, in general, be kept well-contained, and
|
|
documentation must exist to describe how Rust's invariants are being upheld
|
|
despite the unsafe block(s). Nontrivial uses of unsafe must be reviewed by an
|
|
expert in Rust's unsafety guarantees/non-guarantees.
|
|
|
|
For crates which generate deployed code (e.g. build dependencies or procedural
|
|
macros), reasonable usage of the crate should output code which meets the above
|
|
criteria."""
|
|
implies = "safe-to-deploy"
|
|
|
|
[[audits.chromeos.audits.fastrand]]
|
|
who = "George Burgess IV <gbiv@google.com>"
|
|
criteria = ["does-not-implement-crypto", "rule-of-two-safe-to-deploy"]
|
|
version = "1.9.0"
|
|
notes = """
|
|
`does-not-implement-crypto` is certified because this crate explicitly says
|
|
that the RNG here is not cryptographically secure.
|
|
"""
|
|
|
|
[[audits.chromeos.audits.h2]]
|
|
who = "ChromeOS"
|
|
criteria = "safe-to-run"
|
|
version = "0.3.14"
|
|
|
|
[[audits.chromeos.audits.http]]
|
|
who = "ChromeOS"
|
|
criteria = "safe-to-run"
|
|
version = "0.2.8"
|
|
|
|
[[audits.chromeos.audits.http-body]]
|
|
who = "ChromeOS"
|
|
criteria = "safe-to-run"
|
|
version = "0.4.5"
|
|
|
|
[[audits.chromeos.audits.httpdate]]
|
|
who = "ChromeOS"
|
|
criteria = "safe-to-run"
|
|
version = "1.0.2"
|
|
|
|
[[audits.chromeos.audits.hyper]]
|
|
who = "ChromeOS"
|
|
criteria = "safe-to-run"
|
|
version = "0.14.20"
|
|
|
|
[[audits.chromeos.audits.pin-project]]
|
|
who = "ChromeOS"
|
|
criteria = "safe-to-run"
|
|
version = "1.0.12"
|
|
|
|
[[audits.chromeos.audits.pin-project-internal]]
|
|
who = "ChromeOS"
|
|
criteria = "safe-to-run"
|
|
version = "1.0.12"
|
|
|
|
[[audits.chromeos.audits.serde_urlencoded]]
|
|
who = "ChromeOS"
|
|
criteria = "safe-to-run"
|
|
version = "0.7.1"
|
|
|
|
[[audits.chromeos.audits.tower-service]]
|
|
who = "ChromeOS"
|
|
criteria = "safe-to-run"
|
|
version = "0.3.2"
|
|
|
|
[[audits.chromeos.audits.tracing]]
|
|
who = "ChromeOS"
|
|
criteria = "safe-to-run"
|
|
version = "0.1.35"
|
|
|
|
[[audits.chromeos.audits.tracing-attributes]]
|
|
who = "ChromeOS"
|
|
criteria = "safe-to-run"
|
|
version = "0.1.22"
|
|
|
|
[[audits.chromeos.audits.tracing-core]]
|
|
who = "ChromeOS"
|
|
criteria = "safe-to-run"
|
|
version = "0.1.29"
|
|
|
|
[[audits.chromeos.audits.try-lock]]
|
|
who = "ChromeOS"
|
|
criteria = "safe-to-run"
|
|
version = "0.2.3"
|
|
|
|
[[audits.chromeos.audits.want]]
|
|
who = "ChromeOS"
|
|
criteria = "safe-to-run"
|
|
version = "0.3.0"
|
|
|
|
[[audits.embark-studios.audits.anyhow]]
|
|
who = "Johan Andersson <opensource@embark-studios.com>"
|
|
criteria = "safe-to-deploy"
|
|
version = "1.0.58"
|
|
|
|
[[audits.embark-studios.audits.cty]]
|
|
who = "Johan Andersson <opensource@embark-studios.com>"
|
|
criteria = "safe-to-deploy"
|
|
version = "0.2.2"
|
|
notes = "Inspected it and is a tiny crate with just type definitions"
|
|
|
|
[[audits.embark-studios.audits.serial_test]]
|
|
who = "Johan Andersson <opensource@embark-studios.com>"
|
|
criteria = "safe-to-run"
|
|
version = "0.6.0"
|
|
|
|
[[audits.embark-studios.audits.serial_test_derive]]
|
|
who = "Johan Andersson <opensource@embark-studios.com>"
|
|
criteria = "safe-to-run"
|
|
version = "0.6.0"
|
|
|
|
[[audits.isrg.audits.block-buffer]]
|
|
who = "David Cook <dcook@divviup.org>"
|
|
criteria = "safe-to-deploy"
|
|
version = "0.9.0"
|
|
|
|
[[audits.mozilla.audits.either]]
|
|
who = "Nika Layzell <nika@thelayzells.com>"
|
|
criteria = "safe-to-deploy"
|
|
version = "1.6.1"
|
|
notes = """
|
|
Straightforward crate providing the Either enum and trait implementations with
|
|
no unsafe code.
|
|
"""
|
|
aggregated-from = "https://raw.githubusercontent.com/mozilla/cargo-vet/main/supply-chain/audits.toml"
|
|
|
|
[[audits.mozilla.audits.lazy_static]]
|
|
who = "Nika Layzell <nika@thelayzells.com>"
|
|
criteria = "safe-to-deploy"
|
|
version = "1.4.0"
|
|
notes = "I have read over the macros, and audited the unsafe code."
|
|
aggregated-from = "https://raw.githubusercontent.com/mozilla/cargo-vet/main/supply-chain/audits.toml"
|