| |
| # cargo-vet audits file |
| |
| [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.""" |
| |
| [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" |
| |
| [criteria.ub-risk-0] |
| description = """ |
| No unsafe code. |
| |
| Full description of the audit criteria can be found at |
| https://github.com/google/rust-crate-audits/blob/main/auditing_standards.md#ub-risk-0 |
| """ |
| implies = "ub-risk-1" |
| |
| [criteria.ub-risk-1] |
| description = """ |
| Excellent soundness. |
| |
| Full description of the audit criteria can be found at |
| https://github.com/google/rust-crate-audits/blob/main/auditing_standards.md#ub-risk-1 |
| """ |
| implies = "ub-risk-2" |
| |
| [criteria.ub-risk-2] |
| description = """ |
| Negligible unsoundness or average soundness. |
| |
| Full description of the audit criteria can be found at |
| https://github.com/google/rust-crate-audits/blob/main/auditing_standards.md#ub-risk-2 |
| """ |
| implies = "ub-risk-3" |
| |
| [criteria.ub-risk-3] |
| description = """ |
| Mild unsoundness or suboptimal soundness. |
| |
| Full description of the audit criteria can be found at |
| https://github.com/google/rust-crate-audits/blob/main/auditing_standards.md#ub-risk-3 |
| """ |
| implies = "ub-risk-4" |
| |
| [criteria.ub-risk-4] |
| description = """ |
| Extreme unsoundness. |
| |
| Full description of the audit criteria can be found at |
| https://github.com/google/rust-crate-audits/blob/main/auditing_standards.md#ub-risk-4 |
| """ |
| |
| [[audits.adler]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "1.0.2" |
| notes = ''' |
| Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'`, `'\bnet\b'`, `'\bunsafe\b'` |
| and there were no hits (except in comments and in the `README.md` file). |
| |
| Note that some additional, internal notes about an older version of this crate |
| can be found at go/image-crate-chromium-security-review. |
| ''' |
| |
| [[audits.adler2]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "2.0.0" |
| notes = ''' |
| This audit has been reviewed in https://crrev.com/c/5811890 |
| |
| The crate is fairly easy to read thanks to its small size and rich comments. |
| |
| I've grepped for `-i cipher`, `-i crypto`, `\bfs\b`, `\bnet\b`, and |
| `\bunsafe\b`. There were no hits (except for a comment in `README.md` |
| and `lib.rs` pointing out "Zero `unsafe`"). |
| ''' |
| |
| [[audits.aho-corasick]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "1.1.2" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.aho-corasick]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.1.2 -> 1.1.3" |
| |
| [[audits.anstyle]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "1.0.4" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.anstyle]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.4 -> 1.0.6" |
| |
| [[audits.anstyle]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.6 -> 1.0.7" |
| |
| [[audits.anstyle]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.7 -> 1.0.8" |
| notes = "Only Cargo.toml changes in the 1.0.7 => 1.0.8 delta." |
| |
| [[audits.anstyle]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.8 -> 1.0.9" |
| notes = "No changes" |
| |
| [[audits.anstyle]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.9 -> 1.0.10" |
| notes = "Minor changes related to `write_str`." |
| |
| [[audits.anyhow]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.75 -> 1.0.79" |
| notes = """ |
| 1.0.75 has been previously audited as \"safe-to-run\", |
| \"does-not-implement-crypto\" - see |
| https://github.com/google/rust-crate-audits/blob/c2d49cb6e80bb817f569debecf846161dcebd88c/audits.toml#L277-L305 |
| The \"1.0.75 -> 1.0.79\" delta meets the same criteria. |
| |
| This is an incremental/delta audit - we don't claim any particular `ub-risk-N` |
| level for the baseline or for the final version. OTOH note that additional |
| uses of `unsafe` have been reviewed in https://crrev.com/c/5178771 and the |
| **delta** was evaluated as `ub-risk-3` - no known unsoundness but: |
| * Little safety comments to explain why a particular usage of `unsafe` |
| is safe and/or necessary |
| * Safety analysis couldn't be done locally, but required considering the |
| whole crate (e.g. checking if the public `Ref.ptr` is mutated anywhere) |
| """ |
| |
| [[audits.anyhow]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.79 -> 1.0.80" |
| |
| [[audits.anyhow]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.80 -> 1.0.81" |
| |
| [[audits.anyhow]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.81 -> 1.0.82" |
| |
| [[audits.anyhow]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.82 -> 1.0.83" |
| notes = "No change to UB-risk profile either." |
| |
| [[audits.anyhow]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.83 -> 1.0.86" |
| notes = "Delta only updates the ensure macro implementation, still safe to run, no crypto" |
| |
| [[audits.anyhow]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.86 -> 1.0.87" |
| notes = "Minimal changes, mostly renaming std to core for a type" |
| |
| [[audits.anyhow]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.87 -> 1.0.89" |
| notes = "No safety-related changes in this delta" |
| |
| [[audits.anyhow]] |
| who = "Liza Burakova <liza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.89 -> 1.0.91" |
| notes = "Minimal changes" |
| |
| [[audits.anyhow]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.91 -> 1.0.93" |
| notes = """ |
| `ensure!` macro tweaks to handle |
| https://github.com/rust-lang/rfcs/blob/master/text/2582-raw-reference-mir-operator.md |
| """ |
| |
| [[audits.anyhow]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.93 -> 1.0.94" |
| notes = "No behavioral changes" |
| |
| [[audits.anyhow]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.94 -> 1.0.95" |
| |
| [[audits.anyhow]] |
| who = "Daniel Cheng <dcheng@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.95 -> 1.0.97" |
| notes = "Only minor changes to comments, tests, and clippy expectations." |
| |
| [[audits.arrayvec]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "0.7.6" |
| notes = ''' |
| Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'`, `'\bnet\b'` and there were |
| no hits, except for some `net` usage in tests. |
| |
| The crate has quite a few bits of `unsafe` Rust. The audit comments can be |
| found in https://chromium-review.googlesource.com/c/chromium/src/+/6187726/2 |
| ''' |
| |
| [[audits.autocfg]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["ub-risk-0", "safe-to-deploy", "does-not-implement-crypto"] |
| version = "1.1.0" |
| notes = """ |
| Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'``, `'\bnet\b'``, `'\bunsafe\b'`` |
| and there were no hits except for reasonable, client-controlled usage of |
| `std::fs` in `AutoCfg::with_dir`. |
| |
| This crate has been added to Chromium in |
| https://source.chromium.org/chromium/chromium/src/+/591a0f30c5eac93b6a3d981c2714ffa4db28dbcb |
| The CL description contains a link to a Google-internal document with audit details. |
| """ |
| |
| [[audits.autocfg]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "1.4.0" |
| notes = "Contains no unsafe" |
| |
| [[audits.autocfg]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.1.0 -> 1.2.0" |
| notes = ''' |
| Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'``, `'\bnet\b'``, `'\bunsafe\b'`` |
| and nothing changed from the baseline audit of 1.1.0. Skimmed through the |
| 1.1.0 => 1.2.0 delta and everything seemed okay. |
| ''' |
| |
| [[audits.autocfg]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.2.0 -> 1.4.0" |
| notes = "Still no `unsafe`." |
| |
| [[audits.base64]] |
| who = "Adam Langley <agl@chromium.org>" |
| criteria = ["ub-risk-0", "safe-to-deploy", "does-not-implement-crypto"] |
| version = "0.13.1" |
| notes = "Skimmed the uses of `std` to ensure that nothing untoward is happening. Code uses `forbid(unsafe_code)` and, indeed, there are no uses of `unsafe`" |
| |
| [[audits.base64]] |
| who = "amarjotgill <amarjotgill@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "0.22.1" |
| |
| [[audits.bitflags]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"] |
| version = "1.3.2" |
| notes = """ |
| Security review of earlier versions of the crate can be found at |
| (Google-internal, sorry): go/image-crate-chromium-security-review |
| |
| The crate exposes a function marked as `unsafe`, but doesn't use any |
| `unsafe` blocks (except for tests of the single `unsafe` function). I |
| think this justifies marking this crate as `ub-risk-1`. |
| |
| Additional review comments can be found at https://crrev.com/c/4723145/31 |
| """ |
| |
| [[audits.bitflags]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"] |
| version = "2.4.2" |
| notes = """ |
| Audit notes: |
| |
| * I've checked for any discussion in Google-internal cl/546819168 (where audit |
| of version 2.3.3 happened) |
| * `src/lib.rs` contains `#![cfg_attr(not(test), forbid(unsafe_code))]` |
| * There are 2 cases of `unsafe` in `src/external.rs` but they seem to be |
| correct in a straightforward way - they just propagate the marker trait's |
| impl (e.g. `impl bytemuck::Pod`) from the inner to the outer type |
| * Additional discussion and/or notes may be found in https://crrev.com/c/5238056 |
| """ |
| |
| [[audits.bitflags]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "2.4.2 -> 2.5.0" |
| |
| [[audits.bitflags]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "2.5.0 -> 2.6.0" |
| notes = "The changes from the previous version are negligible and thus it retains the same properties." |
| |
| [[audits.bitflags]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "2.6.0 -> 2.8.0" |
| notes = "No changes related to `unsafe impl ... bytemuck` pieces from `src/external.rs`." |
| |
| [[audits.bitflags]] |
| who = "Daniel Cheng <dcheng@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "2.8.0 -> 2.9.0" |
| notes = "Adds a straightforward clear() function, but no new unsafe code." |
| |
| [[audits.bstr]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "1.10.0" |
| notes = """ |
| WARNING: This certification is a result of a **partial** audit. The |
| `unicode` feature has **not** been audited. The unicode feature has |
| soundness that depends on the correctness of regex automata that are |
| shipped as binary blobs. They have not been reviewed here.Ability to |
| track partial audits is tracked in |
| https://github.com/mozilla/cargo-vet/issues/380. |
| """ |
| |
| [[audits.bstr]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.10.0 -> 1.11.0" |
| notes = "Changes two unsafe blocks to use core::mem::align_of<usize> instead of core::mem::size_of<usize> which shouldn't differ on mainstream platforms." |
| |
| [[audits.bstr]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.11.0 -> 1.11.1" |
| notes = "This release just excludes Unicode data files from being published to crates.io" |
| |
| [[audits.bstr]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.11.1 -> 1.11.3" |
| notes = "No unsafe changes" |
| |
| [[audits.bytemuck]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = "safe-to-deploy" |
| version = "1.16.3" |
| notes = """ |
| Review notes from the original audit (of 1.14.3) may be found in |
| https://crrev.com/c/5362675. Note that this audit has initially missed UB risk |
| that was fixed in 1.16.2 - see https://github.com/Lokathor/bytemuck/pull/258. |
| Because of this, the original audit has been edited to certify version `1.16.3` |
| instead (see also https://crrev.com/c/5771867). |
| """ |
| |
| [[audits.bytemuck]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["does-not-implement-crypto", "ub-risk-4"] |
| delta = "1.13.1 -> 1.14.3" |
| notes = """ |
| Review notes from the original audit may be found in |
| https://crrev.com/c/5362675. Note that this audit has initially missed UB risk |
| that was fixed in 1.16.2 - see https://github.com/Lokathor/bytemuck/pull/258. |
| Because of this, the original audit has been edited to certify `ub-risk-4` |
| instead. |
| """ |
| |
| [[audits.bytemuck]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.13.1 -> 1.16.3" |
| notes = """ |
| The certification of the 1.13.1 => 1.16.1 delta is based on: |
| |
| * 1.13.1 -> 1.14.3 audit in https://crrev.com/c/5362675. Note that this audit |
| has initially missed UB risk that was fixed in 1.16.2 - see |
| https://github.com/Lokathor/bytemuck/pull/258. |
| * 1.14.3 -> 1.15.0 audit in https://crrev.com/c/5380327 |
| * 1.15.0 -> 1.16.0 audit in https://crrev.com/c/5535688 |
| * 1.16.0 -> 1.16.1 audit in https://crrev.com/c/5650895 |
| |
| When auditing the changes in the 1.16.1 -> 1.16.3 delta it seems that: |
| |
| * The changes correctly account for ZSTs: |
| * Avoiding division-by-zero errors |
| * Avoiding UB in `BoxBytes::drop` |
| * The changes preserve safety gurantees for nearby `unsafe` blocks |
| """ |
| |
| [[audits.bytemuck]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.14.3 -> 1.15.0" |
| |
| [[audits.bytemuck]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.15.0 -> 1.16.0" |
| |
| [[audits.bytemuck]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.16.0 -> 1.16.1" |
| notes = """ |
| The delta only adds `f16` and `f128` support (with some other minor changes) |
| and has no impact on the audit criteria. |
| """ |
| |
| [[audits.bytemuck]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = "ub-risk-3" |
| delta = "1.16.3 -> 1.17.0" |
| notes = """ |
| 1.17.0 may rely on `union` layout that is not guaranteed by the compiler. |
| See https://github.com/Lokathor/bytemuck/pull/268 |
| """ |
| |
| [[audits.bytemuck]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.16.3 -> 1.17.1" |
| notes = "Unsafe review comments can be found in https://crrev.com/c/5813463" |
| |
| [[audits.bytemuck]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.17.1 -> 1.18.0" |
| notes = "No code changes - just altering feature flag arrangements" |
| |
| [[audits.bytemuck]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.18.0 -> 1.19.0" |
| notes = "No code changes - just comment changes and adding the track_caller attribute." |
| |
| [[audits.bytemuck]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.19.0 -> 1.20.0" |
| notes = "`unsafe` review can be found at https://crrev.com/c/6096767" |
| |
| [[audits.bytemuck]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.20.0 -> 1.21.0" |
| notes = "Unsafe review at https://chromium-review.googlesource.com/c/chromium/src/+/6111154/" |
| |
| [[audits.bytemuck]] |
| who = "Daniel Cheng <dcheng@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.21.0 -> 1.22.0" |
| notes = """ |
| This adds new instances of unsafe, but the uses are justified: |
| - BoxBytes is essentially a Box<[u8], which is Send + Sync, so also marking BoxBytes as Send + Sync is justified. |
| - core::num::Saturating<T> meets the criteria for Zeroable + Pod, so marking it as such is justified. |
| |
| See https://crrev.com/c/6321863 for more audit notes. |
| """ |
| |
| [[audits.bytemuck_derive]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "1.6.0" |
| notes = """ |
| Grepped for \"unsafe\", \"crypt\", \"cipher\", \"fs\", \"net\" - there were no |
| hits except for 8 occurrences of `unsafe`. Additional `unsafe` review comments |
| can be found in https://crrev.com/c/5445719. |
| """ |
| |
| [[audits.bytemuck_derive]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.6.0 -> 1.6.1" |
| notes = """ |
| No behavior/code changes AFAICT - only adding |
| `#[allow(clippy::multiple_bound_locations)]`, doc comments, and making |
| some cosmetic changes in non-`.rs` files. |
| """ |
| |
| [[audits.bytemuck_derive]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.6.1 -> 1.7.0" |
| notes = """ |
| Added support for Zeroable enums, which requires them to be represented as an integer and to have 0 as one of their values. |
| |
| Other trivial/formatting changes. |
| """ |
| |
| [[audits.bytemuck_derive]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.7.0 -> 1.7.1" |
| notes = """ |
| No impact on safety AFAICT - the delta only specifies a new attribute for |
| `proc_macro_derive` to work around re-export issues described at |
| https://github.com/Lokathor/bytemuck/issues/159 |
| """ |
| |
| [[audits.bytemuck_derive]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.7.1 -> 1.8.0" |
| notes = "Unsafe review: https://crrev.com/c/5921014" |
| |
| [[audits.bytemuck_derive]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.8.0 -> 1.8.1" |
| notes = "Changes do not impact safety." |
| |
| [[audits.byteorder]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "1.5.0" |
| notes = "Unsafe review in https://crrev.com/c/5838022" |
| |
| [[audits.bytes]] |
| who = "agl@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.4.0 -> 1.5.0" |
| |
| [[audits.bytes]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.5.0 -> 1.6.0" |
| notes = "Update removes some unsafe, and includes verifiable safety comments for newly-added unsafe." |
| |
| [[audits.bytes]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.6.0 -> 1.6.1" |
| notes = "Very minor update, no unsafe changes" |
| |
| [[audits.bytes]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.6.1 -> 1.7.1" |
| notes = "Many changes but they seem to meet the low bar of safe-to-run." |
| |
| [[audits.bytes]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.7.1 -> 1.7.2" |
| |
| [[audits.bytes]] |
| who = "Liza Burakova <liza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.7.2 -> 1.8.0" |
| notes = "smol change, does not add unsafe code, majority of change is new tests" |
| |
| [[audits.bytes]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.8.0 -> 1.9.0" |
| notes = "Reviewed in https://crrev.com/c/6072366." |
| |
| [[audits.bytes]] |
| who = "Liza Burakova <liza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.9.0 -> 1.10.0" |
| notes = """ |
| Reviewed in https://crrev.com/c/6235725. Very large change in buf_impl.rs |
| as well but no unsafe changes there specifically. |
| """ |
| |
| [[audits.calendrical_calculations]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "0.1.2" |
| notes = "Contains no unsafe" |
| |
| [[audits.calendrical_calculations]] |
| who = "Daniel Cheng <dcheng@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.1.2 -> 0.1.3" |
| |
| [[audits.cfg-if]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "1.0.0" |
| notes = ''' |
| I grepped for \"unsafe\", \"crypt\", \"cipher\", \"fs\", \"net\" - there were |
| no hits. This is a really small crate (only `lib.rs` which is less than 200 |
| lines + one end-to-end test) so I also skimmed through the macro's definition |
| and everything looks okay to me. |
| ''' |
| |
| [[audits.clap]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "4.4.8" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.clap]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = "ub-risk-0" |
| version = "4.5.0" |
| notes = "No `unsafe`" |
| |
| [[audits.clap]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "4.5.15" |
| notes = ''' |
| Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'`, `'\bnet\b'`, `'\bunsafe\b'` |
| and there were no hits, except for `std::net::IpAddr` usage in |
| `examples/typed-derive.rs`. |
| ''' |
| |
| [[audits.clap]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "4.4.8 -> 4.4.14" |
| |
| [[audits.clap]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "4.4.14 -> 4.5.0" |
| |
| [[audits.clap]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "4.5.0 -> 4.5.1" |
| |
| [[audits.clap]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "4.5.1 -> 4.5.2" |
| notes = "Reviewed in https://crrev.com/c/5362201" |
| |
| [[audits.clap]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "4.5.2 -> 4.5.3" |
| |
| [[audits.clap]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "4.5.3 -> 4.5.4" |
| notes = "Minimal diff - only module naming/nesting-related changes." |
| |
| [[audits.clap]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "4.5.4 -> 4.5.7" |
| |
| [[audits.clap]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "4.5.7 -> 4.5.8" |
| |
| [[audits.clap]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "4.5.8 -> 4.5.9" |
| |
| [[audits.clap]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "4.5.15 -> 4.5.16" |
| notes = """ |
| The only change in the delta is explicitly listing re-exports |
| instead of using a `*` wildcard in `pub use clap_derive::{self, *}`. |
| """ |
| |
| [[audits.clap]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "4.5.15 -> 4.5.17" |
| notes = "Minor code change and toml changes." |
| |
| [[audits.clap]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "4.5.17 -> 4.5.18" |
| |
| [[audits.clap]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "4.5.18 -> 4.5.20" |
| notes = "Trivial changes" |
| |
| [[audits.clap]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "4.5.20 -> 4.5.21" |
| |
| [[audits.clap]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "4.5.21 -> 4.5.23" |
| |
| [[audits.clap]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "4.5.23 -> 4.5.27" |
| |
| [[audits.clap]] |
| who = "Liza Burakova <liza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "4.5.27 -> 4.5.28" |
| |
| [[audits.clap]] |
| who = "Jonathan Hao <phao@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "4.5.28 -> 4.5.29" |
| notes = "No code changes." |
| |
| [[audits.clap_builder]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "4.4.8" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.clap_builder]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = "ub-risk-0" |
| version = "4.5.0" |
| notes = "No `unsafe`" |
| |
| [[audits.clap_builder]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "4.5.15" |
| notes = ''' |
| Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'`, `'\bnet\b'`, `'\bunsafe\b'` |
| and there were no hits. |
| ''' |
| |
| [[audits.clap_builder]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "4.4.8 -> 4.4.14" |
| |
| [[audits.clap_builder]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "4.4.14 -> 4.5.0" |
| |
| [[audits.clap_builder]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "4.5.0 -> 4.5.1" |
| |
| [[audits.clap_builder]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "4.5.1 -> 4.5.2" |
| notes = "Reviewed in https://crrev.com/c/5362201" |
| |
| [[audits.clap_builder]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "4.5.2 -> 4.5.7" |
| |
| [[audits.clap_builder]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "4.5.7 -> 4.5.8" |
| |
| [[audits.clap_builder]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "4.5.8 -> 4.5.9" |
| |
| [[audits.clap_builder]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "4.5.15 -> 4.5.17" |
| notes = "No new unsafe, net, fs" |
| |
| [[audits.clap_builder]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "4.5.17 -> 4.5.18" |
| |
| [[audits.clap_builder]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "4.5.18 -> 4.5.20" |
| notes = "No new unsafe" |
| |
| [[audits.clap_builder]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "4.5.20 -> 4.5.21" |
| |
| [[audits.clap_builder]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "4.5.21 -> 4.5.23" |
| |
| [[audits.clap_builder]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "4.5.23 -> 4.5.27" |
| |
| [[audits.clap_builder]] |
| who = "Jonathan Hao <phao@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "4.5.27 -> 4.5.29" |
| notes = "Only changed `args_present` method a bit and added a `value` method to `flat_map`." |
| |
| [[audits.clap_lex]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "0.6.0" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.clap_lex]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.6.0 -> 0.7.0" |
| |
| [[audits.clap_lex]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.7.0 -> 0.7.1" |
| |
| [[audits.clap_lex]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.7.1 -> 0.7.2" |
| notes = "No `.rs` changes in the delta." |
| |
| [[audits.clap_lex]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.7.2 -> 0.7.3" |
| |
| [[audits.clap_lex]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.7.3 -> 0.7.4" |
| |
| [[audits.codespan-reporting]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "0.11.1" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.core_maths]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "0.1.1" |
| notes = "Contains no unsafe" |
| |
| [[audits.crc32fast]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "1.4.2" |
| notes = """ |
| Security review of earlier versions of the crate can be found at |
| (Google-internal, sorry): go/image-crate-chromium-security-review |
| |
| Audit comments for 1.4.2 can be found at https://crrev.com/c/4723145. |
| """ |
| |
| [[audits.cxx]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "1.0.110" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.cxx]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = "does-not-implement-crypto" |
| version = "1.0.117" |
| notes = """ |
| Grepped for \"crypt\", \"cipher\" - there were no hits |
| (except for benign hits in `MODULE.bazel.lock`) |
| """ |
| |
| [[audits.cxx]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = "does-not-implement-crypto" |
| version = "1.0.122" |
| notes = """ |
| safe-to-deploy and ub-risk-2 are provided by exemption. |
| """ |
| |
| [[audits.cxx]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = "does-not-implement-crypto" |
| delta = "1.0.117 -> 1.0.119" |
| notes = "Reviewed in https://crrev.com/c/5362739" |
| |
| [[audits.cxx]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = "does-not-implement-crypto" |
| delta = "1.0.119 -> 1.0.120" |
| notes = "Reviewed in https://chromium-review.googlesource.com/c/chromium/src/+/5392544." |
| |
| [[audits.cxx]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = "does-not-implement-crypto" |
| delta = "1.0.120 -> 1.0.121" |
| |
| [[audits.cxx]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = "does-not-implement-crypto" |
| delta = "1.0.122 -> 1.0.123" |
| notes = "safe-to-deploy and ub-risk-2 are provided by exemption" |
| |
| [[audits.cxx]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = "does-not-implement-crypto" |
| delta = "1.0.123 -> 1.0.124" |
| |
| [[audits.cxx]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = "does-not-implement-crypto" |
| delta = "1.0.124 -> 1.0.126" |
| |
| [[audits.cxx]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = "does-not-implement-crypto" |
| delta = "1.0.129 -> 1.0.130" |
| |
| [[audits.cxxbridge]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "1.0.110" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.cxxbridge-cmd]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "1.0.110" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.cxxbridge-cmd]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.110 -> 1.0.115" |
| |
| [[audits.cxxbridge-cmd]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.115 -> 1.0.116" |
| |
| [[audits.cxxbridge-cmd]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.116 -> 1.0.117" |
| |
| [[audits.cxxbridge-cmd]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.117 -> 1.0.118" |
| |
| [[audits.cxxbridge-cmd]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.118 -> 1.0.119" |
| notes = "Reviewed in https://crrev.com/c/5362136" |
| |
| [[audits.cxxbridge-cmd]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.119 -> 1.0.120" |
| notes = "Version bump only." |
| |
| [[audits.cxxbridge-cmd]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.120 -> 1.0.121" |
| |
| [[audits.cxxbridge-cmd]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.121 -> 1.0.122" |
| |
| [[audits.cxxbridge-cmd]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.122 -> 1.0.123" |
| |
| [[audits.cxxbridge-cmd]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.123 -> 1.0.124" |
| notes = "No changes except to dependencies" |
| |
| [[audits.cxxbridge-cmd]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.124 -> 1.0.126" |
| notes = """ |
| Only minor changes: |
| |
| * Using `let Some(foo) = ... else { ... }` pattern in a few places. |
| * Exposing an extra constructor for `rust::Slice`. |
| """ |
| |
| [[audits.cxxbridge-cmd]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.126 -> 1.0.128" |
| |
| [[audits.cxxbridge-cmd]] |
| who = "Liza Burakova <liza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.128 -> 1.0.129" |
| |
| [[audits.cxxbridge-cmd]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.129 -> 1.0.130" |
| |
| [[audits.cxxbridge-cmd]] |
| who = "Liza Burakova <liza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.130 -> 1.0.131" |
| |
| [[audits.cxxbridge-cmd]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.131 -> 1.0.134" |
| notes = "No code changes in the delta." |
| |
| [[audits.cxxbridge-cmd]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.134 -> 1.0.135" |
| notes = """ |
| Minimal change in `syntax/parse.rs` |
| (coming from my https://github.com/dtolnay/cxx/pull/1414) |
| """ |
| |
| [[audits.cxxbridge-cmd]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.135 -> 1.0.136" |
| |
| [[audits.cxxbridge-cmd]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.136 -> 1.0.137" |
| notes = "The delta just removes some clippy opt-outs." |
| |
| [[audits.cxxbridge-cmd]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.137 -> 1.0.140" |
| |
| [[audits.cxxbridge-cmd]] |
| who = "Takuto Ikuta <tikuta@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.140 -> 1.0.141" |
| |
| [[audits.cxxbridge-flags]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "1.0.110" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.cxxbridge-flags]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "1.0.122" |
| notes = "no grep hits for cipher, crypto, fs, net, or unsafe" |
| |
| [[audits.cxxbridge-flags]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.122 -> 1.0.123" |
| |
| [[audits.cxxbridge-flags]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.123 -> 1.0.124" |
| notes = "No changes in this delta" |
| |
| [[audits.cxxbridge-flags]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.124 -> 1.0.126" |
| notes = "No changes in this delta" |
| |
| [[audits.cxxbridge-flags]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.126 -> 1.0.128" |
| |
| [[audits.cxxbridge-flags]] |
| who = "Liza Burakova <liza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.128 -> 1.0.129" |
| |
| [[audits.cxxbridge-flags]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.129 -> 1.0.130" |
| |
| [[audits.cxxbridge-flags]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.130 -> 1.0.131" |
| notes = "no grep hits for cipher, crypto, fs, net, or unsafe" |
| |
| [[audits.cxxbridge-flags]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.131 -> 1.0.135" |
| notes = "No code changes in the delta" |
| |
| [[audits.cxxbridge-flags]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.135 -> 1.0.136" |
| |
| [[audits.cxxbridge-flags]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.136 -> 1.0.137" |
| notes = "The delta just removes `#![allow(clippy::let_and_return)]` from `lib.rs`." |
| |
| [[audits.cxxbridge-flags]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.137 -> 1.0.140" |
| |
| [[audits.cxxbridge-flags]] |
| who = "Takuto Ikuta <tikuta@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.140 -> 1.0.141" |
| |
| [[audits.cxxbridge-macro]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = "does-not-implement-crypto" |
| version = "1.0.122" |
| notes = """ |
| no grep hits for cipher, crypto. |
| |
| safe-to-deploy and ub-risk-2 are provided by exemption. |
| """ |
| |
| [[audits.cxxbridge-macro]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = "does-not-implement-crypto" |
| delta = "1.0.122 -> 1.0.123" |
| |
| [[audits.cxxbridge-macro]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = "does-not-implement-crypto" |
| delta = "1.0.123 -> 1.0.124" |
| |
| [[audits.cxxbridge-macro]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = "does-not-implement-crypto" |
| delta = "1.0.124 -> 1.0.126" |
| |
| [[audits.cxxbridge-macro]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = "does-not-implement-crypto" |
| delta = "1.0.129 -> 1.0.130" |
| |
| [[audits.data-encoding]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = "ub-risk-3" |
| version = "2.7.0" |
| notes = """ |
| https://github.com/ia0/data-encoding/issues/75 was partially addressed via |
| `#[doc(hidden)]` added in https://github.com/ia0/data-encoding/pull/76, but the |
| original repro from issue #75 can still trigger Undefined Behavior through |
| public APIs exposed by the `data-encoding` crate (without using `unsafe`, and |
| without using APIs named something like `internal_field_do_not_use`). |
| |
| Additionally, the discussion in |
| https://github.com/ia0/data-encoding/issues/124 leans toward `unsafe` |
| encapsulation at a crate level, requiring crate-**global** reasoning to |
| prove soundness of public crate APIs. Specifically, the crate currently |
| has a internal function that can cause Undefined Behavior if the caller |
| doesn't uphold certain (implied, not explicitly documented) safety |
| requirements. The fact that such function is not marked as `unsafe` |
| effectively means that safety audit can't terminate and use **local** |
| reasoning near `unsafe` expression boundaries. |
| """ |
| |
| [[audits.diplomat]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "0.9.0" |
| notes = "Unsafe code pertaining to defining FFI interfaces" |
| |
| [[audits.diplomat-runtime]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "0.9.0" |
| notes = "Unsafe code pertaining to defining FFI-compatible types, with safety comments." |
| |
| [[audits.diplomat_core]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "0.9.0" |
| notes = "No unsafe code" |
| |
| [[audits.displaydoc]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "0.2.5" |
| notes = "No unsafe code" |
| |
| [[audits.either]] |
| who = "agl@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "1.9.0" |
| |
| [[audits.either]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"] |
| version = "1.13.0" |
| notes = "Unsafe code pertaining to wrapping Pin APIs. Mostly passes invariants down." |
| |
| [[audits.either]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.9.0 -> 1.10.0" |
| |
| [[audits.either]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.10.0 -> 1.11.0" |
| |
| [[audits.either]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.11.0 -> 1.12.0" |
| notes = "Only changes the MSRV and adds a (safe) trait specialization." |
| |
| [[audits.either]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.12.0 -> 1.13.0" |
| |
| [[audits.either]] |
| who = "Daniel Cheng <dcheng@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"] |
| delta = "1.13.0 -> 1.14.0" |
| notes = """ |
| Inheriting ub-risk-1 from the baseline review of 1.13.0. While the delta has some diffs in unsafe code, they are either: |
| - migrating code to use helper macros |
| - migrating match patterns to take advantage of default bindings mode from RFC 2005 |
| Either way, the result is code that does exactly the same thing and does not change the risk of UB. |
| |
| See https://crrev.com/c/6323164 for more audit details. |
| """ |
| |
| [[audits.equivalent]] |
| who = "Jonathan Hao <phao@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.1 -> 1.0.2" |
| notes = "No changes to any .rs files or Rust code." |
| |
| [[audits.fdeflate]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "0.3.4" |
| notes = ''' |
| Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'`, `'\bnet\b'`, `'\bunsafe\b'` |
| and there were no hits. |
| |
| Note that some additional, internal notes about an older version of this crate |
| can be found at go/image-crate-chromium-security-review. |
| ''' |
| |
| [[audits.fdeflate]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.3.4 -> 0.3.5" |
| |
| [[audits.fdeflate]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.3.5 -> 0.3.6" |
| notes = "No unsafe, no crypto, mysterious tables replaced with const expressions" |
| |
| [[audits.fdeflate]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.3.6 -> 0.3.7" |
| |
| [[audits.fend-core]] |
| who = "jiwan@chromium.org" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "1.4.6" |
| |
| [[audits.fend-core]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.4.6 -> 1.4.8" |
| |
| [[audits.fend-core]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.4.8 -> 1.4.9" |
| |
| [[audits.fend-core]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.4.9 -> 1.5.0" |
| |
| [[audits.fend-core]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.5.0 -> 1.5.1" |
| notes = "Only `Cargo.toml` changes + defining two new measurement units." |
| |
| [[audits.fend-core]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.5.1 -> 1.5.2" |
| notes = "No unsafe, no crypto" |
| |
| [[audits.fend-core]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.5.2 -> 1.5.3" |
| notes = "No new unsafe, fs, net." |
| |
| [[audits.fend-core]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.5.3 -> 1.5.5" |
| |
| [[audits.fixed_decimal]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "0.6.0" |
| notes = "Contains no unsafe" |
| |
| [[audits.flate2]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "1.0.30" |
| notes = ''' |
| WARNING: This certification is a result of a **partial** audit. The |
| `any_zlib` code has **not** been audited. Ability to track partial |
| audits is tracked in https://github.com/mozilla/cargo-vet/issues/380 |
| Chromium does use the `any_zlib` feature(s). Accidentally depending on |
| this feature in the future is prevented using the `ban_features` feature |
| of `gnrt` - see: |
| https://crrev.com/c/4723145/31/third_party/rust/chromium_crates_io/gnrt_config.toml |
| |
| Security review of earlier versions of the crate can be found at |
| (Google-internal, sorry): go/image-crate-chromium-security-review |
| |
| I grepped for `-i cipher`, `-i crypto`, `'\bfs\b'`, `'\bnet\b'`, `'\bunsafe\b'`. |
| |
| All `unsafe` in `flate2` is gated behind `#[cfg(feature = "any_zlib")]`: |
| |
| * The code under `src/ffi/...` will not be used because the `mod c` |
| declaration in `src/ffi/mod.rs` depends on the `any_zlib` config |
| * 7 uses of `unsafe` in `src/mem.rs` also all depend on the |
| `any_zlib` config: |
| - 2 in `fn set_dictionary` (under `impl Compress`) |
| - 2 in `fn set_level` (under `impl Compress`) |
| - 3 in `fn set_dictionary` (under `impl Decompress`) |
| |
| All hits of `'\bfs\b'` are in comments, or example code, or test code |
| (but not in product code). |
| |
| There were no hits of `-i cipher`, `-i crypto`, `'\bnet\b'`. |
| ''' |
| |
| [[audits.flate2]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.30 -> 1.0.31" |
| notes = """ |
| WARNING: This certification is a result of a **partial** audit. The |
| `any_zlib` code has **not** been audited. See the audit of 1.0.30 for |
| more details. |
| |
| Only benign changes: |
| |
| * Comment-only changes in `.rs` files |
| * Also changing dependency version in `Cargo.toml`, but this is for `any_zlib` |
| feature which is not used in Chromium (i.e. this is a *partial* audit - see |
| the previous audit notes for 1.0.30) |
| """ |
| |
| [[audits.flate2]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.31 -> 1.0.33" |
| notes = """ |
| WARNING: This certification is a result of a **partial** audit. The |
| `any_zlib` code has **not** been audited. See the audit of 1.0.30 for |
| more details. |
| |
| This delta audit has been reviewed in https://crrev.com/c/5811890 |
| The delta can be seen at https://diff.rs/flate2/1.0.31/1.0.33 |
| The delta bumps up `miniz_oxide` dependency to `0.8.0` |
| The delta also contains some changes to `src/ffi/c.rs` which is *NOT* used by Chromium |
| and therefore hasn't been covered by this partial audit. |
| """ |
| |
| [[audits.flate2]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.33 -> 1.0.34" |
| notes = """ |
| WARNING: This certification is a result of a **partial** audit. The |
| `any_zlib` code has **not** been audited. See the audit of 1.0.30 for |
| more details. |
| |
| The delta can be seen at https://diff.rs/flate2/1.0.33/1.0.34 |
| The delta bumps up `libz-rs-sys` dependency from `0.2.1` to `0.3.0` |
| The delta in `lib.rs` only tweaks comments and has no code changes. |
| The delta also contains some changes to `src/ffi/c.rs` which is *NOT* used by Chromium |
| and therefore hasn't been covered by this partial audit. |
| """ |
| |
| [[audits.flate2]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.34 -> 1.0.35" |
| notes = "There are no significant code changes in this delta (just one string constant change). Note that prior audits may have been partial." |
| |
| [[audits.flate2]] |
| who = "Daniel Cheng <dcheng@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.35 -> 1.1.0" |
| notes = """ |
| This is a delta audit from a **partial** audit (**not** covering zlib-related crate features which are not used by Chromium). The delta does not appear to any new unsafety or unsoundness. Changes consist of: |
| - deriving more impls, e.g. for Clone or Default |
| - migrating away from deprecated things in the rand crate |
| - general improvements, e.g.: |
| - slice::copy_from_slice instead of a for loop |
| - Result::map_err instead of Result::unwrap |
| - use helpers for converting numerics to/from little-endian bytes |
| - nicer conversions between miniz_oxide::MZFlush and FlushCompress/FlushDecompress |
| - cfg soup changes in FFI for the C zlib backends–though Chromium does not use these backends |
| """ |
| |
| [[audits.foldhash]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "0.1.3" |
| notes = """ |
| `ub-risk-2` review notes can be found in https://crrev.com/c/6071306/5/third_party/rust/chromium_crates_io/vendor/foldhash-0.1.3/src/seed.rs |
| |
| `does-not-implement-crypto` based on `README.md` which explicitly says that |
| \"Foldhash is **not appropriate for any cryptographic purpose**.\" |
| """ |
| |
| [[audits.foldhash]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "0.1.3 -> 0.1.4" |
| notes = "No changes to safety-relevant code" |
| |
| [[audits.font-types]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["ub-risk-0", "safe-to-deploy", "does-not-implement-crypto"] |
| version = "0.4.2" |
| notes = """ |
| Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'``, `'\bnet\b'``, `'\bunsafe\b'`` |
| and there were no hits. |
| |
| The initial version of this crate has been added to Chromium in |
| https://source.chromium.org/chromium/chromium/src/+/a59c3c448941f92f870d0c18c6d53d5c6104ab72 |
| The CL description contains a link to a Google-internal document with audit details. |
| """ |
| |
| [[audits.font-types]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"] |
| version = "0.5.2" |
| notes = """ |
| Grepped for \"unsafe\", \"crypt\", \"cipher\", \"fs\", \"net\" - there were no |
| hits except for 3 `unsafe impl bytemuck::SomeTrait for ...`. Each `impl` had a |
| reasonable safety comment and there were no actual `unsafe` blocks, so I think |
| this can be treated as `ub-risk-1`. Additional `unsafe` review comments can be |
| found in https://crrev.com/c/5445719. |
| |
| For overall `safe-to-deploy` and `does-not-implement-crypto` I am mostly |
| relying on certification by the Chromium engineers who work on the library |
| (mostly drott@chromium.org). |
| """ |
| |
| [[audits.font-types]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.4.2 -> 0.4.3" |
| notes = "Reviewed in https://crrev.com/c/5362378. No new use of unsafe." |
| |
| [[audits.font-types]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"] |
| delta = "0.5.2 -> 0.5.3" |
| |
| [[audits.font-types]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"] |
| delta = "0.5.3 -> 0.5.4" |
| notes = """ |
| The delta just adds `impl From<GlyphId> for u32` - no impact on `unsafe impl`s |
| elsewhere. |
| """ |
| |
| [[audits.font-types]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"] |
| delta = "0.5.4 -> 0.5.5" |
| notes = "No unsafe changes." |
| |
| [[audits.font-types]] |
| who = "Dominik Röttsches <drott@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"] |
| delta = "0.5.5 -> 0.6.0" |
| notes = "This change comprises changes to understand larger GlyphId and compatibility with older Mac TrueType fonts. No unsafe code is introduced." |
| |
| [[audits.font-types]] |
| who = "Dominik Röttsches <drott@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"] |
| delta = "0.6.0 -> 0.7.1" |
| notes = "No new unsafe, mostly changes about int24 as a new OpenType type, and moving Pen from Skrifa." |
| |
| [[audits.font-types]] |
| who = "Dominik Röttsches <drott@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"] |
| delta = "0.7.1 -> 0.7.2" |
| notes = "Explicit inlining of some type conversion. No new unsafe." |
| |
| [[audits.font-types]] |
| who = "Dominik Röttsches <drott@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"] |
| delta = "0.7.2 -> 0.7.3" |
| notes = "Wrapping math for Fixed type, no new unsafe." |
| |
| [[audits.font-types]] |
| who = "Dominik Röttsches <drott@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"] |
| delta = "0.7.3 -> 0.8.2" |
| notes = "No new unsafe, more inlining, checked add. Minor spec compliance issues." |
| |
| [[audits.font-types]] |
| who = "Dominik Röttsches <drott@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"] |
| delta = "0.8.2 -> 0.8.3" |
| notes = "Changes to reading IndexSubtable, reverting adding Tag::NULL associated constant." |
| |
| [[audits.getrandom]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "0.2.11" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.getrandom]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = "does-not-implement-crypto" |
| delta = "0.2.11 -> 0.2.12" |
| |
| [[audits.getrandom]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.2.12 -> 0.2.14" |
| |
| [[audits.getrandom]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.2.14 -> 0.2.15" |
| |
| [[audits.glob]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "0.3.1" |
| notes = """ |
| No unsafe. The crate's purpose is to find files based on a glob, so it |
| uses the fs module for that and returns lists of paths. There's no net |
| usage or crypto. |
| """ |
| |
| [[audits.glob]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.3.1 -> 0.3.2" |
| notes = "Still no unsafe" |
| |
| [[audits.heck]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["ub-risk-0", "safe-to-deploy", "does-not-implement-crypto"] |
| version = "0.4.1" |
| notes = """ |
| Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'``, `'\bnet\b'``, `'\bunsafe\b'`` |
| and there were no hits. |
| |
| `heck` (version `0.3.3`) has been added to Chromium in |
| https://source.chromium.org/chromium/chromium/src/+/28841c33c77833cc30b286f9ae24c97e7a8f4057 |
| """ |
| |
| [[audits.hex-literal]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "0.4.1" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.icu_calendar]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "2.0.0-beta1" |
| notes = "Contains no unsafe" |
| |
| [[audits.icu_calendar_data]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "2.0.0-beta1" |
| notes = "Contains codegenned unsafe only, using safe Bake impls from zerovec/zerotrie" |
| |
| [[audits.icu_capi]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "2.0.0-beta1" |
| notes = "Despite being an FFI crate, it is 100% safe code since it uses Diplomat for bindings." |
| |
| [[audits.icu_casemap]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "2.0.0-beta1" |
| notes = "Safety review: One bit of unsafe DST construction from constant values. One checklisted ULE impl for a simple type wrapping RawBytesULE." |
| |
| [[audits.icu_casemap_data]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "2.0.0-beta1" |
| notes = "Contains codegenned unsafe only, using safe Bake impls from zerovec/zerotrie" |
| |
| [[audits.icu_collator]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "2.0.0-beta1" |
| notes = """ |
| All unsafe code commented: |
| - enum construction from discriminant with masks or other checks |
| - from_u32 for Hangul Jamo, with math that is in range |
| - from_u32 from a packed type that maintains a valid char invariant |
| """ |
| |
| [[audits.icu_collator_data]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "2.0.0-beta1" |
| notes = "Contains codegenned unsafe only, using safe Bake impls from zerovec/zerotrie" |
| |
| [[audits.icu_collections]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"] |
| version = "2.0.0-beta1" |
| notes = """ |
| Two instances of unsafe : |
| - Non-safety related unsafe API that imposes additional invariants |
| - `from_utf8` for known-UTF8 integer |
| |
| Comments added/improved in https://github.com/unicode-org/icu4x/pull/6056. |
| """ |
| |
| [[audits.icu_datetime]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "2.0.0-beta1" |
| notes = """ |
| All unsafe code commented: |
| - Checklisted ULE impls |
| - from-utf8 code based on type invariants |
| |
| Comments added/improved in https://github.com/unicode-org/icu4x/pull/6056. |
| """ |
| |
| [[audits.icu_datetime_data]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "2.0.0-beta1" |
| notes = "Contains codegenned unsafe only, using safe Bake impls from zerovec/zerotrie" |
| |
| [[audits.icu_decimal]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "2.0.0-beta1" |
| notes = "Contains no unsafe" |
| |
| [[audits.icu_decimal_data]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "2.0.0-beta1" |
| notes = "Contains codegenned unsafe only, using safe Bake impls from zerovec/zerotrie" |
| |
| [[audits.icu_experimental]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = "does-not-implement-crypto" |
| version = "0.2.0" |
| |
| [[audits.icu_experimental_data]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "0.2.0-dev" |
| notes = "Contains codegenned unsafe only, using safe Bake impls from zerovec/zerotrie" |
| |
| [[audits.icu_list]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"] |
| version = "2.0.0-beta1" |
| notes = "Simple well-commented unsafe around regex-automata DFA construction." |
| |
| [[audits.icu_list_data]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "2.0.0-beta1" |
| notes = "Contains codegenned unsafe only, using safe Bake impls from zerovec/zerotrie" |
| |
| [[audits.icu_locale]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "2.0.0-beta1" |
| notes = "Covariant transform transmute; since rustc does not understand that ZeroMap is invariant" |
| |
| [[audits.icu_locale_core]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "2.0.0-beta1" |
| notes = """ |
| All unsafe code commented: |
| - A checklisted ULE impl |
| - from-utf8 code on known-ASCII |
| - Some unchecked indexing around maintained invariants |
| |
| Comments added/improved in https://github.com/unicode-org/icu4x/pull/6056. |
| """ |
| |
| [[audits.icu_locale_data]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "2.0.0-beta1" |
| notes = "Contains codegenned unsafe only, using safe Bake impls from zerovec/zerotrie" |
| |
| [[audits.icu_normalizer]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = "does-not-implement-crypto" |
| version = "2.0.0-beta1" |
| |
| [[audits.icu_normalizer_data]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "2.0.0-beta1" |
| notes = "Contains codegenned unsafe only, using safe Bake impls from zerovec/zerotrie" |
| |
| [[audits.icu_pattern]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"] |
| version = "0.3.0" |
| notes = """ |
| Simple unsafe around repr(transparent), and one checklist-commented VarULE impl. |
| |
| Comments improved in https://github.com/unicode-org/icu4x/pull/6056 |
| """ |
| |
| [[audits.icu_plurals]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"] |
| version = "2.0.0-beta1" |
| notes = """ |
| Unsafe code pertaining to checklisted ULE/VarULE impls. |
| |
| Comments added/improved in https://github.com/unicode-org/icu4x/pull/6056. |
| """ |
| |
| [[audits.icu_plurals_data]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "2.0.0-beta1" |
| notes = "Contains codegenned unsafe only, using safe Bake impls from zerovec/zerotrie" |
| |
| [[audits.icu_properties]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = "does-not-implement-crypto" |
| version = "2.0.0-beta1" |
| |
| [[audits.icu_properties_data]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "2.0.0-beta1" |
| notes = "Contains codegenned unsafe only, using safe Bake impls from zerovec/zerotrie" |
| |
| [[audits.icu_provider]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"] |
| version = "2.0.0-beta1" |
| notes = """ |
| All unsafe code commented: |
| - Minor unsafe transmutes between types which are identical but not type-system-provably so. |
| - One unsafe EqULE impl |
| - Some repr(transparent) transmutes |
| - A from_utf8_unchecked for an ascii-validated string |
| |
| Comment improvements can be found in https://github.com/unicode-org/icu4x/pull/6056 |
| """ |
| |
| [[audits.icu_provider_adapters]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "2.0.0-beta1" |
| notes = "Contains no unsafe" |
| |
| [[audits.icu_provider_baked]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = "does-not-implement-crypto" |
| version = "2.0.0-beta1" |
| |
| [[audits.icu_provider_macros]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "2.0.0-beta1" |
| notes = "Does not contain any unsafe code" |
| |
| [[audits.icu_segmenter]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"] |
| version = "2.0.0-beta1" |
| notes = "Unsafe code pertaining to unchecked indexing, with length checks right before it" |
| |
| [[audits.icu_segmenter_data]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "2.0.0-beta1" |
| notes = "Contains codegenned unsafe only, using safe Bake impls from zerovec/zerotrie" |
| |
| [[audits.icu_timezone]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "2.0.0-beta1" |
| notes = "Simple, commented unsafe code around string mutation with checked ASCII-only bytes" |
| |
| [[audits.icu_timezone_data]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "2.0.0-beta1" |
| notes = "Contains codegenned unsafe only, using safe Bake impls from zerovec/zerotrie" |
| |
| [[audits.indexmap]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "2.7.1" |
| notes = ''' |
| Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'`, `'\bnet\b'` |
| and there were no hits. |
| |
| There is a little bit of `unsafe` Rust code - the audit can be found at |
| https://chromium-review.googlesource.com/c/chromium/src/+/6187726/2 |
| ''' |
| |
| [[audits.itertools]] |
| who = "agl@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "0.11.0" |
| notes = """ |
| This is 12K lines of code, plus 6K lines of tests and benchmarks. |
| It has minimal use of unsafe and so I have paged though it all with \"::\" |
| highlighted and paid attention to which imported functions are being called. |
| """ |
| |
| [[audits.itoa]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "1.0.10" |
| notes = ''' |
| I grepped for \"crypt\", \"cipher\", \"fs\", \"net\" - there were no hits. |
| |
| There are a few places where `unsafe` is used. Unsafe review notes can be found |
| in https://crrev.com/c/5350697. |
| |
| Version 1.0.1 of this crate has been added to Chromium in |
| https://crrev.com/c/3321896. |
| ''' |
| |
| [[audits.itoa]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.10 -> 1.0.11" |
| notes = """ |
| Straightforward diff between 1.0.10 and 1.0.11 - only 3 commits: |
| |
| * Bumping up the version |
| * A touch up of comments |
| * And my own PR to make `unsafe` blocks more granular: |
| https://github.com/dtolnay/itoa/pull/42 |
| """ |
| |
| [[audits.itoa]] |
| who = "Liza Burakova <liza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.11 -> 1.0.14" |
| notes = """ |
| Unsafe review at https://crrev.com/c/6051067 |
| """ |
| |
| [[audits.itoa]] |
| who = "Daniel Cheng <dcheng@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.14 -> 1.0.15" |
| notes = "Only minor rustdoc changes." |
| |
| [[audits.ixdtf]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "0.3.0" |
| notes = "Contains no unsafe" |
| |
| [[audits.lazy_static]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "1.4.0" |
| notes = ''' |
| I grepped for \"crypt\", \"cipher\", \"fs\", \"net\" - there were no hits. |
| |
| There are two places where `unsafe` is used. Unsafe review notes can be found |
| in https://crrev.com/c/5347418. |
| |
| This crate has been added to Chromium in https://crrev.com/c/3321895. |
| ''' |
| |
| [[audits.lazy_static]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.4.0 -> 1.5.0" |
| notes = "Unsafe review notes: https://crrev.com/c/5650836" |
| |
| [[audits.libm]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = "does-not-implement-crypto" |
| version = "0.2.11" |
| |
| [[audits.litemap]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "0.7.4" |
| notes = "Contains no unsafe" |
| |
| [[audits.litemap]] |
| who = "Daniel Cheng <dcheng@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.7.4 -> 0.7.5" |
| notes = "Delta implements the entry API but doesn't add or change any unsafe code." |
| |
| [[audits.log]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "0.4.22" |
| notes = """ |
| Unsafe review in https://docs.google.com/document/d/1IXQbD1GhTRqNHIGxq6yy7qHqxeO4CwN5noMFXnqyDIM/edit?usp=sharing |
| |
| Unsafety is generally very well-documented, with one exception, which we |
| describe in the review doc. |
| """ |
| |
| [[audits.log]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.4.20 -> 0.4.21" |
| notes = """ |
| I grepped for \"crypt\", \"cipher\", \"fs\", \"net\" - there were no hits. I also skimmed |
| through the 0.4.20 => 0.4.21 delta and there was no new crypto-related code AFAICT. |
| """ |
| |
| [[audits.log]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.4.21 -> 0.4.22" |
| |
| [[audits.log]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "0.4.22 -> 0.4.25" |
| notes = "No impact on `unsafe` usage in `lib.rs`." |
| |
| [[audits.log]] |
| who = "Daniel Cheng <dcheng@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "0.4.25 -> 0.4.26" |
| notes = "Only trivial code and documentation changes." |
| |
| [[audits.memchr]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = "does-not-implement-crypto" |
| delta = "2.7.2 -> 2.7.4" |
| |
| [[audits.minimal-lexical]] |
| who = "danakj@chromium.org" |
| criteria = "ub-risk-3" |
| version = "0.2.1" |
| notes = """ |
| Reviewed in https://chromium-review.googlesource.com/c/chromium/src/+/4977110 |
| - Unsound unsafe blocks present. |
| - Safe traits that can cause soundness bugs. |
| """ |
| |
| [[audits.miniz_oxide]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "0.7.4" |
| notes = ''' |
| Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'`, `'\bnet\b'`, `'\bunsafe\b'` |
| and there were no hits, except for some mentions of "unsafe" in the `README.md` |
| and in a comment in `src/deflate/core.rs`. The comment discusses whether a |
| function should be treated as unsafe, but there is no actual `unsafe` code, so |
| the crate meets the `ub-risk-0` criteria. |
| |
| Note that some additional, internal notes about an older version of this crate |
| can be found at go/image-crate-chromium-security-review. |
| ''' |
| |
| [[audits.miniz_oxide]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.7.4 -> 0.8.0" |
| notes = ''' |
| This delta audit has been reviewed in https://crrev.com/c/5811890 |
| |
| The delta can be inspected at https://diff.rs/miniz_oxide/0.7.4/0.8.0 |
| and is fairly small (changes related to `const fn` and to `adler2` |
| switch). |
| |
| I've grepped for `-i cipher`, `-i crypto`, `\bfs\b`, `\bnet\b`, and |
| `\bunsafe\b`. There were no hits (except for comments in `core.rs` |
| and in `Readme.md`). |
| ''' |
| |
| [[audits.miniz_oxide]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.8.0 -> 0.8.2" |
| |
| [[audits.miniz_oxide]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.8.2 -> 0.8.3" |
| |
| [[audits.miniz_oxide]] |
| who = "Jonathan Hao <phao@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.8.3 -> 0.8.4" |
| notes = "No big changes. Replaces some array with Box and other minor changes." |
| |
| [[audits.miniz_oxide]] |
| who = "Daniel Cheng <dcheng@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.8.4 -> 0.8.5" |
| notes = "No additions of or changes to unsafe code. Delta consists of a bug fix + cleanups/changes to make it easier for the compiler to elide checks." |
| |
| [[audits.nom]] |
| who = "danakj@chromium.org" |
| criteria = ["does-not-implement-crypto", "safe-to-deploy", "ub-risk-1"] |
| version = "7.1.3" |
| notes = """ |
| Reviewed in https://chromium-review.googlesource.com/c/chromium/src/+/5046153 |
| """ |
| |
| [[audits.num-bigint]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = "does-not-implement-crypto" |
| version = "0.4.6" |
| |
| [[audits.num-integer]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "0.1.46" |
| notes = "Contains no unsafe" |
| |
| [[audits.num-rational]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "0.4.2" |
| notes = "Contains no unsafe" |
| |
| [[audits.num-traits]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"] |
| version = "0.2.19" |
| notes = "Contains a single line of float-to-int unsafe with decent safety comments" |
| |
| [[audits.png]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "0.17.13" |
| notes = ''' |
| Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'`, `'\bnet\b'`, `'\bunsafe\b'` |
| and there were no hits except for reasonable, client-controlled usage of |
| `std::fs::File` in tests in `src/encoder.rs`, tests in `src/decoder/stream.rs`, |
| and in some example code. |
| |
| Note that some additional, internal notes about an older version of this crate |
| can be found at go/image-crate-chromium-security-review. |
| ''' |
| |
| [[audits.png]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.17.13 -> 0.17.14" |
| |
| [[audits.png]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.17.14 -> 0.17.15" |
| |
| [[audits.png]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.17.15 -> 0.17.16" |
| |
| [[audits.potential_utf]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "0.1.0" |
| notes = "Contains a handful of lines of from-UTF8 unsafety and some `repr(transparent)` casting unsafety. Reasonably well commented, could do with listing invariants explicitly." |
| |
| [[audits.ppv-lite86]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "0.2.17" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.ppv-lite86]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.2.17 -> 0.2.20" |
| notes = "Using zerocopy to reduce unsafe usage." |
| |
| [[audits.proc-macro2]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "1.0.78" |
| notes = """ |
| Grepped for \"crypt\", \"cipher\", \"fs\", \"net\" - there were no hits |
| (except for a benign \"fs\" hit in a doc comment) |
| |
| Notes from the `unsafe` review can be found in https://crrev.com/c/5385745. |
| """ |
| |
| [[audits.proc-macro2]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.69 -> 1.0.76" |
| notes = """ |
| 1.0.69 has been previously audited as \"safe-to-run\", |
| \"does-not-implement-crypto\" - see |
| https://github.com/google/rust-crate-audits/blob/c2d49cb6e80bb817f569debecf846161dcebd88c/audits.toml#L3939-L3979 |
| The \"1.0.69 -> 1.0.76\" delta meets the same criteria. |
| |
| This is an incremental/delta audit - we don't claim any particular `ub-risk-N` |
| level for the baseline or for the final version. OTOH note that additional |
| uses of `unsafe` have been reviewed in https://crrev.com/c/5178771 and the |
| **delta** was evaluated as `ub-risk-2`. There are some new `unsafe` blocks |
| but they seem sound - additional `unsafe` audit notes can be found in |
| https://crrev.com/c/5178771/comment/32dbab4e_c7402137 and |
| https://crrev.com/c/5178771/4/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.76/src/wrapper.rs#783 |
| """ |
| |
| [[audits.proc-macro2]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.78 -> 1.0.79" |
| |
| [[audits.proc-macro2]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.79 -> 1.0.80" |
| |
| [[audits.proc-macro2]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.80 -> 1.0.81" |
| notes = "Comment changes only" |
| |
| [[audits.proc-macro2]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.81 -> 1.0.82" |
| |
| [[audits.proc-macro2]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.82 -> 1.0.83" |
| notes = "Substantive change is replacing String with Box<str>, saving memory." |
| |
| [[audits.proc-macro2]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.83 -> 1.0.84" |
| notes = "Only doc comment changes in `src/lib.rs`." |
| |
| [[audits.proc-macro2]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.84 -> 1.0.85" |
| notes = "Test-only changes." |
| |
| [[audits.proc-macro2]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.85 -> 1.0.86" |
| notes = """ |
| Comment-only changes in `build.rs`. |
| Reordering of `Cargo.toml` entries. |
| Just bumping up the version number in `lib.rs`. |
| Config-related changes in `test_size.rs`. |
| """ |
| |
| [[audits.proc-macro2]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.86 -> 1.0.87" |
| notes = "No new unsafe interactions." |
| |
| [[audits.proc-macro2]] |
| who = "Liza Burakova <liza@chromium.org" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.87 -> 1.0.89" |
| notes = """ |
| Biggest change is adding error handling in build.rs. |
| Some config related changes in wrapper.rs. |
| """ |
| |
| [[audits.proc-macro2]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.89 -> 1.0.92" |
| notes = """ |
| I looked at the delta and the previous discussion at |
| https://chromium-review.googlesource.com/c/chromium/src/+/5385745/3#message-a8e2813129fa3779dab15acede408ee26d67b7f3 |
| and the changes look okay to me (including the `unsafe fn from_str_unchecked` |
| changes in `wrapper.rs`). |
| """ |
| |
| [[audits.proc-macro2]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.92 -> 1.0.93" |
| notes = "No `unsafe`-related changes." |
| |
| [[audits.proc-macro2]] |
| who = "Daniel Cheng <dcheng@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.93 -> 1.0.94" |
| notes = "Minor doc changes and clippy lint adjustments+fixes." |
| |
| [[audits.prost]] |
| who = "agl@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "0.12.3" |
| |
| [[audits.prost]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.12.3 -> 0.12.4" |
| |
| [[audits.prost]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.12.4 -> 0.12.6" |
| notes = "No concerning changes for safe-to-run." |
| |
| [[audits.prost]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.12.6 -> 0.13.3" |
| |
| [[audits.prost]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.13.3 -> 0.13.4" |
| |
| [[audits.prost]] |
| who = "Jonathan Hao <phao@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.13.4 -> 0.13.5" |
| notes = "Touches one function with unsafe inside, but it only adds the const keyword so should not really change anything. Converts a `from` to `as` as well." |
| |
| [[audits.prost-derive]] |
| who = "agl@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto", "ub-risk-0"] |
| version = "0.12.3" |
| |
| [[audits.prost-derive]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.12.3 -> 0.12.5" |
| |
| [[audits.prost-derive]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.12.5 -> 0.12.6" |
| notes = "No changes here; presumably a bump of the `prost` crate." |
| |
| [[audits.prost-derive]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.12.6 -> 0.13.3" |
| |
| [[audits.prost-derive]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.13.3 -> 0.13.4" |
| notes = "No code changes in this delta." |
| |
| [[audits.prost-derive]] |
| who = "Jonathan Hao <phao@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.13.4 -> 0.13.5" |
| notes = "No code changes in this delta." |
| |
| [[audits.qr_code]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "2.0.0" |
| notes = """ |
| * This crate was imported into Chromium back in May 2023: |
| - CL: https://crrev.com/c/4497329 |
| - Google-internal audit notes: go/qr-code-chromium-security-review |
| * Certification today is mostly based on the old audit. |
| The only checks performed today are: |
| - `grep`ped for `unsafe` and verified that the only hit comes |
| from `#![forbid(unsafe_code)]` |
| """ |
| |
| [[audits.quote]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = "ub-risk-0" |
| version = "1.0.33" |
| notes = 'Grepped for `\bunsafe\b` - there were no hits' |
| |
| [[audits.quote]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "1.0.35" |
| notes = """ |
| Grepped for \"unsafe\", \"crypt\", \"cipher\", \"fs\", \"net\" - there were no hits |
| (except for benign \"net\" hit in tests and \"fs\" hit in README.md) |
| """ |
| |
| [[audits.quote]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.35 -> 1.0.36" |
| |
| [[audits.quote]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.36 -> 1.0.37" |
| notes = """ |
| The delta just 1) inlines/expands `impl ToTokens` that used to be handled via |
| `primitive!` macro and 2) adds `impl ToTokens` for `CStr` and `CString`. |
| """ |
| |
| [[audits.quote]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.37 -> 1.0.38" |
| notes = "Still no unsafe" |
| |
| [[audits.quote]] |
| who = "Daniel Cheng <dcheng@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.38 -> 1.0.39" |
| notes = "Only minor changes for clippy lints and documentation." |
| |
| [[audits.rand]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "0.8.5" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.rand_chacha]] |
| who = "Allen Webb <allenwebb@google.com>" |
| criteria = "crypto-safe" |
| version = "0.3.1" |
| notes = """ |
| This crate doesn't actually implement ChaCha, it uses the implementation in |
| `c2-chacha`. Note that this review has been internally tracked in b/330501364. |
| """ |
| |
| [[audits.rand_pcg]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "0.3.1" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.read-fonts]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "0.19.0" |
| notes = """ |
| Grepped for \"unsafe\", \"crypt\", \"cipher\", \"fs\", \"net\" - there were no hits |
| (except for a benign \"fs\" hit in a comment). |
| |
| For overall `safe-to-deploy` and `does-not-implement-crypto` I am mostly |
| relying on certification by the Chromium engineers who work on the library |
| (mostly drott@chromium.org). |
| """ |
| |
| [[audits.read-fonts]] |
| who = "Dominik Röttsches <drott@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "0.25.3" |
| notes = """ |
| Fixes for hdmx processing (use explicit record size), overflow fixes for packed |
| point numbers. Fixes for midpoint computation, and follow-up fix to reinstate |
| FreeType equivalence. Feature gating experimential spec features. |
| """ |
| |
| [[audits.read-fonts]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.19.0 -> 0.19.1" |
| |
| [[audits.read-fonts]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.19.1 -> 0.19.2" |
| notes = """ |
| The delta is a bug fix in `src/tables/cmap.rs`. |
| No new `unsafe` - still `ub-risk-0`. |
| """ |
| |
| [[audits.read-fonts]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.19.2 -> 0.19.3" |
| notes = "No unsafe." |
| |
| [[audits.read-fonts]] |
| who = "Dominik Röttsches <drott@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.19.3 -> 0.20.0" |
| notes = """ |
| Contains changes for: |
| * Adding IntSet, SparseBitSet |
| * Support for VARC |
| * Improved AAT support |
| * Fuzzer overflow fixes, and avoiding timeouts in CMAP |
| * Closure computations for subsetting of COLR |
| * large glyphId support. |
| """ |
| |
| [[audits.read-fonts]] |
| who = "Dominik Röttsches <drott@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.20.0 -> 0.22.0" |
| notes = "Changes for incremental font transfer, Ankr, Feat tables, and support for getting access to the SVG document from the SVG table, as well as Avar2." |
| |
| [[audits.read-fonts]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.22.0 -> 0.22.1" |
| |
| [[audits.read-fonts]] |
| who = "Dominik Röttsches <drott@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.22.1 -> 0.22.3" |
| notes = "Support for the hdmx table, inlining optimizations. Crate has no unsafe code." |
| |
| [[audits.read-fonts]] |
| who = "Dominik Röttsches <drott@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.22.3 -> 0.23.0" |
| notes = "More lenient parsing of CFF fonts with invalid BlueValues, incremental font transfer implementation of glyph keyed patching. No unsafe code in crate." |
| |
| [[audits.read-fonts]] |
| who = "Dominik Röttsches <drott@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.23.0 -> 0.23.2" |
| notes = "Some IFT changes, and better compatibility with empty PrivateDict in CFF." |
| |
| [[audits.read-fonts]] |
| who = "Dominik Röttsches <drott@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.25.3 -> 0.26.0" |
| notes = "Added min_byte_range() method, expose IndexSubtableList for bitmaps. No new unsafe. Gvar delta API changes." |
| |
| [[audits.read-fonts]] |
| who = "Dominik Röttsches <drott@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.26.0 -> 0.27.1" |
| notes = "IFT impl behind feature flag." |
| |
| [[audits.read-fonts]] |
| who = "Dominik Röttsches <drott@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.27.1 -> 0.27.2" |
| notes = "CFF charsets support, font_builder related changes, clippy fixes." |
| |
| [[audits.regex]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "1.10.2" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.regex]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.10.2 -> 1.10.3" |
| |
| [[audits.regex]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.10.3 -> 1.10.4" |
| notes = "Docs changes only." |
| |
| [[audits.regex]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.10.4 -> 1.10.5" |
| |
| [[audits.regex]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.10.5 -> 1.10.6" |
| notes = "The delta has minimal changes in `pattern.rs`." |
| |
| [[audits.regex]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.10.6 -> 1.11.0" |
| |
| [[audits.regex]] |
| who = "Liza Burakova <liza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.11.0 -> 1.11.1" |
| |
| [[audits.regex-automata]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "0.4.3" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.regex-automata]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.4.3 -> 0.4.5" |
| |
| [[audits.regex-automata]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.4.5 -> 0.4.6" |
| notes = "Reviewed in https://crrev.com/c/5362200" |
| |
| [[audits.regex-automata]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.4.6 -> 0.4.7" |
| |
| [[audits.regex-automata]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.4.7 -> 0.4.8" |
| |
| [[audits.regex-automata]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.4.8 -> 0.4.9" |
| notes = "New API: `BuildError.is_size_limit_exceeded`." |
| |
| [[audits.regex-syntax]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "0.8.2" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.regex-syntax]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "0.8.5" |
| notes = "Contains no unsafe" |
| |
| [[audits.regex-syntax]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.8.2 -> 0.8.3" |
| |
| [[audits.regex-syntax]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.8.3 -> 0.8.4" |
| |
| [[audits.regex-syntax]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.8.4 -> 0.8.5" |
| |
| [[audits.relative-path]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "1.9.3" |
| notes = """ |
| There is no net or fs usage, no crypto. |
| There is unsafe to convert pointers from str to RelativePath, where the latter |
| is a transparent wrapper around str so the pointer will be to a valid |
| type/value always. |
| """ |
| |
| [[audits.rstest]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto", "ub-risk-0"] |
| version = "0.17.0" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.rstest]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.17.0 -> 0.22.0" |
| notes = "No new unsafe. fs and net usage, but only in its own tests." |
| |
| [[audits.rstest_macros]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "0.17.0" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.rstest_macros]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto", "ub-risk-0"] |
| version = "0.22.0" |
| notes = """ |
| There is no fs or net usage directly, though there is fs |
| usage through the glob crate to get lists of files if the user |
| asks for it in their macro. |
| |
| There is no unsafe. Scanned through all the code. |
| """ |
| |
| [[audits.rstest_reuse]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto", "ub-risk-0"] |
| version = "0.5.0" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.rstest_reuse]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.5.0 -> 0.7.0" |
| notes = "No new unsafe, looked through the changes which were minimal." |
| |
| [[audits.rust_decimal]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "1.36.0" |
| notes = ''' |
| Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'`, `'\bnet\b'`, `'\bunsafe\b'` |
| and there were no hits except: |
| |
| * Some reasonable `fs` usage in `build.rs`, under `make/scripts`, in one test |
| * A single `unsafe` usage in one test. I think this still qualifies this crate |
| as `ub-risk-0`. FWIW the test usage seems sound - see: |
| https://chromium-review.googlesource.com/c/chromium/src/+/6187726/2/third_party/rust/chromium_crates_io/vendor/rust_decimal-1.36.0/tests/decimal_tests.rs |
| ''' |
| |
| [[audits.rustc-demangle]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "0.1.23" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.rustc-demangle]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.1.23 -> 0.1.24" |
| |
| [[audits.rustc_version]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "0.4.0" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.rustc_version]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.4.0 -> 0.4.1" |
| notes = "No unsafe, net or fs." |
| |
| [[audits.rustversion]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["ub-risk-0", "safe-to-deploy", "does-not-implement-crypto"] |
| version = "1.0.14" |
| notes = """ |
| Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'``, `'\bnet\b'``, `'\bunsafe\b'`` |
| and there were no hits except for: |
| |
| * Using trivially-safe `unsafe` in test code: |
| |
| ``` |
| tests/test_const.rs:unsafe fn _unsafe() {} |
| tests/test_const.rs:const _UNSAFE: () = unsafe { _unsafe() }; |
| ``` |
| |
| * Using `unsafe` in a string: |
| |
| ``` |
| src/constfn.rs: \"unsafe\" => Qualifiers::Unsafe, |
| ``` |
| |
| * Using `std::fs` in `build/build.rs` to write `${OUT_DIR}/version.expr` |
| which is later read back via `include!` used in `src/lib.rs`. |
| |
| Version `1.0.6` of this crate has been added to Chromium in |
| https://source.chromium.org/chromium/chromium/src/+/28841c33c77833cc30b286f9ae24c97e7a8f4057 |
| """ |
| |
| [[audits.rustversion]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.14 -> 1.0.15" |
| |
| [[audits.rustversion]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.15 -> 1.0.16" |
| |
| [[audits.rustversion]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.16 -> 1.0.17" |
| notes = "Just updates windows compat" |
| |
| [[audits.rustversion]] |
| who = "Liza Burakova <liza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.17 -> 1.0.18" |
| |
| [[audits.rustversion]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.18 -> 1.0.19" |
| notes = "No unsafe, just doc changes" |
| |
| [[audits.rustversion]] |
| who = "Daniel Cheng <dcheng@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.19 -> 1.0.20" |
| notes = "Only minor updates to documentation and the mock today used for testing." |
| |
| [[audits.semver]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "1.0.20" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.semver]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.20 -> 1.0.21" |
| |
| [[audits.semver]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.21 -> 1.0.22" |
| |
| [[audits.semver]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.22 -> 1.0.23" |
| |
| [[audits.semver]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.23 -> 1.0.24" |
| notes = "Minor, `ptr_eq`-related changes." |
| |
| [[audits.semver]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.24 -> 1.0.25" |
| notes = "No changes in `.rs` files except `doc` attribute changes in `lib.rs`." |
| |
| [[audits.semver]] |
| who = "Daniel Cheng <dcheng@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.25 -> 1.0.26" |
| notes = "Only minor documentation updates." |
| |
| [[audits.serde]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "1.0.197" |
| notes = """ |
| Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'`, `'\bnet\b'`, `'\bunsafe\b'`. |
| |
| There were some hits for `net`, but they were related to serialization and |
| not actually opening any connections or anything like that. |
| |
| There were 2 hits of `unsafe` when grepping: |
| * In `fn as_str` in `impl Buf` |
| * In `fn serialize` in `impl Serialize for net::Ipv4Addr` |
| |
| Unsafe review comments can be found in https://crrev.com/c/5350573/2 (this |
| review also covered `serde_json_lenient`). |
| |
| Version 1.0.130 of the crate has been added to Chromium in |
| https://crrev.com/c/3265545. The CL description contains a link to a |
| (Google-internal, sorry) document with a mini security review. |
| """ |
| |
| [[audits.serde]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.197 -> 1.0.198" |
| |
| [[audits.serde]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.198 -> 1.0.201" |
| |
| [[audits.serde]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.201 -> 1.0.202" |
| notes = "Trivial changes" |
| |
| [[audits.serde]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.202 -> 1.0.203" |
| notes = "s/doc_cfg/docsrs/ + tuple_impls/tuple_impl_body-related changes" |
| |
| [[audits.serde]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.203 -> 1.0.204" |
| |
| [[audits.serde]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.204 -> 1.0.207" |
| notes = "The small change in `src/private/ser.rs` should have no impact on `ub-risk-2`." |
| |
| [[audits.serde]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.207 -> 1.0.209" |
| notes = """ |
| The delta carries fairly small changes in `src/private/de.rs` and |
| `src/private/ser.rs` (see https://crrev.com/c/5812194/2..5). AFAICT the |
| delta has no impact on the `unsafe`, `from_utf8_unchecked`-related parts |
| of the crate (in `src/de/format.rs` and `src/ser/impls.rs`). |
| """ |
| |
| [[audits.serde]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.209 -> 1.0.210" |
| notes = "Almost no new code - just feature rearrangement" |
| |
| [[audits.serde]] |
| who = "Liza Burakova <liza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.210 -> 1.0.213" |
| |
| [[audits.serde]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.213 -> 1.0.214" |
| notes = "No unsafe, no crypto" |
| |
| [[audits.serde]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.214 -> 1.0.215" |
| |
| [[audits.serde]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.215 -> 1.0.216" |
| notes = "The delta makes minor changes in `build.rs` - switching to the `?` syntax sugar." |
| |
| [[audits.serde]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.216 -> 1.0.217" |
| notes = "Minimal changes, nothing unsafe" |
| |
| [[audits.serde_derive]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = "ub-risk-0" |
| version = "1.0.193" |
| notes = 'Grepped for `\bunsafe\b` - there were no hits' |
| |
| [[audits.serde_derive]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "1.0.195" |
| notes = "Grepped for \"unsafe\", \"crypt\", \"cipher\", \"fs\", \"net\" - there were no hits" |
| |
| [[audits.serde_derive]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "1.0.196" |
| notes = "Grepped for \"unsafe\", \"crypt\", \"cipher\", \"fs\", \"net\" - there were no hits" |
| |
| [[audits.serde_derive]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "1.0.197" |
| notes = "Grepped for \"unsafe\", \"crypt\", \"cipher\", \"fs\", \"net\" - there were no hits" |
| |
| [[audits.serde_derive]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.197 -> 1.0.201" |
| |
| [[audits.serde_derive]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.201 -> 1.0.202" |
| |
| [[audits.serde_derive]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.202 -> 1.0.203" |
| notes = "Grepped for \"unsafe\", \"crypt\", \"cipher\", \"fs\", \"net\" - there were no hits" |
| |
| [[audits.serde_derive]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.203 -> 1.0.204" |
| |
| [[audits.serde_derive]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.204 -> 1.0.207" |
| notes = 'Grepped for \"unsafe\", \"crypt\", \"cipher\", \"fs\", \"net\" - there were no hits' |
| |
| [[audits.serde_derive]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.207 -> 1.0.209" |
| notes = ''' |
| There are no code changes in this delta - see https://crrev.com/c/5812194/2..5 |
| |
| I've neverthless also grepped for `-i cipher`, `-i crypto`, `\bfs\b`, |
| `\bnet\b`, and `\bunsafe\b`. There were no hits. |
| ''' |
| |
| [[audits.serde_derive]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.209 -> 1.0.210" |
| notes = "Almost no new code - just feature rearrangement" |
| |
| [[audits.serde_derive]] |
| who = "Liza Burakova <liza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.210 -> 1.0.213" |
| notes = "Grepped for 'unsafe', 'crypt', 'cipher', 'fs', 'net' - there were no hits" |
| |
| [[audits.serde_derive]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.213 -> 1.0.214" |
| notes = "No changes to unsafe, no crypto" |
| |
| [[audits.serde_derive]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.214 -> 1.0.215" |
| notes = "Minor changes should not impact UB risk" |
| |
| [[audits.serde_derive]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.215 -> 1.0.216" |
| notes = "The delta adds `#[automatically_derived]` in a few places. Still no `unsafe`." |
| |
| [[audits.serde_derive]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.0.216 -> 1.0.217" |
| notes = "No changes" |
| |
| [[audits.serde_json]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "1.0.108" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.serde_json]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.108 -> 1.0.111" |
| |
| [[audits.serde_json]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.111 -> 1.0.113" |
| |
| [[audits.serde_json]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.113 -> 1.0.114" |
| |
| [[audits.serde_json]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.114 -> 1.0.115" |
| |
| [[audits.serde_json]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.115 -> 1.0.116" |
| notes = "No changes that affect safety to run, and no crypto" |
| |
| [[audits.serde_json]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.116 -> 1.0.117" |
| |
| [[audits.serde_json]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.117 -> 1.0.120" |
| |
| [[audits.serde_json]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.120 -> 1.0.122" |
| |
| [[audits.serde_json]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.122 -> 1.0.124" |
| |
| [[audits.serde_json]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.124 -> 1.0.127" |
| |
| [[audits.serde_json]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.127 -> 1.0.128" |
| |
| [[audits.serde_json]] |
| who = "Liza Burakova <liza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.128 -> 1.0.132" |
| notes = """ |
| Methods moved into new deserializer trait in de.rs. |
| New methods for converting Number to i128 or u128 in number.rs |
| No new unsafe changes. |
| """ |
| |
| [[audits.serde_json]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.132 -> 1.0.133" |
| notes = "No changes affecting safety-to-run and still no crypto" |
| |
| [[audits.serde_json]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.133 -> 1.0.134" |
| |
| [[audits.serde_json]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.134 -> 1.0.137" |
| |
| [[audits.serde_json]] |
| who = "Liza Burakova <liza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.137 -> 1.0.138" |
| |
| [[audits.serde_json]] |
| who = "Daniel Cheng <dcheng@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.0.138 -> 1.0.140" |
| notes = "Only minor fixes for clippy and documentation updates." |
| |
| [[audits.serde_json_lenient]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "0.1.8" |
| notes = """ |
| Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'`, `'\bnet\b'`, `'\bunsafe\b'`. |
| |
| There were some hits for `fs` and `net`, but they were in comments. |
| |
| Unsafe review comments can be found in https://crrev.com/c/5350573/2. |
| There were 8 hits of `unsafe` when grepping. |
| |
| Version 0.1.4 of the crate was added to Chromium in |
| https://crrev.com/c/3511416. |
| """ |
| |
| [[audits.serde_json_lenient]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "0.1.8 -> 0.2.0" |
| notes = """ |
| Reviewed in https://crrev.com/c/5361256 |
| """ |
| |
| [[audits.serde_json_lenient]] |
| who = "djmitche@chromium.org" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "0.2.0 -> 0.2.1" |
| notes = """ |
| Reviewed in https://crrev.com/c/5385822 |
| """ |
| |
| [[audits.serde_json_lenient]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "0.2.1 -> 0.2.3" |
| |
| [[audits.serde_json_lenient]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "0.2.3 -> 0.2.4" |
| |
| [[audits.sfv]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "0.9.4" |
| notes = ''' |
| Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'`, `'\bnet\b'`, `'\bunsafe\b'` |
| and there were no hits. |
| ''' |
| |
| [[audits.sfv]] |
| who = "amarjotgill <amarjotgill@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "0.10.4" |
| |
| [[audits.simd-adler32]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "0.3.7" |
| notes = """ |
| Security review of earlier versions of the crate can be found at |
| (Google-internal, sorry): go/image-crate-chromium-security-review |
| |
| Audit comments for 1.3.2 can be found at https://crrev.com/c/4723145. |
| """ |
| |
| [[audits.skrifa]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "0.19.0" |
| notes = """ |
| Grepped for \"unsafe\", \"crypt\", \"cipher\", \"fs\", \"net\" - there were no hits |
| (except for benign \"fs\" hit in `skrifa-0.19.0/src/color/traversal_tests/mod.rs`). |
| |
| For overall `safe-to-deploy` and `does-not-implement-crypto` I am mostly |
| relying on certification by the Chromium engineers who work on the library |
| (mostly drott@chromium.org). |
| """ |
| |
| [[audits.skrifa]] |
| who = "drott@chromium.org" |
| criteria = ["ub-risk-1", "safe-to-deploy", "does-not-implement-crypto"] |
| delta = "0.15.2 -> 0.15.4" |
| |
| [[audits.skrifa]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-deploy", "crypto-safe", "ub-risk-0"] |
| delta = "0.19.0 -> 0.19.1" |
| notes = "Crate has `forbid_unsafe` and no unsafe code. Changes all appear font-related and safe." |
| |
| [[audits.skrifa]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.19.1 -> 0.19.2" |
| |
| [[audits.skrifa]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.19.2 -> 0.19.3" |
| |
| [[audits.skrifa]] |
| who = "Dominik Röttsches <drott@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.19.3 -> 0.20.0" |
| notes = "Contains mainly preparatory autohint changes and data tables." |
| |
| [[audits.skrifa]] |
| who = "Dominik Röttsches <drott@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.20.0 -> 0.22.0" |
| notes = "Changes for adding autohinting support. Crates forbids unsafe code." |
| |
| [[audits.skrifa]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.22.0 -> 0.22.1" |
| |
| [[audits.skrifa]] |
| who = "Dominik Röttsches <drott@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.22.1 -> 0.22.3" |
| notes = "Matching FreeType advances more closely, through usage of hdmx and other fixes. Path retrieval speedups." |
| |
| [[audits.skrifa]] |
| who = "Dominik Röttsches <drott@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.22.3 -> 0.23.0" |
| notes = "Incremental Font Transfer patchset implementation removed, important fixes for path retrievel from CFF fonts with empty PrivateDict." |
| |
| [[audits.skrifa]] |
| who = "Dominik Röttsches <drott@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.23.0 -> 0.24.0" |
| notes = "Skrifa updates for using wrapping arithmetic in CFF private dict parsing." |
| |
| [[audits.skrifa]] |
| who = "Dominik Röttsches <drott@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.24.0 -> 0.24.1" |
| notes = "COLRv1 bounds fix, fixes for underflows/overflows." |
| |
| [[audits.skrifa]] |
| who = "Dominik Röttsches <drott@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.24.1 -> 0.26.3" |
| notes = "Support for fonts that rely on hinting (like FreeType's \"tricky\" font detection). Overflow fixes, cycle detection in autohinting. cff overflow fixes." |
| |
| [[audits.skrifa]] |
| who = "Dominik Röttsches <drott@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.26.3 -> 0.26.4" |
| notes = "Improvements for computing advances for hinted variable fonts, when hvar is missing." |
| |
| [[audits.skrifa]] |
| who = "Dominik Röttsches <drott@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.26.4 -> 0.26.5" |
| notes = "Contains fixes for hdmx metrics for fonts such as Arimo, Tinos, Market Sans." |
| |
| [[audits.skrifa]] |
| who = "Dominik Röttsches <drott@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.26.5 -> 0.27.0" |
| notes = "Mostly a fuzzer fix, rejecting oversized composite outlines." |
| |
| [[audits.skrifa]] |
| who = "Dominik Röttsches <drott@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.27.0 -> 0.28.0" |
| notes = "Minor clippy fix." |
| |
| [[audits.skrifa]] |
| who = "Dominik Röttsches <drott@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "0.28.0 -> 0.28.1" |
| notes = "Fix for gsub hang, limits to cmap 12 iterator." |
| |
| [[audits.small_ctor]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "0.1.1" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.small_ctor]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.1.1 -> 0.1.2" |
| notes = "I don't fully understand the changes in `lib.rs` but they seem to meet the low bar of `safe-to-run`." |
| |
| [[audits.smallvec]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto"] |
| version = "1.13.2" |
| |
| [[audits.smallvec]] |
| who = "Jonathan Hao <phao@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto"] |
| delta = "1.13.2 -> 1.14.0" |
| notes = """ |
| WARNING: This certification is a result of a **partial** audit. The |
| `malloc_size_of` feature has **not** been audited. This feature does |
| not explicitly document its safety requirements. |
| See also https://chromium-review.googlesource.com/c/chromium/src/+/6275133/comment/ea0d7a93_98051a2e/ |
| and https://github.com/servo/malloc_size_of/issues/8. |
| This feature is banned in gnrt_config.toml. |
| """ |
| |
| [[audits.stable_deref_trait]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "1.2.0" |
| notes = "Purely a trait, crates using this should be carefully vetted since self-referential stuff can be super tricky around various unsafe rust edges." |
| |
| [[audits.static_assertions]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"] |
| version = "1.1.0" |
| notes = """ |
| Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'`, `'\bnet\b'`, `'\bunsafe\b'` |
| and there were no hits except for one `unsafe`. |
| |
| The lambda where `unsafe` is used is never invoked (e.g. the `unsafe` code |
| never runs) and is only introduced for some compile-time checks. Additional |
| unsafe review comments can be found in https://crrev.com/c/5353376. |
| |
| This crate has been added to Chromium in https://crrev.com/c/3736562. The CL |
| description contains a link to a document with an additional security review. |
| """ |
| |
| [[audits.strck]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto"] |
| version = "1.0.0" |
| |
| [[audits.strsim]] |
| who = "danakj@chromium.org" |
| criteria = ["does-not-implement-crypto", "safe-to-deploy", "ub-risk-0"] |
| version = "0.10.0" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.strsim]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = "ub-risk-0" |
| version = "0.11.0" |
| notes = "No `unsafe`" |
| |
| [[audits.strsim]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.10.0 -> 0.11.0" |
| |
| [[audits.strsim]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.11.0 -> 0.11.1" |
| |
| [[audits.strum]] |
| who = "danakj@chromium.org" |
| criteria = ["does-not-implement-crypto", "safe-to-deploy", "ub-risk-0"] |
| version = "0.25.0" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.strum_macros]] |
| who = "danakj@chromium.org" |
| criteria = ["does-not-implement-crypto", "safe-to-deploy", "ub-risk-0"] |
| version = "0.25.3" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.syn]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "1.0.109" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.synstructure]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "0.13.1" |
| notes = "Exposes unsafe codegen APIs but does not itself contain unsafe" |
| |
| [[audits.termcolor]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "1.4.0" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.termcolor]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = "ub-risk-0" |
| version = "1.4.0" |
| notes = "No `unsafe`." |
| |
| [[audits.termcolor]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "1.4.0 -> 1.4.1" |
| |
| [[audits.tinystr]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = "does-not-implement-crypto" |
| version = "0.8.0" |
| |
| [[audits.tinyvec]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["ub-risk-0", "safe-to-deploy", "does-not-implement-crypto"] |
| version = "1.6.0" |
| notes = """ |
| Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'``, `'\bnet\b'``, `'\bunsafe\b'`` |
| and there were no hits except for some \"unsafe\" appearing in comments: |
| |
| ``` |
| src/arrayvec.rs: // Note: This shouldn't use A::CAPACITY, because unsafe code can't rely on |
| src/lib.rs://! All of this is done with no `unsafe` code within the crate. Technically the |
| src/lib.rs://! `Vec` type from the standard library uses `unsafe` internally, but *this |
| src/lib.rs://! crate* introduces no new `unsafe` code into your project. |
| src/array.rs:/// Just a reminder: this trait is 100% safe, which means that `unsafe` code |
| ``` |
| |
| This crate has been added to Chromium in |
| https://source.chromium.org/chromium/chromium/src/+/24773c33e1b7a1b5069b9399fd034375995f290b |
| """ |
| |
| [[audits.tinyvec]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.6.0 -> 1.6.1" |
| |
| [[audits.tinyvec]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.6.1 -> 1.7.0" |
| |
| [[audits.tinyvec]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.7.0 -> 1.8.0" |
| |
| [[audits.tinyvec]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.8.0 -> 1.8.1" |
| |
| [[audits.tinyvec]] |
| who = "Daniel Cheng <dcheng@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| delta = "1.8.1 -> 1.9.0" |
| notes = """ |
| Larger delta, but no unsafe code introduced. Deltas for: |
| - borsh (Binary Object Representation Serializer for Hashing) serialization/deserialization support behind the `borsh` feature. |
| - trait implementations to interoperate with the generic-array crate |
| - miscellaneous helper functions and support code, e.g. `into_vec()`. |
| """ |
| |
| [[audits.unicode-bidi]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"] |
| version = "0.3.18" |
| notes = "Contains one line of repr(transparent) unsafe" |
| |
| [[audits.unicode-ident]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "1.0.12" |
| notes = ''' |
| I grepped for \"crypt\", \"cipher\", \"fs\", \"net\" - there were no hits. |
| |
| All two functions from the public API of this crate use `unsafe` to avoid bound |
| checks for an array access. Cross-module analysis shows that the offsets can |
| be statically proven to be within array bounds. More details can be found in |
| the unsafe review CL at https://crrev.com/c/5350386. |
| |
| This crate has been added to Chromium in https://crrev.com/c/3891618. |
| ''' |
| |
| [[audits.unicode-ident]] |
| who = "Dustin J. Mitchell <djmitche@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.12 -> 1.0.13" |
| notes = "Lots of table updates, and tables are assumed correct with unsafe `.get_unchecked()`, so ub-risk-2 is appropriate" |
| |
| [[audits.unicode-ident]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.13 -> 1.0.14" |
| notes = "Minimal delta in `.rs` files: new test assertions + doc changes." |
| |
| [[audits.unicode-ident]] |
| who = "Adrian Taylor <adetaylor@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.14 -> 1.0.15" |
| notes = "No changes relevant to any of these criteria." |
| |
| [[audits.unicode-ident]] |
| who = "Liza Burakova <liza@chromium.org>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| delta = "1.0.15 -> 1.0.16" |
| |
| [[audits.unicode-linebreak]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["ub-risk-0", "safe-to-deploy", "does-not-implement-crypto"] |
| version = "0.1.5" |
| notes = """ |
| Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'``, `'\bnet\b'``, `'\bunsafe\b'`` |
| and there were no hits. |
| |
| Version `0.1.2` of this crate has been added to Chromium in |
| https://source.chromium.org/chromium/chromium/src/+/591a0f30c5eac93b6a3d981c2714ffa4db28dbcb |
| The CL description contains a link to a Google-internal document with audit details. |
| """ |
| |
| [[audits.unicode-width]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "0.1.11" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.unicode-width]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.1.11 -> 0.1.12" |
| |
| [[audits.unicode-width]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.1.12 -> 0.1.13" |
| |
| [[audits.unicode-width]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.1.13 -> 0.1.14" |
| |
| [[audits.utf16_iter]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = "does-not-implement-crypto" |
| version = "1.0.5" |
| |
| [[audits.utf8_iter]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = "does-not-implement-crypto" |
| version = "1.0.4" |
| |
| [[audits.winapi]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "0.3.9" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.winapi-util]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "0.1.6" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.winapi-util]] |
| who = "danakj <danakj@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.1.6 -> 0.1.8" |
| |
| [[audits.winapi-util]] |
| who = "Lukasz Anforowicz <lukasza@chromium.org>" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| delta = "0.1.8 -> 0.1.9" |
| notes = "The delta only changes Cargo.toml." |
| |
| [[audits.write16]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "1.0.0" |
| notes = "No unsafe code." |
| |
| [[audits.writeable]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"] |
| version = "0.6.0" |
| notes = "Contains three lines of unsafe, thoroughly commented: one is for from-UTF8 on ASCII, the other two are for from-UTF8 on a datastructure that keeps track of a buffer with partial UTF8 validation. Relatively straigtforward." |
| |
| [[audits.wycheproof]] |
| who = "danakj@chromium.org" |
| criteria = ["safe-to-run", "does-not-implement-crypto"] |
| version = "0.4.0" |
| notes = """ |
| Reviewed in https://crrev.com/c/5171063 |
| |
| Previously reviewed during security review and the audit is grandparented in. |
| """ |
| |
| [[audits.yoke]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto"] |
| version = "0.7.5" |
| |
| [[audits.yoke-derive]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "0.7.5" |
| notes = "Custom derive implementing the `Yokeable` trait. Generally generates simple code that asserts covariance." |
| |
| [[audits.zerofrom]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "0.1.5" |
| notes = "Contains no unsafe" |
| |
| [[audits.zerofrom-derive]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"] |
| version = "0.1.5" |
| notes = "Contains no unsafe" |
| |
| [[audits.zerotrie]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| version = "0.2.0" |
| notes = "Minor repr(transparent) unsafe code. Improved comments in https://github.com/unicode-org/icu4x/pull/6054" |
| |
| [[audits.zerovec]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = "does-not-implement-crypto" |
| version = "0.11.0" |
| |
| [[audits.zerovec-derive]] |
| who = "Manish Goregaokar <manishearth@google.com>" |
| criteria = "does-not-implement-crypto" |
| version = "0.11.0" |
| |
| [[trusted.hashbrown]] |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| user-id = 2915 # Amanieu d'Antras (Amanieu) |
| start = "2019-04-02" |
| end = "2026-02-04" |
| notes = """ |
| Chromium implicitly trusts the Rust toolchain (e.g. the `rustc` and |
| `cargo` binaries maintained and published by the |
| https://github.com/rust-lang organization and packaged and distributed |
| via Chromium's `tools/rust/package_rust.py` scripts). Here we extend |
| this trust to the libraries that are maintained and published by |
| the same organization under https://github.com/rust-lang/hashbrown. |
| |
| user-id 2915 maps to https://crates.io/users/Amanieu who has |
| published https://crates.io/crates/hashbrown/0.15.2 |
| """ |
| |
| [[trusted.libc]] |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| user-id = 51017 |
| start = "2020-03-17" |
| end = "2025-05-23" |
| notes = """ |
| Chromium implicitly trusts the Rust toolchain (e.g. the `rustc` and |
| `cargo` binaries maintained and published by the |
| https://github.com/rust-lang organization and packaged and distributed |
| via Chromium's `tools/rust/package_rust.py` scripts). Here we extend |
| this trust to the system libraries that are maintained and published by |
| the same organization. |
| |
| user-id 51017 maps to https://crates.io/users/JohnTitor who has |
| published https://crates.io/crates/libc/0.2.154 |
| """ |
| |
| [[trusted.libc]] |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| user-id = 5820 |
| start = "2020-03-17" |
| end = "2025-05-23" |
| notes = """ |
| Same justification as for the other `trusted.libc` entry above. |
| |
| user-id 5820 maps to https://crates.io/users/the8472 who has published |
| https://crates.io/crates/libc/0.2.155 |
| """ |
| |
| [[trusted.libc]] |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| user-id = 55123 # rust-lang-owner |
| start = "2024-08-15" |
| end = "2025-08-26" |
| notes = """ |
| Same justification as for the other `trusted.libc` entry above. |
| |
| user-id 55123 maps to https://crates.io/users/rust-lang-owner who has published |
| https://crates.io/crates/libc/0.2.158 |
| """ |
| |
| [[trusted.libc]] |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| user-id = 55123 # rust-lang-owner |
| start = "2024-10-17" |
| end = "2025-10-24" |
| notes = """ |
| Same justification as for the other `trusted.libc` entry above. |
| |
| user-id 55123 maps to https://crates.io/users/rust-lang-owner who has published |
| https://crates.io/crates/libc/0.2.161 |
| """ |
| |
| [[trusted.libm]] |
| criteria = ["safe-to-deploy", "ub-risk-2"] |
| user-id = 55123 # rust-lang-owner |
| start = "2024-10-26" |
| end = "2026-02-02" |
| |
| [[trusted.windows-sys]] |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| user-id = 64539 # Kenny Kerr (kennykerr) |
| start = "2021-11-15" |
| end = "9999-05-15" |
| notes = """ |
| This crate and its deps are published by Microsoft as the official Rust SDK for Windows APIs at https://github.com/microsoft/windows-rs |
| |
| user-id 64539 maps to https://crates.io/users/kennykerr who has published version 0.52.0. |
| """ |
| |
| [[trusted.windows-targets]] |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| user-id = 64539 # Kenny Kerr (kennykerr) |
| start = "2022-09-09" |
| end = "9999-05-15" |
| notes = """ |
| This crate is part of the official Rust SDK from Microsoft, see windows-sys. |
| """ |
| |
| [[trusted.windows_aarch64_msvc]] |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| user-id = 64539 # Kenny Kerr (kennykerr) |
| start = "2021-11-05" |
| end = "9999-05-15" |
| notes = """ |
| This crate is part of the official Rust SDK from Microsoft, see windows-sys. |
| """ |
| |
| [[trusted.windows_i686_msvc]] |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| user-id = 64539 # Kenny Kerr (kennykerr) |
| start = "2021-10-27" |
| end = "9999-05-15" |
| notes = """ |
| This crate is part of the official Rust SDK from Microsoft, see windows-sys. |
| """ |
| |
| [[trusted.windows_x86_64_msvc]] |
| criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"] |
| user-id = 64539 # Kenny Kerr (kennykerr) |
| start = "2021-10-27" |
| end = "9999-05-15" |
| notes = """ |
| This crate is part of the official Rust SDK from Microsoft, see windows-sys. |
| """ |