• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1
2# cargo-vet audits file
3
4[criteria.crypto-safe]
5description = """
6All crypto algorithms in this crate have been reviewed by a relevant expert.
7
8**Note**: If a crate does not implement crypto, use `does-not-implement-crypto`,
9which implies `crypto-safe`, but does not require expert review in order to
10audit for."""
11
12[criteria.does-not-implement-crypto]
13description = """
14Inspection reveals that the crate in question does not attempt to implement any
15cryptographic algorithms on its own.
16
17Note that certification of this does not require an expert on all forms of
18cryptography: it's expected for crates we import to be \"good enough\" citizens,
19so they'll at least be forthcoming if they try to implement something
20cryptographic. When in doubt, please ask an expert."""
21implies = "crypto-safe"
22
23[criteria.ub-risk-0]
24description = """
25No unsafe code.
26
27Full description of the audit criteria can be found at
28https://github.com/google/rust-crate-audits/blob/main/auditing_standards.md#ub-risk-0
29"""
30implies = "ub-risk-1"
31
32[criteria.ub-risk-1]
33description = """
34Excellent soundness.
35
36Full description of the audit criteria can be found at
37https://github.com/google/rust-crate-audits/blob/main/auditing_standards.md#ub-risk-1
38"""
39implies = "ub-risk-2"
40
41[criteria.ub-risk-2]
42description = """
43Negligible unsoundness or average soundness.
44
45Full description of the audit criteria can be found at
46https://github.com/google/rust-crate-audits/blob/main/auditing_standards.md#ub-risk-2
47"""
48implies = "ub-risk-3"
49
50[criteria.ub-risk-3]
51description = """
52Mild unsoundness or suboptimal soundness.
53
54Full description of the audit criteria can be found at
55https://github.com/google/rust-crate-audits/blob/main/auditing_standards.md#ub-risk-3
56"""
57implies = "ub-risk-4"
58
59[criteria.ub-risk-4]
60description = """
61Extreme unsoundness.
62
63Full description of the audit criteria can be found at
64https://github.com/google/rust-crate-audits/blob/main/auditing_standards.md#ub-risk-4
65"""
66
67[[audits.adler]]
68who = "Lukasz Anforowicz <lukasza@chromium.org>"
69criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
70version = "1.0.2"
71notes = '''
72Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'`, `'\bnet\b'`, `'\bunsafe\b'`
73and there were no hits (except in comments and in the `README.md` file).
74
75Note that some additional, internal notes about an older version of this crate
76can be found at go/image-crate-chromium-security-review.
77'''
78
79[[audits.adler2]]
80who = "Lukasz Anforowicz <lukasza@chromium.org>"
81criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
82version = "2.0.0"
83notes = '''
84This audit has been reviewed in https://crrev.com/c/5811890
85
86The crate is fairly easy to read thanks to its small size and rich comments.
87
88I've grepped for `-i cipher`, `-i crypto`, `\bfs\b`, `\bnet\b`, and
89`\bunsafe\b`.  There were no hits (except for a comment in `README.md`
90and `lib.rs` pointing out "Zero `unsafe`").
91'''
92
93[[audits.aho-corasick]]
94who = "danakj@chromium.org"
95criteria = ["safe-to-run", "does-not-implement-crypto"]
96version = "1.1.2"
97notes = """
98Reviewed in https://crrev.com/c/5171063
99
100Previously reviewed during security review and the audit is grandparented in.
101"""
102
103[[audits.aho-corasick]]
104who = "Dustin J. Mitchell <djmitche@chromium.org>"
105criteria = ["safe-to-run", "does-not-implement-crypto"]
106delta = "1.1.2 -> 1.1.3"
107
108[[audits.anstyle]]
109who = "danakj@chromium.org"
110criteria = ["safe-to-run", "does-not-implement-crypto"]
111version = "1.0.4"
112notes = """
113Reviewed in https://crrev.com/c/5171063
114
115Previously reviewed during security review and the audit is grandparented in.
116"""
117
118[[audits.anstyle]]
119who = "Lukasz Anforowicz <lukasza@chromium.org>"
120criteria = ["safe-to-run", "does-not-implement-crypto"]
121delta = "1.0.4 -> 1.0.6"
122
123[[audits.anstyle]]
124who = "danakj <danakj@chromium.org>"
125criteria = ["safe-to-run", "does-not-implement-crypto"]
126delta = "1.0.6 -> 1.0.7"
127
128[[audits.anstyle]]
129who = "Lukasz Anforowicz <lukasza@chromium.org>"
130criteria = ["safe-to-run", "does-not-implement-crypto"]
131delta = "1.0.7 -> 1.0.8"
132notes = "Only Cargo.toml changes in the 1.0.7 => 1.0.8 delta."
133
134[[audits.anstyle]]
135who = "Dustin J. Mitchell <djmitche@chromium.org>"
136criteria = ["safe-to-run", "does-not-implement-crypto"]
137delta = "1.0.8 -> 1.0.9"
138notes = "No changes"
139
140[[audits.anstyle]]
141who = "Lukasz Anforowicz <lukasza@chromium.org>"
142criteria = ["safe-to-run", "does-not-implement-crypto"]
143delta = "1.0.9 -> 1.0.10"
144notes = "Minor changes related to `write_str`."
145
146[[audits.anyhow]]
147who = "Lukasz Anforowicz <lukasza@chromium.org>"
148criteria = ["safe-to-run", "does-not-implement-crypto"]
149delta = "1.0.75 -> 1.0.79"
150notes = """
1511.0.75 has been previously audited as \"safe-to-run\",
152\"does-not-implement-crypto\" - see
153https://github.com/google/rust-crate-audits/blob/c2d49cb6e80bb817f569debecf846161dcebd88c/audits.toml#L277-L305
154The \"1.0.75 -> 1.0.79\" delta meets the same criteria.
155
156This is an incremental/delta audit - we don't claim any particular `ub-risk-N`
157level for the baseline or for the final version.  OTOH note that additional
158uses of `unsafe` have been reviewed in https://crrev.com/c/5178771 and the
159**delta**  was evaluated as `ub-risk-3` - no known unsoundness but:
160* Little safety comments to explain why a particular usage of `unsafe`
161  is safe and/or necessary
162* Safety analysis couldn't be done locally, but required considering the
163  whole crate (e.g. checking if the public `Ref.ptr` is mutated anywhere)
164"""
165
166[[audits.anyhow]]
167who = "Lukasz Anforowicz <lukasza@chromium.org>"
168criteria = ["safe-to-run", "does-not-implement-crypto"]
169delta = "1.0.79 -> 1.0.80"
170
171[[audits.anyhow]]
172who = "Adrian Taylor <adetaylor@chromium.org>"
173criteria = ["safe-to-run", "does-not-implement-crypto"]
174delta = "1.0.80 -> 1.0.81"
175
176[[audits.anyhow]]
177who = "Adrian Taylor <adetaylor@chromium.org>"
178criteria = ["safe-to-run", "does-not-implement-crypto"]
179delta = "1.0.81 -> 1.0.82"
180
181[[audits.anyhow]]
182who = "danakj <danakj@chromium.org>"
183criteria = ["safe-to-run", "does-not-implement-crypto"]
184delta = "1.0.82 -> 1.0.83"
185notes = "No change to UB-risk profile either."
186
187[[audits.anyhow]]
188who = "Dustin J. Mitchell <djmitche@chromium.org>"
189criteria = ["safe-to-run", "does-not-implement-crypto"]
190delta = "1.0.83 -> 1.0.86"
191notes = "Delta only updates the ensure macro implementation, still safe to run, no crypto"
192
193[[audits.anyhow]]
194who = "Adrian Taylor <adetaylor@chromium.org>"
195criteria = ["safe-to-run", "does-not-implement-crypto"]
196delta = "1.0.86 -> 1.0.87"
197notes = "Minimal changes, mostly renaming std to core for a type"
198
199[[audits.anyhow]]
200who = "Dustin J. Mitchell <djmitche@chromium.org>"
201criteria = ["safe-to-run", "does-not-implement-crypto"]
202delta = "1.0.87 -> 1.0.89"
203notes = "No safety-related changes in this delta"
204
205[[audits.anyhow]]
206who = "Liza Burakova <liza@chromium.org>"
207criteria = ["safe-to-run", "does-not-implement-crypto"]
208delta = "1.0.89 -> 1.0.91"
209notes = "Minimal changes"
210
211[[audits.anyhow]]
212who = "Lukasz Anforowicz <lukasza@chromium.org>"
213criteria = ["safe-to-run", "does-not-implement-crypto"]
214delta = "1.0.91 -> 1.0.93"
215notes = """
216`ensure!` macro tweaks to handle
217https://github.com/rust-lang/rfcs/blob/master/text/2582-raw-reference-mir-operator.md
218"""
219
220[[audits.autocfg]]
221who = "Lukasz Anforowicz <lukasza@chromium.org>"
222criteria = ["ub-risk-0", "safe-to-deploy", "does-not-implement-crypto"]
223version = "1.1.0"
224notes = """
225Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'``, `'\bnet\b'``, `'\bunsafe\b'``
226and there were no hits except for reasonable, client-controlled usage of
227`std::fs` in `AutoCfg::with_dir`.
228
229This crate has been added to Chromium in
230https://source.chromium.org/chromium/chromium/src/+/591a0f30c5eac93b6a3d981c2714ffa4db28dbcb
231The CL description contains a link to a Google-internal document with audit details.
232"""
233
234[[audits.autocfg]]
235who = "Lukasz Anforowicz <lukasza@chromium.org>"
236criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
237delta = "1.1.0 -> 1.2.0"
238notes = '''
239Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'``, `'\bnet\b'``, `'\bunsafe\b'``
240and nothing changed from the baseline audit of 1.1.0.  Skimmed through the
2411.1.0 => 1.2.0 delta and everything seemed okay.
242'''
243
244[[audits.base64]]
245who = "Adam Langley <agl@chromium.org>"
246criteria = ["ub-risk-0", "safe-to-deploy", "does-not-implement-crypto"]
247version = "0.13.1"
248notes = "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`"
249
250[[audits.bitflags]]
251who = "Lukasz Anforowicz <lukasza@chromium.org>"
252criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"]
253version = "1.3.2"
254notes = """
255Security review of earlier versions of the crate can be found at
256(Google-internal, sorry): go/image-crate-chromium-security-review
257
258The crate exposes a function marked as `unsafe`, but doesn't use any
259`unsafe` blocks (except for tests of the single `unsafe` function).  I
260think this justifies marking this crate as `ub-risk-1`.
261
262Additional review comments can be found at https://crrev.com/c/4723145/31
263"""
264
265[[audits.bitflags]]
266who = "Lukasz Anforowicz <lukasza@chromium.org>"
267criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"]
268version = "2.4.2"
269notes = """
270Audit notes:
271
272* I've checked for any discussion in Google-internal cl/546819168 (where audit
273  of version 2.3.3 happened)
274* `src/lib.rs` contains `#![cfg_attr(not(test), forbid(unsafe_code))]`
275* There are 2 cases of `unsafe` in `src/external.rs` but they seem to be
276  correct in a straightforward way - they just propagate the marker trait's
277  impl (e.g. `impl bytemuck::Pod`) from the inner to the outer type
278* Additional discussion and/or notes may be found in https://crrev.com/c/5238056
279"""
280
281[[audits.bitflags]]
282who = "Adrian Taylor <adetaylor@chromium.org>"
283criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
284delta = "2.4.2 -> 2.5.0"
285
286[[audits.bitflags]]
287who = "Adrian Taylor <adetaylor@chromium.org>"
288criteria = ["safe-to-deploy", "crypto-safe", "ub-risk-2"]
289delta = "2.5.0 -> 2.6.0"
290notes = "The changes from the previous version are negligible and thus it retains the same properties."
291
292[[audits.bstr]]
293who = "danakj <danakj@chromium.org>"
294criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
295version = "1.10.0"
296notes = """
297WARNING: This certification is a result of a **partial** audit.  The
298`unicode` feature has **not** been audited.  The unicode feature has
299soundness that depends on the correctness of regex automata that are
300shipped as binary blobs. They have not been reviewed here.Ability to
301track partial audits is tracked in
302https://github.com/mozilla/cargo-vet/issues/380.
303"""
304
305[[audits.bstr]]
306who = "Adrian Taylor <adetaylor@chromium.org>"
307criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
308delta = "1.10.0 -> 1.11.0"
309notes = "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."
310
311[[audits.bytemuck]]
312who = "Lukasz Anforowicz <lukasza@chromium.org>"
313criteria = "safe-to-deploy"
314version = "1.16.3"
315notes = """
316Review notes from the original audit (of 1.14.3) may be found in
317https://crrev.com/c/5362675.  Note that this audit has initially missed UB risk
318that was fixed in 1.16.2 - see https://github.com/Lokathor/bytemuck/pull/258.
319Because of this, the original audit has been edited to certify version `1.16.3`
320instead (see also https://crrev.com/c/5771867).
321"""
322
323[[audits.bytemuck]]
324who = "Lukasz Anforowicz <lukasza@chromium.org>"
325criteria = ["does-not-implement-crypto", "ub-risk-4"]
326delta = "1.13.1 -> 1.14.3"
327notes = """
328Review notes from the original audit may be found in
329https://crrev.com/c/5362675.  Note that this audit has initially missed UB risk
330that was fixed in 1.16.2 - see https://github.com/Lokathor/bytemuck/pull/258.
331Because of this, the original audit has been edited to certify `ub-risk-4`
332instead.
333"""
334
335[[audits.bytemuck]]
336who = "Lukasz Anforowicz <lukasza@chromium.org>"
337criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
338delta = "1.13.1 -> 1.16.3"
339notes = """
340The certification of the 1.13.1 => 1.16.1 delta is based on:
341
342* 1.13.1 -> 1.14.3 audit in https://crrev.com/c/5362675.  Note that this audit
343  has initially missed UB risk that was fixed in 1.16.2 - see
344  https://github.com/Lokathor/bytemuck/pull/258.
345* 1.14.3 -> 1.15.0 audit in https://crrev.com/c/5380327
346* 1.15.0 -> 1.16.0 audit in https://crrev.com/c/5535688
347* 1.16.0 -> 1.16.1 audit in https://crrev.com/c/5650895
348
349When auditing the changes in the 1.16.1 -> 1.16.3 delta it seems that:
350
351* The changes correctly account for ZSTs:
352    * Avoiding division-by-zero errors
353    * Avoiding UB in `BoxBytes::drop`
354* The changes preserve safety gurantees for nearby `unsafe` blocks
355"""
356
357[[audits.bytemuck]]
358who = "Adrian Taylor <adetaylor@chromium.org>"
359criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
360delta = "1.14.3 -> 1.15.0"
361
362[[audits.bytemuck]]
363who = "danakj <danakj@chromium.org>"
364criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
365delta = "1.15.0 -> 1.16.0"
366
367[[audits.bytemuck]]
368who = "Lukasz Anforowicz <lukasza@chromium.org>"
369criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
370delta = "1.16.0 -> 1.16.1"
371notes = """
372The delta only adds `f16` and `f128` support (with some other minor changes)
373and has no impact on the audit criteria.
374"""
375
376[[audits.bytemuck]]
377who = "Lukasz Anforowicz <lukasza@chromium.org>"
378criteria = "ub-risk-3"
379delta = "1.16.3 -> 1.17.0"
380notes = """
3811.17.0 may rely on `union` layout that is not guaranteed by the compiler.
382See https://github.com/Lokathor/bytemuck/pull/268
383"""
384
385[[audits.bytemuck]]
386who = "Lukasz Anforowicz <lukasza@chromium.org>"
387criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
388delta = "1.16.3 -> 1.17.1"
389notes = "Unsafe review comments can be found in https://crrev.com/c/5813463"
390
391[[audits.bytemuck]]
392who = "Adrian Taylor <adetaylor@chromium.org>"
393criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
394delta = "1.17.1 -> 1.18.0"
395notes = "No code changes - just altering feature flag arrangements"
396
397[[audits.bytemuck]]
398who = "Adrian Taylor <adetaylor@chromium.org>"
399criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
400delta = "1.18.0 -> 1.19.0"
401notes = "No code changes - just comment changes and adding the track_caller attribute."
402
403[[audits.bytemuck_derive]]
404who = "Lukasz Anforowicz <lukasza@chromium.org>"
405criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
406version = "1.6.0"
407notes = """
408Grepped for \"unsafe\", \"crypt\", \"cipher\", \"fs\", \"net\" - there were no
409hits except for 8 occurrences of `unsafe`.  Additional `unsafe` review comments
410can be found in https://crrev.com/c/5445719.
411"""
412
413[[audits.bytemuck_derive]]
414who = "Lukasz Anforowicz <lukasza@chromium.org>"
415criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
416delta = "1.6.0 -> 1.6.1"
417notes = """
418No behavior/code changes AFAICT - only adding
419`#[allow(clippy::multiple_bound_locations)]`, doc comments, and making
420some cosmetic changes in non-`.rs` files.
421"""
422
423[[audits.bytemuck_derive]]
424who = "danakj <danakj@chromium.org>"
425criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
426delta = "1.6.1 -> 1.7.0"
427notes = """
428Added support for Zeroable enums, which requires them to be represented as an integer and to have 0 as one of their values.
429
430Other trivial/formatting changes.
431"""
432
433[[audits.bytemuck_derive]]
434who = "Lukasz Anforowicz <lukasza@chromium.org>"
435criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
436delta = "1.7.0 -> 1.7.1"
437notes = """
438No impact on safety AFAICT - the delta only specifies a new attribute for
439`proc_macro_derive` to work around re-export issues described at
440https://github.com/Lokathor/bytemuck/issues/159
441"""
442
443[[audits.bytemuck_derive]]
444who = "danakj <danakj@chromium.org>"
445criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
446delta = "1.7.1 -> 1.8.0"
447notes = "Unsafe review: https://crrev.com/c/5921014"
448
449[[audits.byteorder]]
450who = "danakj <danakj@chromium.org>"
451criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
452version = "1.5.0"
453notes = "Unsafe review in https://crrev.com/c/5838022"
454
455[[audits.bytes]]
456who = "agl@chromium.org"
457criteria = ["safe-to-run", "does-not-implement-crypto"]
458delta = "1.4.0 -> 1.5.0"
459
460[[audits.bytes]]
461who = "Dustin J. Mitchell <djmitche@chromium.org>"
462criteria = ["safe-to-run", "does-not-implement-crypto"]
463delta = "1.5.0 -> 1.6.0"
464notes = "Update removes some unsafe, and includes verifiable safety comments for newly-added unsafe."
465
466[[audits.bytes]]
467who = "Dustin J. Mitchell <djmitche@chromium.org>"
468criteria = ["safe-to-run", "does-not-implement-crypto"]
469delta = "1.6.0 -> 1.6.1"
470notes = "Very minor update, no unsafe changes"
471
472[[audits.bytes]]
473who = "Lukasz Anforowicz <lukasza@chromium.org>"
474criteria = ["safe-to-run", "does-not-implement-crypto"]
475delta = "1.6.1 -> 1.7.1"
476notes = "Many changes but they seem to meet the low bar of safe-to-run."
477
478[[audits.bytes]]
479who = "Lukasz Anforowicz <lukasza@chromium.org>"
480criteria = ["safe-to-run", "does-not-implement-crypto"]
481delta = "1.7.1 -> 1.7.2"
482
483[[audits.bytes]]
484who = "Liza Burakova <liza@chromium.org>"
485criteria = ["safe-to-run", "does-not-implement-crypto"]
486delta = "1.7.2 -> 1.8.0"
487notes = "smol change, does not add unsafe code, majority of change is new tests"
488
489[[audits.cfg-if]]
490who = "Lukasz Anforowicz <lukasza@chromium.org>"
491criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
492version = "1.0.0"
493notes = '''
494I grepped for \"unsafe\", \"crypt\", \"cipher\", \"fs\", \"net\" - there were
495no hits.  This is a really small crate (only `lib.rs` which is less than 200
496lines + one end-to-end test) so I also skimmed through the macro's definition
497and everything looks okay to me.
498'''
499
500[[audits.clap]]
501who = "danakj@chromium.org"
502criteria = ["safe-to-run", "does-not-implement-crypto"]
503version = "4.4.8"
504notes = """
505Reviewed in https://crrev.com/c/5171063
506
507Previously reviewed during security review and the audit is grandparented in.
508"""
509
510[[audits.clap]]
511who = "Lukasz Anforowicz <lukasza@chromium.org>"
512criteria = "ub-risk-0"
513version = "4.5.0"
514notes = "No `unsafe`"
515
516[[audits.clap]]
517who = "Lukasz Anforowicz <lukasza@chromium.org>"
518criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
519version = "4.5.15"
520notes = '''
521Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'`, `'\bnet\b'`, `'\bunsafe\b'`
522and there were no hits, except for `std::net::IpAddr` usage in
523`examples/typed-derive.rs`.
524'''
525
526[[audits.clap]]
527who = "Lukasz Anforowicz <lukasza@chromium.org>"
528criteria = ["safe-to-run", "does-not-implement-crypto"]
529delta = "4.4.8 -> 4.4.14"
530
531[[audits.clap]]
532who = "Lukasz Anforowicz <lukasza@chromium.org>"
533criteria = ["safe-to-run", "does-not-implement-crypto"]
534delta = "4.4.14 -> 4.5.0"
535
536[[audits.clap]]
537who = "Lukasz Anforowicz <lukasza@chromium.org>"
538criteria = ["safe-to-run", "does-not-implement-crypto"]
539delta = "4.5.0 -> 4.5.1"
540
541[[audits.clap]]
542who = "danakj <danakj@chromium.org>"
543criteria = ["safe-to-run", "does-not-implement-crypto"]
544delta = "4.5.1 -> 4.5.2"
545notes = "Reviewed in https://crrev.com/c/5362201"
546
547[[audits.clap]]
548who = "Adrian Taylor <adetaylor@chromium.org>"
549criteria = ["safe-to-run", "does-not-implement-crypto"]
550delta = "4.5.2 -> 4.5.3"
551
552[[audits.clap]]
553who = "Lukasz Anforowicz <lukasza@chromium.org>"
554criteria = ["safe-to-run", "does-not-implement-crypto"]
555delta = "4.5.3 -> 4.5.4"
556notes = "Minimal diff - only module naming/nesting-related changes."
557
558[[audits.clap]]
559who = "Adrian Taylor <adetaylor@chromium.org>"
560criteria = ["safe-to-run", "does-not-implement-crypto"]
561delta = "4.5.4 -> 4.5.7"
562
563[[audits.clap]]
564who = "Adrian Taylor <adetaylor@chromium.org>"
565criteria = ["safe-to-run", "does-not-implement-crypto"]
566delta = "4.5.7 -> 4.5.8"
567
568[[audits.clap]]
569who = "Dustin J. Mitchell <djmitche@chromium.org>"
570criteria = ["safe-to-run", "does-not-implement-crypto"]
571delta = "4.5.8 -> 4.5.9"
572
573[[audits.clap]]
574who = "Lukasz Anforowicz <lukasza@chromium.org>"
575criteria = ["safe-to-run", "does-not-implement-crypto"]
576delta = "4.5.15 -> 4.5.16"
577notes = """
578The only change in the delta is explicitly listing re-exports
579instead of using a `*` wildcard in `pub use clap_derive::{self, *}`.
580"""
581
582[[audits.clap]]
583who = "danakj <danakj@chromium.org>"
584criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
585delta = "4.5.15 -> 4.5.17"
586notes = "Minor code change and toml changes."
587
588[[audits.clap]]
589who = "Lukasz Anforowicz <lukasza@chromium.org>"
590criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
591delta = "4.5.17 -> 4.5.18"
592
593[[audits.clap]]
594who = "danakj <danakj@chromium.org>"
595criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
596delta = "4.5.18 -> 4.5.20"
597notes = "Trivial changes"
598
599[[audits.clap]]
600who = "Adrian Taylor <adetaylor@chromium.org>"
601criteria = ["safe-to-run", "does-not-implement-crypto"]
602delta = "4.5.20 -> 4.5.21"
603
604[[audits.clap_builder]]
605who = "danakj@chromium.org"
606criteria = ["safe-to-run", "does-not-implement-crypto"]
607version = "4.4.8"
608notes = """
609Reviewed in https://crrev.com/c/5171063
610
611Previously reviewed during security review and the audit is grandparented in.
612"""
613
614[[audits.clap_builder]]
615who = "Lukasz Anforowicz <lukasza@chromium.org>"
616criteria = "ub-risk-0"
617version = "4.5.0"
618notes = "No `unsafe`"
619
620[[audits.clap_builder]]
621who = "Lukasz Anforowicz <lukasza@chromium.org>"
622criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
623version = "4.5.15"
624notes = '''
625Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'`, `'\bnet\b'`, `'\bunsafe\b'`
626and there were no hits.
627'''
628
629[[audits.clap_builder]]
630who = "Lukasz Anforowicz <lukasza@chromium.org>"
631criteria = ["safe-to-run", "does-not-implement-crypto"]
632delta = "4.4.8 -> 4.4.14"
633
634[[audits.clap_builder]]
635who = "Lukasz Anforowicz <lukasza@chromium.org>"
636criteria = ["safe-to-run", "does-not-implement-crypto"]
637delta = "4.4.14 -> 4.5.0"
638
639[[audits.clap_builder]]
640who = "Lukasz Anforowicz <lukasza@chromium.org>"
641criteria = ["safe-to-run", "does-not-implement-crypto"]
642delta = "4.5.0 -> 4.5.1"
643
644[[audits.clap_builder]]
645who = "danakj <danakj@chromium.org>"
646criteria = ["safe-to-run", "does-not-implement-crypto"]
647delta = "4.5.1 -> 4.5.2"
648notes = "Reviewed in https://crrev.com/c/5362201"
649
650[[audits.clap_builder]]
651who = "Adrian Taylor <adetaylor@chromium.org>"
652criteria = ["safe-to-run", "does-not-implement-crypto"]
653delta = "4.5.2 -> 4.5.7"
654
655[[audits.clap_builder]]
656who = "Adrian Taylor <adetaylor@chromium.org>"
657criteria = ["safe-to-run", "does-not-implement-crypto"]
658delta = "4.5.7 -> 4.5.8"
659
660[[audits.clap_builder]]
661who = "Dustin J. Mitchell <djmitche@chromium.org>"
662criteria = ["safe-to-run", "does-not-implement-crypto"]
663delta = "4.5.8 -> 4.5.9"
664
665[[audits.clap_builder]]
666who = "danakj <danakj@chromium.org>"
667criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
668delta = "4.5.15 -> 4.5.17"
669notes = "No new unsafe, net, fs"
670
671[[audits.clap_builder]]
672who = "Lukasz Anforowicz <lukasza@chromium.org>"
673criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
674delta = "4.5.17 -> 4.5.18"
675
676[[audits.clap_builder]]
677who = "danakj <danakj@chromium.org>"
678criteria = ["safe-to-run", "does-not-implement-crypto", "ub-risk-0"]
679delta = "4.5.18 -> 4.5.20"
680notes = "No new unsafe"
681
682[[audits.clap_builder]]
683who = "Adrian Taylor <adetaylor@chromium.org>"
684criteria = ["safe-to-run", "does-not-implement-crypto"]
685delta = "4.5.20 -> 4.5.21"
686
687[[audits.clap_lex]]
688who = "danakj@chromium.org"
689criteria = ["safe-to-run", "does-not-implement-crypto"]
690version = "0.6.0"
691notes = """
692Reviewed in https://crrev.com/c/5171063
693
694Previously reviewed during security review and the audit is grandparented in.
695"""
696
697[[audits.clap_lex]]
698who = "Lukasz Anforowicz <lukasza@chromium.org>"
699criteria = ["safe-to-run", "does-not-implement-crypto"]
700delta = "0.6.0 -> 0.7.0"
701
702[[audits.clap_lex]]
703who = "Adrian Taylor <adetaylor@chromium.org>"
704criteria = ["safe-to-run", "does-not-implement-crypto"]
705delta = "0.7.0 -> 0.7.1"
706
707[[audits.clap_lex]]
708who = "Lukasz Anforowicz <lukasza@chromium.org>"
709criteria = ["safe-to-run", "does-not-implement-crypto"]
710delta = "0.7.1 -> 0.7.2"
711notes = "No `.rs` changes in the delta."
712
713[[audits.clap_lex]]
714who = "Adrian Taylor <adetaylor@chromium.org>"
715criteria = ["safe-to-run", "does-not-implement-crypto"]
716delta = "0.7.2 -> 0.7.3"
717
718[[audits.codespan-reporting]]
719who = "danakj@chromium.org"
720criteria = ["safe-to-run", "does-not-implement-crypto"]
721version = "0.11.1"
722notes = """
723Reviewed in https://crrev.com/c/5171063
724
725Previously reviewed during security review and the audit is grandparented in.
726"""
727
728[[audits.crc32fast]]
729who = "Lukasz Anforowicz <lukasza@chromium.org>"
730criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
731version = "1.4.2"
732notes = """
733Security review of earlier versions of the crate can be found at
734(Google-internal, sorry): go/image-crate-chromium-security-review
735
736Audit comments for 1.4.2 can be found at https://crrev.com/c/4723145.
737"""
738
739[[audits.cxx]]
740who = "danakj@chromium.org"
741criteria = ["safe-to-run", "does-not-implement-crypto"]
742version = "1.0.110"
743notes = """
744Reviewed in https://crrev.com/c/5171063
745
746Previously reviewed during security review and the audit is grandparented in.
747"""
748
749[[audits.cxx]]
750who = "Lukasz Anforowicz <lukasza@chromium.org>"
751criteria = "does-not-implement-crypto"
752version = "1.0.117"
753notes = """
754Grepped for \"crypt\", \"cipher\" - there were no hits
755(except for benign hits in `MODULE.bazel.lock`)
756"""
757
758[[audits.cxx]]
759who = "danakj <danakj@chromium.org>"
760criteria = "does-not-implement-crypto"
761version = "1.0.122"
762notes = """
763safe-to-deploy and ub-risk-2 are provided by exemption.
764"""
765
766[[audits.cxx]]
767who = "danakj <danakj@chromium.org>"
768criteria = "does-not-implement-crypto"
769delta = "1.0.117 -> 1.0.119"
770notes = "Reviewed in https://crrev.com/c/5362739"
771
772[[audits.cxx]]
773who = "Dustin J. Mitchell <djmitche@chromium.org>"
774criteria = "does-not-implement-crypto"
775delta = "1.0.119 -> 1.0.120"
776notes = "Reviewed in https://chromium-review.googlesource.com/c/chromium/src/+/5392544."
777
778[[audits.cxx]]
779who = "Adrian Taylor <adetaylor@chromium.org>"
780criteria = "does-not-implement-crypto"
781delta = "1.0.120 -> 1.0.121"
782
783[[audits.cxx]]
784who = "Adrian Taylor <adetaylor@chromium.org>"
785criteria = "does-not-implement-crypto"
786delta = "1.0.122 -> 1.0.123"
787notes = "safe-to-deploy and ub-risk-2 are provided by exemption"
788
789[[audits.cxx]]
790who = "Dustin J. Mitchell <djmitche@chromium.org>"
791criteria = "does-not-implement-crypto"
792delta = "1.0.123 -> 1.0.124"
793
794[[audits.cxx]]
795who = "Lukasz Anforowicz <lukasza@chromium.org>"
796criteria = "does-not-implement-crypto"
797delta = "1.0.124 -> 1.0.126"
798
799[[audits.cxx]]
800who = "Adrian Taylor <adetaylor@chromium.org>"
801criteria = "does-not-implement-crypto"
802delta = "1.0.129 -> 1.0.130"
803
804[[audits.cxxbridge]]
805who = "danakj@chromium.org"
806criteria = ["safe-to-run", "does-not-implement-crypto"]
807version = "1.0.110"
808notes = """
809Reviewed in https://crrev.com/c/5171063
810
811Previously reviewed during security review and the audit is grandparented in.
812"""
813
814[[audits.cxxbridge-cmd]]
815who = "danakj@chromium.org"
816criteria = ["safe-to-run", "does-not-implement-crypto"]
817version = "1.0.110"
818notes = """
819Reviewed in https://crrev.com/c/5171063
820
821Previously reviewed during security review and the audit is grandparented in.
822"""
823
824[[audits.cxxbridge-cmd]]
825who = "Lukasz Anforowicz <lukasza@chromium.org>"
826criteria = ["safe-to-run", "does-not-implement-crypto"]
827delta = "1.0.110 -> 1.0.115"
828
829[[audits.cxxbridge-cmd]]
830who = "Lukasz Anforowicz <lukasza@chromium.org>"
831criteria = ["safe-to-run", "does-not-implement-crypto"]
832delta = "1.0.115 -> 1.0.116"
833
834[[audits.cxxbridge-cmd]]
835who = "Lukasz Anforowicz <lukasza@chromium.org>"
836criteria = ["safe-to-run", "does-not-implement-crypto"]
837delta = "1.0.116 -> 1.0.117"
838
839[[audits.cxxbridge-cmd]]
840who = "Lukasz Anforowicz <lukasza@chromium.org>"
841criteria = ["safe-to-run", "does-not-implement-crypto"]
842delta = "1.0.117 -> 1.0.118"
843
844[[audits.cxxbridge-cmd]]
845who = "danakj <danakj@chromium.org>"
846criteria = ["safe-to-run", "does-not-implement-crypto"]
847delta = "1.0.118 -> 1.0.119"
848notes = "Reviewed in https://crrev.com/c/5362136"
849
850[[audits.cxxbridge-cmd]]
851who = "Dustin J. Mitchell <djmitche@chromium.org>"
852criteria = ["safe-to-run", "does-not-implement-crypto"]
853delta = "1.0.119 -> 1.0.120"
854notes = "Version bump only."
855
856[[audits.cxxbridge-cmd]]
857who = "Adrian Taylor <adetaylor@chromium.org>"
858criteria = ["safe-to-run", "does-not-implement-crypto"]
859delta = "1.0.120 -> 1.0.121"
860
861[[audits.cxxbridge-cmd]]
862who = "danakj <danakj@chromium.org>"
863criteria = ["safe-to-run", "does-not-implement-crypto"]
864delta = "1.0.121 -> 1.0.122"
865
866[[audits.cxxbridge-cmd]]
867who = "Adrian Taylor <adetaylor@chromium.org>"
868criteria = ["safe-to-run", "does-not-implement-crypto"]
869delta = "1.0.122 -> 1.0.123"
870
871[[audits.cxxbridge-cmd]]
872who = "Dustin J. Mitchell <djmitche@chromium.org>"
873criteria = ["safe-to-run", "does-not-implement-crypto"]
874delta = "1.0.123 -> 1.0.124"
875notes = "No changes except to dependencies"
876
877[[audits.cxxbridge-cmd]]
878who = "Lukasz Anforowicz <lukasza@chromium.org>"
879criteria = ["safe-to-run", "does-not-implement-crypto"]
880delta = "1.0.124 -> 1.0.126"
881notes = """
882Only minor changes:
883
884* Using `let Some(foo) = ... else { ... }` pattern in a few places.
885* Exposing an extra constructor for `rust::Slice`.
886"""
887
888[[audits.cxxbridge-cmd]]
889who = "danakj <danakj@chromium.org>"
890criteria = ["safe-to-run", "does-not-implement-crypto"]
891delta = "1.0.126 -> 1.0.128"
892
893[[audits.cxxbridge-cmd]]
894who = "Liza Burakova <liza@chromium.org>"
895criteria = ["safe-to-run", "does-not-implement-crypto"]
896delta = "1.0.128 -> 1.0.129"
897
898[[audits.cxxbridge-cmd]]
899who = "Adrian Taylor <adetaylor@chromium.org>"
900criteria = ["safe-to-run", "does-not-implement-crypto"]
901delta = "1.0.129 -> 1.0.130"
902
903[[audits.cxxbridge-cmd]]
904who = "Liza Burakova <liza@chromium.org>"
905criteria = ["safe-to-run", "does-not-implement-crypto"]
906delta = "1.0.130 -> 1.0.131"
907
908[[audits.cxxbridge-flags]]
909who = "danakj@chromium.org"
910criteria = ["safe-to-run", "does-not-implement-crypto"]
911version = "1.0.110"
912notes = """
913Reviewed in https://crrev.com/c/5171063
914
915Previously reviewed during security review and the audit is grandparented in.
916"""
917
918[[audits.cxxbridge-flags]]
919who = "danakj <danakj@chromium.org>"
920criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
921version = "1.0.122"
922notes = "no grep hits for cipher, crypto, fs, net, or unsafe"
923
924[[audits.cxxbridge-flags]]
925who = "Adrian Taylor <adetaylor@chromium.org>"
926criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
927delta = "1.0.122 -> 1.0.123"
928
929[[audits.cxxbridge-flags]]
930who = "Dustin J. Mitchell <djmitche@chromium.org>"
931criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
932delta = "1.0.123 -> 1.0.124"
933notes = "No changes in this delta"
934
935[[audits.cxxbridge-flags]]
936who = "Lukasz Anforowicz <lukasza@chromium.org>"
937criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
938delta = "1.0.124 -> 1.0.126"
939notes = "No changes in this delta"
940
941[[audits.cxxbridge-flags]]
942who = "danakj <danakj@chromium.org>"
943criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
944delta = "1.0.126 -> 1.0.128"
945
946[[audits.cxxbridge-flags]]
947who = "Liza Burakova <liza@chromium.org>"
948criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
949delta = "1.0.128 -> 1.0.129"
950
951[[audits.cxxbridge-flags]]
952who = "Adrian Taylor <adetaylor@chromium.org>"
953criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
954delta = "1.0.129 -> 1.0.130"
955
956[[audits.cxxbridge-macro]]
957who = "danakj <danakj@chromium.org>"
958criteria = "does-not-implement-crypto"
959version = "1.0.122"
960notes = """
961no grep hits for cipher, crypto.
962
963safe-to-deploy and ub-risk-2 are provided by exemption.
964"""
965
966[[audits.cxxbridge-macro]]
967who = "Adrian Taylor <adetaylor@chromium.org>"
968criteria = "does-not-implement-crypto"
969delta = "1.0.122 -> 1.0.123"
970
971[[audits.cxxbridge-macro]]
972who = "Dustin J. Mitchell <djmitche@chromium.org>"
973criteria = "does-not-implement-crypto"
974delta = "1.0.123 -> 1.0.124"
975
976[[audits.cxxbridge-macro]]
977who = "Lukasz Anforowicz <lukasza@chromium.org>"
978criteria = "does-not-implement-crypto"
979delta = "1.0.124 -> 1.0.126"
980
981[[audits.cxxbridge-macro]]
982who = "Adrian Taylor <adetaylor@chromium.org>"
983criteria = "does-not-implement-crypto"
984delta = "1.0.129 -> 1.0.130"
985
986[[audits.either]]
987who = "agl@chromium.org"
988criteria = ["safe-to-run", "does-not-implement-crypto"]
989version = "1.9.0"
990
991[[audits.either]]
992who = "Lukasz Anforowicz <lukasza@chromium.org>"
993criteria = ["safe-to-run", "does-not-implement-crypto"]
994delta = "1.9.0 -> 1.10.0"
995
996[[audits.either]]
997who = "Adrian Taylor <adetaylor@chromium.org>"
998criteria = ["safe-to-run", "does-not-implement-crypto"]
999delta = "1.10.0 -> 1.11.0"
1000
1001[[audits.either]]
1002who = "Dustin J. Mitchell <djmitche@chromium.org>"
1003criteria = ["safe-to-run", "does-not-implement-crypto"]
1004delta = "1.11.0 -> 1.12.0"
1005notes = "Only changes the MSRV and adds a (safe) trait specialization."
1006
1007[[audits.either]]
1008who = "Adrian Taylor <adetaylor@chromium.org>"
1009criteria = ["safe-to-run", "does-not-implement-crypto"]
1010delta = "1.12.0 -> 1.13.0"
1011
1012[[audits.fdeflate]]
1013who = "Lukasz Anforowicz <lukasza@chromium.org>"
1014criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1015version = "0.3.4"
1016notes = '''
1017Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'`, `'\bnet\b'`, `'\bunsafe\b'`
1018and there were no hits.
1019
1020Note that some additional, internal notes about an older version of this crate
1021can be found at go/image-crate-chromium-security-review.
1022'''
1023
1024[[audits.fdeflate]]
1025who = "Lukasz Anforowicz <lukasza@chromium.org>"
1026criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1027delta = "0.3.4 -> 0.3.5"
1028
1029[[audits.fdeflate]]
1030who = "Dustin J. Mitchell <djmitche@chromium.org>"
1031criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1032delta = "0.3.5 -> 0.3.6"
1033notes = "No unsafe, no crypto, mysterious tables replaced with const expressions"
1034
1035[[audits.fend-core]]
1036who = "jiwan@chromium.org"
1037criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1038version = "1.4.6"
1039
1040[[audits.fend-core]]
1041who = "danakj <danakj@chromium.org>"
1042criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1043delta = "1.4.6 -> 1.4.8"
1044
1045[[audits.fend-core]]
1046who = "Lukasz Anforowicz <lukasza@chromium.org>"
1047criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1048delta = "1.4.8 -> 1.4.9"
1049
1050[[audits.fend-core]]
1051who = "Lukasz Anforowicz <lukasza@chromium.org>"
1052criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1053delta = "1.4.9 -> 1.5.0"
1054
1055[[audits.fend-core]]
1056who = "Lukasz Anforowicz <lukasza@chromium.org>"
1057criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1058delta = "1.5.0 -> 1.5.1"
1059notes = "Only `Cargo.toml` changes + defining two new measurement units."
1060
1061[[audits.fend-core]]
1062who = "Dustin J. Mitchell <djmitche@chromium.org>"
1063criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1064delta = "1.5.1 -> 1.5.2"
1065notes = "No unsafe, no crypto"
1066
1067[[audits.fend-core]]
1068who = "danakj <danakj@chromium.org>"
1069criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1070delta = "1.5.2 -> 1.5.3"
1071notes = "No new unsafe, fs, net."
1072
1073[[audits.fend-core]]
1074who = "Adrian Taylor <adetaylor@chromium.org>"
1075criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1076delta = "1.5.3 -> 1.5.5"
1077
1078[[audits.flate2]]
1079who = "Lukasz Anforowicz <lukasza@chromium.org>"
1080criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
1081version = "1.0.30"
1082notes = '''
1083WARNING: This certification is a result of a **partial** audit.  The
1084`any_zlib` code has **not** been audited.  Ability to track partial
1085audits is tracked in https://github.com/mozilla/cargo-vet/issues/380
1086Chromium does use the `any_zlib` feature(s).  Accidentally depending on
1087this feature in the future is prevented using the `ban_features` feature
1088of `gnrt` - see:
1089https://crrev.com/c/4723145/31/third_party/rust/chromium_crates_io/gnrt_config.toml
1090
1091Security review of earlier versions of the crate can be found at
1092(Google-internal, sorry): go/image-crate-chromium-security-review
1093
1094I grepped for `-i cipher`, `-i crypto`, `'\bfs\b'`, `'\bnet\b'`, `'\bunsafe\b'`.
1095
1096All `unsafe` in `flate2` is gated behind `#[cfg(feature = "any_zlib")]`:
1097
1098* The code under `src/ffi/...` will not be used because the `mod c`
1099  declaration in `src/ffi/mod.rs` depends on the `any_zlib` config
1100* 7 uses of `unsafe` in `src/mem.rs` also all depend on the
1101  `any_zlib` config:
1102    - 2 in `fn set_dictionary` (under `impl Compress`)
1103    - 2 in `fn set_level` (under `impl Compress`)
1104    - 3 in `fn set_dictionary` (under `impl Decompress`)
1105
1106All hits of `'\bfs\b'` are in comments, or example code, or test code
1107(but not in product code).
1108
1109There were no hits of `-i cipher`, `-i crypto`, `'\bnet\b'`.
1110'''
1111
1112[[audits.flate2]]
1113who = "Lukasz Anforowicz <lukasza@chromium.org>"
1114criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
1115delta = "1.0.30 -> 1.0.31"
1116notes = """
1117WARNING: This certification is a result of a **partial** audit.  The
1118`any_zlib` code has **not** been audited.  See the audit of 1.0.30 for
1119more details.
1120
1121Only benign changes:
1122
1123* Comment-only changes in `.rs` files
1124* Also changing dependency version in `Cargo.toml`, but this is for `any_zlib`
1125  feature which is not used in Chromium (i.e. this is a *partial* audit - see
1126  the previous audit notes for 1.0.30)
1127"""
1128
1129[[audits.flate2]]
1130who = "Lukasz Anforowicz <lukasza@chromium.org>"
1131criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
1132delta = "1.0.31 -> 1.0.33"
1133notes = """
1134WARNING: This certification is a result of a **partial** audit.  The
1135`any_zlib` code has **not** been audited.  See the audit of 1.0.30 for
1136more details.
1137
1138This delta audit has been reviewed in https://crrev.com/c/5811890
1139The delta can be seen at https://diff.rs/flate2/1.0.31/1.0.33
1140The delta bumps up `miniz_oxide` dependency to `0.8.0`
1141The delta also contains some changes to `src/ffi/c.rs` which is *NOT* used by Chromium
1142and therefore hasn't been covered by this partial audit.
1143"""
1144
1145[[audits.flate2]]
1146who = "Lukasz Anforowicz <lukasza@chromium.org>"
1147criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
1148delta = "1.0.33 -> 1.0.34"
1149notes = """
1150WARNING: This certification is a result of a **partial** audit.  The
1151`any_zlib` code has **not** been audited.  See the audit of 1.0.30 for
1152more details.
1153
1154The delta can be seen at https://diff.rs/flate2/1.0.33/1.0.34
1155The delta bumps up `libz-rs-sys` dependency from `0.2.1` to `0.3.0`
1156The delta in `lib.rs` only tweaks comments and has no code changes.
1157The delta also contains some changes to `src/ffi/c.rs` which is *NOT* used by Chromium
1158and therefore hasn't been covered by this partial audit.
1159"""
1160
1161[[audits.flate2]]
1162who = "Adrian Taylor <adetaylor@chromium.org>"
1163criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
1164delta = "1.0.34 -> 1.0.35"
1165notes = "There are no significant code changes in this delta (just one string constant change). Note that prior audits may have been partial."
1166
1167[[audits.font-types]]
1168who = "Lukasz Anforowicz <lukasza@chromium.org>"
1169criteria = ["ub-risk-0", "safe-to-deploy", "does-not-implement-crypto"]
1170version = "0.4.2"
1171notes = """
1172Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'``, `'\bnet\b'``, `'\bunsafe\b'``
1173and there were no hits.
1174
1175The initial version of this crate has been added to Chromium in
1176https://source.chromium.org/chromium/chromium/src/+/a59c3c448941f92f870d0c18c6d53d5c6104ab72
1177The CL description contains a link to a Google-internal document with audit details.
1178"""
1179
1180[[audits.font-types]]
1181who = "Lukasz Anforowicz <lukasza@chromium.org>"
1182criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"]
1183version = "0.5.2"
1184notes = """
1185Grepped for \"unsafe\", \"crypt\", \"cipher\", \"fs\", \"net\" - there were no
1186hits except for 3 `unsafe impl bytemuck::SomeTrait for ...`.  Each `impl` had a
1187reasonable safety comment and there were no actual `unsafe` blocks, so I think
1188this can be treated as `ub-risk-1`.  Additional `unsafe` review comments can be
1189found in https://crrev.com/c/5445719.
1190
1191For overall `safe-to-deploy` and `does-not-implement-crypto` I am mostly
1192relying on certification by the Chromium engineers who work on the library
1193(mostly drott@chromium.org).
1194"""
1195
1196[[audits.font-types]]
1197who = "danakj <danakj@chromium.org>"
1198criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1199delta = "0.4.2 -> 0.4.3"
1200notes = "Reviewed in https://crrev.com/c/5362378. No new use of unsafe."
1201
1202[[audits.font-types]]
1203who = "danakj <danakj@chromium.org>"
1204criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"]
1205delta = "0.5.2 -> 0.5.3"
1206
1207[[audits.font-types]]
1208who = "Lukasz Anforowicz <lukasza@chromium.org>"
1209criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"]
1210delta = "0.5.3 -> 0.5.4"
1211notes = """
1212The delta just adds `impl From<GlyphId> for u32` - no impact on `unsafe impl`s
1213elsewhere.
1214"""
1215
1216[[audits.font-types]]
1217who = "danakj@chromium.org"
1218criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"]
1219delta = "0.5.4 -> 0.5.5"
1220notes = "No unsafe changes."
1221
1222[[audits.font-types]]
1223who = "Dominik Röttsches <drott@chromium.org>"
1224criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"]
1225delta = "0.5.5 -> 0.6.0"
1226notes = "This change comprises changes to understand larger GlyphId and compatibility with older Mac TrueType fonts. No unsafe code is introduced."
1227
1228[[audits.font-types]]
1229who = "Dominik Röttsches <drott@chromium.org>"
1230criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"]
1231delta = "0.6.0 -> 0.7.1"
1232notes = "No new unsafe, mostly changes about int24 as a new OpenType type, and moving Pen from Skrifa."
1233
1234[[audits.font-types]]
1235who = "Dominik Röttsches <drott@chromium.org>"
1236criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"]
1237delta = "0.7.1 -> 0.7.2"
1238notes = "Explicit inlining of some type conversion. No new unsafe."
1239
1240[[audits.font-types]]
1241who = "Dominik Röttsches <drott@chromium.org>"
1242criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"]
1243delta = "0.7.2 -> 0.7.3"
1244notes = "Wrapping math for Fixed type, no new unsafe."
1245
1246[[audits.getrandom]]
1247who = "danakj@chromium.org"
1248criteria = ["safe-to-run", "does-not-implement-crypto"]
1249version = "0.2.11"
1250notes = """
1251Reviewed in https://crrev.com/c/5171063
1252
1253Previously reviewed during security review and the audit is grandparented in.
1254"""
1255
1256[[audits.getrandom]]
1257who = "Lukasz Anforowicz <lukasza@chromium.org>"
1258criteria = "does-not-implement-crypto"
1259delta = "0.2.11 -> 0.2.12"
1260
1261[[audits.getrandom]]
1262who = "Adrian Taylor <adetaylor@chromium.org>"
1263criteria = ["safe-to-run", "does-not-implement-crypto"]
1264delta = "0.2.12 -> 0.2.14"
1265
1266[[audits.getrandom]]
1267who = "danakj <danakj@chromium.org>"
1268criteria = ["safe-to-run", "does-not-implement-crypto"]
1269delta = "0.2.14 -> 0.2.15"
1270
1271[[audits.glob]]
1272who = "danakj <danakj@chromium.org>"
1273criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1274version = "0.3.1"
1275notes = """
1276No unsafe. The crate's purpose is to find files based on a glob, so it
1277uses the fs module for that and returns lists of paths. There's no net
1278usage or crypto.
1279"""
1280
1281[[audits.heck]]
1282who = "Lukasz Anforowicz <lukasza@chromium.org>"
1283criteria = ["ub-risk-0", "safe-to-deploy", "does-not-implement-crypto"]
1284version = "0.4.1"
1285notes = """
1286Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'``, `'\bnet\b'``, `'\bunsafe\b'``
1287and there were no hits.
1288
1289`heck` (version `0.3.3`) has been added to Chromium in
1290https://source.chromium.org/chromium/chromium/src/+/28841c33c77833cc30b286f9ae24c97e7a8f4057
1291"""
1292
1293[[audits.hex-literal]]
1294who = "danakj@chromium.org"
1295criteria = ["safe-to-run", "does-not-implement-crypto"]
1296version = "0.4.1"
1297notes = """
1298Reviewed in https://crrev.com/c/5171063
1299
1300Previously reviewed during security review and the audit is grandparented in.
1301"""
1302
1303[[audits.itertools]]
1304who = "agl@chromium.org"
1305criteria = ["safe-to-run", "does-not-implement-crypto"]
1306version = "0.11.0"
1307notes = """
1308This is 12K lines of code, plus 6K lines of tests and benchmarks.
1309It has minimal use of unsafe and so I have paged though it all with \"::\"
1310highlighted and paid attention to which imported functions are being called.
1311"""
1312
1313[[audits.itoa]]
1314who = "Lukasz Anforowicz <lukasza@chromium.org>"
1315criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
1316version = "1.0.10"
1317notes = '''
1318I grepped for \"crypt\", \"cipher\", \"fs\", \"net\" - there were no hits.
1319
1320There are a few places where `unsafe` is used.  Unsafe review notes can be found
1321in https://crrev.com/c/5350697.
1322
1323Version 1.0.1 of this crate has been added to Chromium in
1324https://crrev.com/c/3321896.
1325'''
1326
1327[[audits.itoa]]
1328who = "Lukasz Anforowicz <lukasza@chromium.org>"
1329criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
1330delta = "1.0.10 -> 1.0.11"
1331notes = """
1332Straightforward diff between 1.0.10 and 1.0.11 - only 3 commits:
1333
1334* Bumping up the version
1335* A touch up of comments
1336* And my own PR to make `unsafe` blocks more granular:
1337  https://github.com/dtolnay/itoa/pull/42
1338"""
1339
1340[[audits.itoa]]
1341who = "Liza Burakova <liza@chromium.org>"
1342criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
1343delta = "1.0.11 -> 1.0.14"
1344notes = """
1345Unsafe review at https://crrev.com/c/6051067
1346"""
1347
1348[[audits.lazy_static]]
1349who = "Lukasz Anforowicz <lukasza@chromium.org>"
1350criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
1351version = "1.4.0"
1352notes = '''
1353I grepped for \"crypt\", \"cipher\", \"fs\", \"net\" - there were no hits.
1354
1355There are two places where `unsafe` is used.  Unsafe review notes can be found
1356in https://crrev.com/c/5347418.
1357
1358This crate has been added to Chromium in https://crrev.com/c/3321895.
1359'''
1360
1361[[audits.lazy_static]]
1362who = "Lukasz Anforowicz <lukasza@chromium.org>"
1363criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
1364delta = "1.4.0 -> 1.5.0"
1365notes = "Unsafe review notes: https://crrev.com/c/5650836"
1366
1367[[audits.log]]
1368who = "danakj <danakj@chromium.org>"
1369criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
1370version = "0.4.22"
1371notes = """
1372Unsafe review in https://docs.google.com/document/d/1IXQbD1GhTRqNHIGxq6yy7qHqxeO4CwN5noMFXnqyDIM/edit?usp=sharing
1373
1374Unsafety is generally very well-documented, with one exception, which we
1375describe in the review doc.
1376"""
1377
1378[[audits.log]]
1379who = "Lukasz Anforowicz <lukasza@chromium.org>"
1380criteria = ["safe-to-run", "does-not-implement-crypto"]
1381delta = "0.4.20 -> 0.4.21"
1382notes = """
1383I grepped for \"crypt\", \"cipher\", \"fs\", \"net\" - there were no hits.  I also skimmed
1384through the 0.4.20 => 0.4.21 delta and there was no new crypto-related code AFAICT.
1385"""
1386
1387[[audits.log]]
1388who = "Adrian Taylor <adetaylor@chromium.org>"
1389criteria = ["safe-to-run", "does-not-implement-crypto"]
1390delta = "0.4.21 -> 0.4.22"
1391
1392[[audits.memchr]]
1393who = "Dustin J. Mitchell <djmitche@chromium.org>"
1394criteria = "does-not-implement-crypto"
1395delta = "2.7.2 -> 2.7.4"
1396
1397[[audits.minimal-lexical]]
1398who = "danakj@chromium.org"
1399criteria = "ub-risk-3"
1400version = "0.2.1"
1401notes = """
1402Reviewed in https://chromium-review.googlesource.com/c/chromium/src/+/4977110
1403- Unsound unsafe blocks present.
1404- Safe traits that can cause soundness bugs.
1405"""
1406
1407[[audits.miniz_oxide]]
1408who = "Lukasz Anforowicz <lukasza@chromium.org>"
1409criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1410version = "0.7.4"
1411notes = '''
1412Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'`, `'\bnet\b'`, `'\bunsafe\b'`
1413and there were no hits, except for some mentions of "unsafe" in the `README.md`
1414and in a comment in `src/deflate/core.rs`.  The comment discusses whether a
1415function should be treated as unsafe, but there is no actual `unsafe` code, so
1416the crate meets the `ub-risk-0` criteria.
1417
1418Note that some additional, internal notes about an older version of this crate
1419can be found at go/image-crate-chromium-security-review.
1420'''
1421
1422[[audits.miniz_oxide]]
1423who = "Lukasz Anforowicz <lukasza@chromium.org>"
1424criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1425delta = "0.7.4 -> 0.8.0"
1426notes = '''
1427This delta audit has been reviewed in https://crrev.com/c/5811890
1428
1429The delta can be inspected at https://diff.rs/miniz_oxide/0.7.4/0.8.0
1430and is fairly small (changes related to `const fn` and to `adler2`
1431switch).
1432
1433I've grepped for `-i cipher`, `-i crypto`, `\bfs\b`, `\bnet\b`, and
1434`\bunsafe\b`.  There were no hits (except for comments in `core.rs`
1435and in `Readme.md`).
1436'''
1437
1438[[audits.nom]]
1439who = "danakj@chromium.org"
1440criteria = ["does-not-implement-crypto", "safe-to-deploy", "ub-risk-1"]
1441version = "7.1.3"
1442notes = """
1443Reviewed in https://chromium-review.googlesource.com/c/chromium/src/+/5046153
1444"""
1445
1446[[audits.png]]
1447who = "Lukasz Anforowicz <lukasza@chromium.org>"
1448criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1449version = "0.17.13"
1450notes = '''
1451Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'`, `'\bnet\b'`, `'\bunsafe\b'`
1452and there were no hits except for reasonable, client-controlled usage of
1453`std::fs::File` in tests in `src/encoder.rs`, tests in `src/decoder/stream.rs`,
1454and in some example code.
1455
1456Note that some additional, internal notes about an older version of this crate
1457can be found at go/image-crate-chromium-security-review.
1458'''
1459
1460[[audits.png]]
1461who = "Lukasz Anforowicz <lukasza@chromium.org>"
1462criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1463delta = "0.17.13 -> 0.17.14"
1464
1465[[audits.ppv-lite86]]
1466who = "danakj@chromium.org"
1467criteria = ["safe-to-run", "does-not-implement-crypto"]
1468version = "0.2.17"
1469notes = """
1470Reviewed in https://crrev.com/c/5171063
1471
1472Previously reviewed during security review and the audit is grandparented in.
1473"""
1474
1475[[audits.ppv-lite86]]
1476who = "danakj <danakj@chromium.org>"
1477criteria = ["safe-to-run", "does-not-implement-crypto"]
1478delta = "0.2.17 -> 0.2.20"
1479notes = "Using zerocopy to reduce unsafe usage."
1480
1481[[audits.proc-macro2]]
1482who = "Lukasz Anforowicz <lukasza@chromium.org>"
1483criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
1484version = "1.0.78"
1485notes = """
1486Grepped for \"crypt\", \"cipher\", \"fs\", \"net\" - there were no hits
1487(except for a benign \"fs\" hit in a doc comment)
1488
1489Notes from the `unsafe` review can be found in https://crrev.com/c/5385745.
1490"""
1491
1492[[audits.proc-macro2]]
1493who = "Lukasz Anforowicz <lukasza@chromium.org>"
1494criteria = ["safe-to-run", "does-not-implement-crypto"]
1495delta = "1.0.69 -> 1.0.76"
1496notes = """
14971.0.69 has been previously audited as \"safe-to-run\",
1498\"does-not-implement-crypto\" - see
1499https://github.com/google/rust-crate-audits/blob/c2d49cb6e80bb817f569debecf846161dcebd88c/audits.toml#L3939-L3979
1500The \"1.0.69 -> 1.0.76\" delta meets the same criteria.
1501
1502This is an incremental/delta audit - we don't claim any particular `ub-risk-N`
1503level for the baseline or for the final version.  OTOH note that additional
1504uses of `unsafe` have been reviewed in https://crrev.com/c/5178771 and the
1505**delta**  was evaluated as `ub-risk-2`.  There are some new `unsafe` blocks
1506but they seem sound - additional `unsafe` audit notes can be found in
1507https://crrev.com/c/5178771/comment/32dbab4e_c7402137 and
1508https://crrev.com/c/5178771/4/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.76/src/wrapper.rs#783
1509"""
1510
1511[[audits.proc-macro2]]
1512who = "Adrian Taylor <adetaylor@chromium.org>"
1513criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
1514delta = "1.0.78 -> 1.0.79"
1515
1516[[audits.proc-macro2]]
1517who = "Adrian Taylor <adetaylor@chromium.org>"
1518criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
1519delta = "1.0.79 -> 1.0.80"
1520
1521[[audits.proc-macro2]]
1522who = "Dustin J. Mitchell <djmitche@chromium.org>"
1523criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
1524delta = "1.0.80 -> 1.0.81"
1525notes = "Comment changes only"
1526
1527[[audits.proc-macro2]]
1528who = "danakj <danakj@chromium.org>"
1529criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
1530delta = "1.0.81 -> 1.0.82"
1531
1532[[audits.proc-macro2]]
1533who = "Dustin J. Mitchell <djmitche@chromium.org>"
1534criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
1535delta = "1.0.82 -> 1.0.83"
1536notes = "Substantive change is replacing String with Box<str>, saving memory."
1537
1538[[audits.proc-macro2]]
1539who = "Lukasz Anforowicz <lukasza@chromium.org>"
1540criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
1541delta = "1.0.83 -> 1.0.84"
1542notes = "Only doc comment changes in `src/lib.rs`."
1543
1544[[audits.proc-macro2]]
1545who = "danakj@chromium.org"
1546criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
1547delta = "1.0.84 -> 1.0.85"
1548notes = "Test-only changes."
1549
1550[[audits.proc-macro2]]
1551who = "Lukasz Anforowicz <lukasza@chromium.org>"
1552criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
1553delta = "1.0.85 -> 1.0.86"
1554notes = """
1555Comment-only changes in `build.rs`.
1556Reordering of `Cargo.toml` entries.
1557Just bumping up the version number in `lib.rs`.
1558Config-related changes in `test_size.rs`.
1559"""
1560
1561[[audits.proc-macro2]]
1562who = "danakj <danakj@chromium.org>"
1563criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
1564delta = "1.0.86 -> 1.0.87"
1565notes = "No new unsafe interactions."
1566
1567[[audits.proc-macro2]]
1568who = "Liza Burakova <liza@chromium.org"
1569criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
1570delta = "1.0.87 -> 1.0.89"
1571notes = """
1572Biggest change is adding error handling in build.rs.
1573Some config related changes in wrapper.rs.
1574"""
1575
1576[[audits.prost]]
1577who = "agl@chromium.org"
1578criteria = ["safe-to-run", "does-not-implement-crypto"]
1579version = "0.12.3"
1580
1581[[audits.prost]]
1582who = "Adrian Taylor <adetaylor@chromium.org>"
1583criteria = ["safe-to-run", "does-not-implement-crypto"]
1584delta = "0.12.3 -> 0.12.4"
1585
1586[[audits.prost]]
1587who = "Dustin J. Mitchell <djmitche@chromium.org>"
1588criteria = ["safe-to-run", "does-not-implement-crypto"]
1589delta = "0.12.4 -> 0.12.6"
1590notes = "No concerning changes for safe-to-run."
1591
1592[[audits.prost]]
1593who = "Lukasz Anforowicz <lukasza@chromium.org>"
1594criteria = ["safe-to-run", "does-not-implement-crypto"]
1595delta = "0.12.6 -> 0.13.3"
1596
1597[[audits.prost-derive]]
1598who = "agl@chromium.org"
1599criteria = ["safe-to-run", "does-not-implement-crypto", "ub-risk-0"]
1600version = "0.12.3"
1601
1602[[audits.prost-derive]]
1603who = "danakj <danakj@chromium.org>"
1604criteria = ["safe-to-run", "does-not-implement-crypto", "ub-risk-0"]
1605delta = "0.12.3 -> 0.12.5"
1606
1607[[audits.prost-derive]]
1608who = "Dustin J. Mitchell <djmitche@chromium.org>"
1609criteria = ["safe-to-run", "does-not-implement-crypto"]
1610delta = "0.12.5 -> 0.12.6"
1611notes = "No changes here; presumably a bump of the `prost` crate."
1612
1613[[audits.prost-derive]]
1614who = "Lukasz Anforowicz <lukasza@chromium.org>"
1615criteria = ["safe-to-run", "does-not-implement-crypto"]
1616delta = "0.12.6 -> 0.13.3"
1617
1618[[audits.qr_code]]
1619who = "Lukasz Anforowicz <lukasza@chromium.org>"
1620criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1621version = "2.0.0"
1622notes = """
1623* This crate was imported into Chromium back in May 2023:
1624    - CL: https://crrev.com/c/4497329
1625    - Google-internal audit notes: go/qr-code-chromium-security-review
1626* Certification today is mostly based on the old audit.
1627  The only checks performed today are:
1628    - `grep`ped for `unsafe` and verified that the only hit comes
1629      from `#![forbid(unsafe_code)]`
1630"""
1631
1632[[audits.quote]]
1633who = "Lukasz Anforowicz <lukasza@chromium.org>"
1634criteria = "ub-risk-0"
1635version = "1.0.33"
1636notes = 'Grepped for `\bunsafe\b` - there were no hits'
1637
1638[[audits.quote]]
1639who = "Lukasz Anforowicz <lukasza@chromium.org>"
1640criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1641version = "1.0.35"
1642notes = """
1643Grepped for \"unsafe\", \"crypt\", \"cipher\", \"fs\", \"net\" - there were no hits
1644(except for benign \"net\" hit in tests and \"fs\" hit in README.md)
1645"""
1646
1647[[audits.quote]]
1648who = "Adrian Taylor <adetaylor@chromium.org>"
1649criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1650delta = "1.0.35 -> 1.0.36"
1651
1652[[audits.quote]]
1653who = "Lukasz Anforowicz <lukasza@chromium.org>"
1654criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
1655delta = "1.0.36 -> 1.0.37"
1656notes = """
1657The delta just 1) inlines/expands `impl ToTokens` that used to be handled via
1658`primitive!` macro and 2) adds `impl ToTokens` for `CStr` and `CString`.
1659"""
1660
1661[[audits.rand]]
1662who = "danakj@chromium.org"
1663criteria = ["safe-to-run", "does-not-implement-crypto"]
1664version = "0.8.5"
1665notes = """
1666Reviewed in https://crrev.com/c/5171063
1667
1668Previously reviewed during security review and the audit is grandparented in.
1669"""
1670
1671[[audits.rand_chacha]]
1672who = "Allen Webb <allenwebb@google.com>"
1673criteria = "crypto-safe"
1674version = "0.3.1"
1675notes = """
1676This crate doesn't actually implement ChaCha, it uses the implementation in
1677`c2-chacha`.  Note that this review has been internally tracked in b/330501364.
1678"""
1679
1680[[audits.rand_pcg]]
1681who = "danakj@chromium.org"
1682criteria = ["safe-to-run", "does-not-implement-crypto"]
1683version = "0.3.1"
1684notes = """
1685Reviewed in https://crrev.com/c/5171063
1686
1687Previously reviewed during security review and the audit is grandparented in.
1688"""
1689
1690[[audits.read-fonts]]
1691who = "Lukasz Anforowicz <lukasza@chromium.org>"
1692criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1693version = "0.19.0"
1694notes = """
1695Grepped for \"unsafe\", \"crypt\", \"cipher\", \"fs\", \"net\" - there were no hits
1696(except for a benign \"fs\" hit in a comment).
1697
1698For overall `safe-to-deploy` and `does-not-implement-crypto` I am mostly
1699relying on certification by the Chromium engineers who work on the library
1700(mostly drott@chromium.org).
1701"""
1702
1703[[audits.read-fonts]]
1704who = "danakj <danakj@chromium.org>"
1705criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1706delta = "0.19.0 -> 0.19.1"
1707
1708[[audits.read-fonts]]
1709who = "Lukasz Anforowicz <lukasza@chromium.org>"
1710criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1711delta = "0.19.1 -> 0.19.2"
1712notes = """
1713The delta is a bug fix in `src/tables/cmap.rs`.
1714No new `unsafe` - still `ub-risk-0`.
1715"""
1716
1717[[audits.read-fonts]]
1718who = "danakj@chromium.org"
1719criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1720delta = "0.19.2 -> 0.19.3"
1721notes = "No unsafe."
1722
1723[[audits.read-fonts]]
1724who = "Dominik Röttsches <drott@chromium.org>"
1725criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1726delta = "0.19.3 -> 0.20.0"
1727notes = """
1728Contains changes for:
1729* Adding IntSet, SparseBitSet
1730* Support for VARC
1731* Improved AAT support
1732* Fuzzer overflow fixes, and avoiding timeouts in CMAP
1733* Closure computations for subsetting of COLR
1734* large glyphId support.
1735"""
1736
1737[[audits.read-fonts]]
1738who = "Dominik Röttsches <drott@chromium.org>"
1739criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1740delta = "0.20.0 -> 0.22.0"
1741notes = "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."
1742
1743[[audits.read-fonts]]
1744who = "Lukasz Anforowicz <lukasza@chromium.org>"
1745criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1746delta = "0.22.0 -> 0.22.1"
1747
1748[[audits.read-fonts]]
1749who = "Dominik Röttsches <drott@chromium.org>"
1750criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1751delta = "0.22.1 -> 0.22.3"
1752notes = "Support for the hdmx table, inlining optimizations. Crate has no unsafe code."
1753
1754[[audits.read-fonts]]
1755who = "Dominik Röttsches <drott@chromium.org>"
1756criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1757delta = "0.22.3 -> 0.23.0"
1758notes = "More lenient parsing of CFF fonts with invalid BlueValues, incremental font transfer implementation of glyph keyed patching. No unsafe code in crate."
1759
1760[[audits.read-fonts]]
1761who = "Dominik Röttsches <drott@chromium.org>"
1762criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1763delta = "0.23.0 -> 0.23.2"
1764notes = "Some IFT changes, and better compatibility with empty PrivateDict in CFF."
1765
1766[[audits.regex]]
1767who = "danakj@chromium.org"
1768criteria = ["safe-to-run", "does-not-implement-crypto"]
1769version = "1.10.2"
1770notes = """
1771Reviewed in https://crrev.com/c/5171063
1772
1773Previously reviewed during security review and the audit is grandparented in.
1774"""
1775
1776[[audits.regex]]
1777who = "Lukasz Anforowicz <lukasza@chromium.org>"
1778criteria = ["safe-to-run", "does-not-implement-crypto"]
1779delta = "1.10.2 -> 1.10.3"
1780
1781[[audits.regex]]
1782who = "Dustin J. Mitchell <djmitche@chromium.org>"
1783criteria = ["safe-to-run", "does-not-implement-crypto"]
1784delta = "1.10.3 -> 1.10.4"
1785notes = "Docs changes only."
1786
1787[[audits.regex]]
1788who = "Adrian Taylor <adetaylor@chromium.org>"
1789criteria = ["safe-to-run", "does-not-implement-crypto"]
1790delta = "1.10.4 -> 1.10.5"
1791
1792[[audits.regex]]
1793who = "Lukasz Anforowicz <lukasza@chromium.org>"
1794criteria = ["safe-to-run", "does-not-implement-crypto"]
1795delta = "1.10.5 -> 1.10.6"
1796notes = "The delta has minimal changes in `pattern.rs`."
1797
1798[[audits.regex]]
1799who = "Lukasz Anforowicz <lukasza@chromium.org>"
1800criteria = ["safe-to-run", "does-not-implement-crypto"]
1801delta = "1.10.6 -> 1.11.0"
1802
1803[[audits.regex]]
1804who = "Liza Burakova <liza@chromium.org>"
1805criteria = ["safe-to-run", "does-not-implement-crypto"]
1806delta = "1.11.0 -> 1.11.1"
1807
1808[[audits.regex-automata]]
1809who = "danakj@chromium.org"
1810criteria = ["safe-to-run", "does-not-implement-crypto"]
1811version = "0.4.3"
1812notes = """
1813Reviewed in https://crrev.com/c/5171063
1814
1815Previously reviewed during security review and the audit is grandparented in.
1816"""
1817
1818[[audits.regex-automata]]
1819who = "Lukasz Anforowicz <lukasza@chromium.org>"
1820criteria = ["safe-to-run", "does-not-implement-crypto"]
1821delta = "0.4.3 -> 0.4.5"
1822
1823[[audits.regex-automata]]
1824who = "danakj <danakj@chromium.org>"
1825criteria = ["safe-to-run", "does-not-implement-crypto"]
1826delta = "0.4.5 -> 0.4.6"
1827notes = "Reviewed in https://crrev.com/c/5362200"
1828
1829[[audits.regex-automata]]
1830who = "Adrian Taylor <adetaylor@chromium.org>"
1831criteria = ["safe-to-run", "does-not-implement-crypto"]
1832delta = "0.4.6 -> 0.4.7"
1833
1834[[audits.regex-automata]]
1835who = "Lukasz Anforowicz <lukasza@chromium.org>"
1836criteria = ["safe-to-run", "does-not-implement-crypto"]
1837delta = "0.4.7 -> 0.4.8"
1838
1839[[audits.regex-automata]]
1840who = "Lukasz Anforowicz <lukasza@chromium.org>"
1841criteria = ["safe-to-run", "does-not-implement-crypto"]
1842delta = "0.4.8 -> 0.4.9"
1843notes = "New API: `BuildError.is_size_limit_exceeded`."
1844
1845[[audits.regex-syntax]]
1846who = "danakj@chromium.org"
1847criteria = ["safe-to-run", "does-not-implement-crypto"]
1848version = "0.8.2"
1849notes = """
1850Reviewed in https://crrev.com/c/5171063
1851
1852Previously reviewed during security review and the audit is grandparented in.
1853"""
1854
1855[[audits.regex-syntax]]
1856who = "Lukasz Anforowicz <lukasza@chromium.org>"
1857criteria = ["safe-to-run", "does-not-implement-crypto"]
1858delta = "0.8.2 -> 0.8.3"
1859
1860[[audits.regex-syntax]]
1861who = "Adrian Taylor <adetaylor@chromium.org>"
1862criteria = ["safe-to-run", "does-not-implement-crypto"]
1863delta = "0.8.3 -> 0.8.4"
1864
1865[[audits.regex-syntax]]
1866who = "Lukasz Anforowicz <lukasza@chromium.org>"
1867criteria = ["safe-to-run", "does-not-implement-crypto"]
1868delta = "0.8.4 -> 0.8.5"
1869
1870[[audits.relative-path]]
1871who = "danakj <danakj@chromium.org>"
1872criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
1873version = "1.9.3"
1874notes = """
1875There is no net or fs usage, no crypto.
1876There is unsafe to convert pointers from str to RelativePath, where the latter
1877is a transparent wrapper around str so the pointer will be to a valid
1878type/value always.
1879"""
1880
1881[[audits.rstest]]
1882who = "danakj@chromium.org"
1883criteria = ["safe-to-run", "does-not-implement-crypto", "ub-risk-0"]
1884version = "0.17.0"
1885notes = """
1886Reviewed in https://crrev.com/c/5171063
1887
1888Previously reviewed during security review and the audit is grandparented in.
1889"""
1890
1891[[audits.rstest]]
1892who = "danakj <danakj@chromium.org>"
1893criteria = ["safe-to-run", "does-not-implement-crypto", "ub-risk-0"]
1894delta = "0.17.0 -> 0.22.0"
1895notes = "No new unsafe. fs and net usage, but only in its own tests."
1896
1897[[audits.rstest_macros]]
1898who = "danakj@chromium.org"
1899criteria = ["safe-to-run", "does-not-implement-crypto"]
1900version = "0.17.0"
1901notes = """
1902Reviewed in https://crrev.com/c/5171063
1903
1904Previously reviewed during security review and the audit is grandparented in.
1905"""
1906
1907[[audits.rstest_macros]]
1908who = "danakj <danakj@chromium.org>"
1909criteria = ["safe-to-run", "does-not-implement-crypto", "ub-risk-0"]
1910version = "0.22.0"
1911notes = """
1912There is no fs or net usage directly, though there is fs
1913usage through the glob crate to get lists of files if the user
1914asks for it in their macro.
1915
1916There is no unsafe. Scanned through all the code.
1917"""
1918
1919[[audits.rstest_reuse]]
1920who = "danakj@chromium.org"
1921criteria = ["safe-to-run", "does-not-implement-crypto", "ub-risk-0"]
1922version = "0.5.0"
1923notes = """
1924Reviewed in https://crrev.com/c/5171063
1925
1926Previously reviewed during security review and the audit is grandparented in.
1927"""
1928
1929[[audits.rstest_reuse]]
1930who = "danakj <danakj@chromium.org>"
1931criteria = ["safe-to-run", "does-not-implement-crypto", "ub-risk-0"]
1932delta = "0.5.0 -> 0.7.0"
1933notes = "No new unsafe, looked through the changes which were minimal."
1934
1935[[audits.rustc-demangle]]
1936who = "danakj@chromium.org"
1937criteria = ["safe-to-run", "does-not-implement-crypto"]
1938version = "0.1.23"
1939notes = """
1940Reviewed in https://crrev.com/c/5171063
1941
1942Previously reviewed during security review and the audit is grandparented in.
1943"""
1944
1945[[audits.rustc-demangle]]
1946who = "danakj <danakj@chromium.org>"
1947criteria = ["safe-to-run", "does-not-implement-crypto"]
1948delta = "0.1.23 -> 0.1.24"
1949
1950[[audits.rustc_version]]
1951who = "danakj@chromium.org"
1952criteria = ["safe-to-run", "does-not-implement-crypto"]
1953version = "0.4.0"
1954notes = """
1955Reviewed in https://crrev.com/c/5171063
1956
1957Previously reviewed during security review and the audit is grandparented in.
1958"""
1959
1960[[audits.rustc_version]]
1961who = "danakj <danakj@chromium.org>"
1962criteria = ["safe-to-run", "does-not-implement-crypto"]
1963delta = "0.4.0 -> 0.4.1"
1964notes = "No unsafe, net or fs."
1965
1966[[audits.rustversion]]
1967who = "Lukasz Anforowicz <lukasza@chromium.org>"
1968criteria = ["ub-risk-0", "safe-to-deploy", "does-not-implement-crypto"]
1969version = "1.0.14"
1970notes = """
1971Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'``, `'\bnet\b'``, `'\bunsafe\b'``
1972and there were no hits except for:
1973
1974* Using trivially-safe `unsafe` in test code:
1975
1976    ```
1977    tests/test_const.rs:unsafe fn _unsafe() {}
1978    tests/test_const.rs:const _UNSAFE: () = unsafe { _unsafe() };
1979    ```
1980
1981* Using `unsafe` in a string:
1982
1983    ```
1984    src/constfn.rs:            \"unsafe\" => Qualifiers::Unsafe,
1985    ```
1986
1987* Using `std::fs` in `build/build.rs` to write `${OUT_DIR}/version.expr`
1988  which is later read back via `include!` used in `src/lib.rs`.
1989
1990Version `1.0.6` of this crate has been added to Chromium in
1991https://source.chromium.org/chromium/chromium/src/+/28841c33c77833cc30b286f9ae24c97e7a8f4057
1992"""
1993
1994[[audits.rustversion]]
1995who = "Adrian Taylor <adetaylor@chromium.org>"
1996criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
1997delta = "1.0.14 -> 1.0.15"
1998
1999[[audits.rustversion]]
2000who = "danakj <danakj@chromium.org>"
2001criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
2002delta = "1.0.15 -> 1.0.16"
2003
2004[[audits.rustversion]]
2005who = "Dustin J. Mitchell <djmitche@chromium.org>"
2006criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2007delta = "1.0.16 -> 1.0.17"
2008notes = "Just updates windows compat"
2009
2010[[audits.rustversion]]
2011who = "Liza Burakova <liza@chromium.org>"
2012criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2013delta = "1.0.17 -> 1.0.18"
2014
2015[[audits.semver]]
2016who = "danakj@chromium.org"
2017criteria = ["safe-to-run", "does-not-implement-crypto"]
2018version = "1.0.20"
2019notes = """
2020Reviewed in https://crrev.com/c/5171063
2021
2022Previously reviewed during security review and the audit is grandparented in.
2023"""
2024
2025[[audits.semver]]
2026who = "Lukasz Anforowicz <lukasza@chromium.org>"
2027criteria = ["safe-to-run", "does-not-implement-crypto"]
2028delta = "1.0.20 -> 1.0.21"
2029
2030[[audits.semver]]
2031who = "Lukasz Anforowicz <lukasza@chromium.org>"
2032criteria = ["safe-to-run", "does-not-implement-crypto"]
2033delta = "1.0.21 -> 1.0.22"
2034
2035[[audits.semver]]
2036who = "danakj <danakj@chromium.org>"
2037criteria = ["safe-to-run", "does-not-implement-crypto"]
2038delta = "1.0.22 -> 1.0.23"
2039
2040[[audits.serde]]
2041who = "Lukasz Anforowicz <lukasza@chromium.org>"
2042criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2043version = "1.0.197"
2044notes = """
2045Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'`, `'\bnet\b'`, `'\bunsafe\b'`.
2046
2047There were some hits for `net`, but they were related to serialization and
2048not actually opening any connections or anything like that.
2049
2050There were 2 hits of `unsafe` when grepping:
2051* In `fn as_str` in `impl Buf`
2052* In `fn serialize` in `impl Serialize for net::Ipv4Addr`
2053
2054Unsafe review comments can be found in https://crrev.com/c/5350573/2 (this
2055review also covered `serde_json_lenient`).
2056
2057Version 1.0.130 of the crate has been added to Chromium in
2058https://crrev.com/c/3265545.  The CL description contains a link to a
2059(Google-internal, sorry) document with a mini security review.
2060"""
2061
2062[[audits.serde]]
2063who = "Dustin J. Mitchell <djmitche@chromium.org>"
2064criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2065delta = "1.0.197 -> 1.0.198"
2066
2067[[audits.serde]]
2068who = "danakj <danakj@chromium.org>"
2069criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2070delta = "1.0.198 -> 1.0.201"
2071
2072[[audits.serde]]
2073who = "Dustin J. Mitchell <djmitche@chromium.org>"
2074criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2075delta = "1.0.201 -> 1.0.202"
2076notes = "Trivial changes"
2077
2078[[audits.serde]]
2079who = "Lukasz Anforowicz <lukasza@chromium.org>"
2080criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2081delta = "1.0.202 -> 1.0.203"
2082notes = "s/doc_cfg/docsrs/ + tuple_impls/tuple_impl_body-related changes"
2083
2084[[audits.serde]]
2085who = "Adrian Taylor <adetaylor@chromium.org>"
2086criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2087delta = "1.0.203 -> 1.0.204"
2088
2089[[audits.serde]]
2090who = "Lukasz Anforowicz <lukasza@chromium.org>"
2091criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2092delta = "1.0.204 -> 1.0.207"
2093notes = "The small change in `src/private/ser.rs` should have no impact on `ub-risk-2`."
2094
2095[[audits.serde]]
2096who = "Lukasz Anforowicz <lukasza@chromium.org>"
2097criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2098delta = "1.0.207 -> 1.0.209"
2099notes = """
2100The delta carries fairly small changes in `src/private/de.rs` and
2101`src/private/ser.rs` (see https://crrev.com/c/5812194/2..5).  AFAICT the
2102delta has no impact on the `unsafe`, `from_utf8_unchecked`-related parts
2103of the crate (in `src/de/format.rs` and `src/ser/impls.rs`).
2104"""
2105
2106[[audits.serde]]
2107who = "Adrian Taylor <adetaylor@chromium.org>"
2108criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2109delta = "1.0.209 -> 1.0.210"
2110notes = "Almost no new code - just feature rearrangement"
2111
2112[[audits.serde]]
2113who = "Liza Burakova <liza@chromium.org>"
2114criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2115delta = "1.0.210 -> 1.0.213"
2116
2117[[audits.serde]]
2118who = "Dustin J. Mitchell <djmitche@chromium.org>"
2119criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2120delta = "1.0.213 -> 1.0.214"
2121notes = "No unsafe, no crypto"
2122
2123[[audits.serde]]
2124who = "Adrian Taylor <adetaylor@chromium.org>"
2125criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2126delta = "1.0.214 -> 1.0.215"
2127
2128[[audits.serde_derive]]
2129who = "Lukasz Anforowicz <lukasza@chromium.org>"
2130criteria = "ub-risk-0"
2131version = "1.0.193"
2132notes = 'Grepped for `\bunsafe\b` - there were no hits'
2133
2134[[audits.serde_derive]]
2135who = "Lukasz Anforowicz <lukasza@chromium.org>"
2136criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
2137version = "1.0.195"
2138notes = "Grepped for \"unsafe\", \"crypt\", \"cipher\", \"fs\", \"net\" - there were no hits"
2139
2140[[audits.serde_derive]]
2141who = "Lukasz Anforowicz <lukasza@chromium.org>"
2142criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
2143version = "1.0.196"
2144notes = "Grepped for \"unsafe\", \"crypt\", \"cipher\", \"fs\", \"net\" - there were no hits"
2145
2146[[audits.serde_derive]]
2147who = "Lukasz Anforowicz <lukasza@chromium.org>"
2148criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
2149version = "1.0.197"
2150notes = "Grepped for \"unsafe\", \"crypt\", \"cipher\", \"fs\", \"net\" - there were no hits"
2151
2152[[audits.serde_derive]]
2153who = "danakj <danakj@chromium.org>"
2154criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
2155delta = "1.0.197 -> 1.0.201"
2156
2157[[audits.serde_derive]]
2158who = "Dustin J. Mitchell <djmitche@chromium.org>"
2159criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
2160delta = "1.0.201 -> 1.0.202"
2161
2162[[audits.serde_derive]]
2163who = "Lukasz Anforowicz <lukasza@chromium.org>"
2164criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
2165delta = "1.0.202 -> 1.0.203"
2166notes = "Grepped for \"unsafe\", \"crypt\", \"cipher\", \"fs\", \"net\" - there were no hits"
2167
2168[[audits.serde_derive]]
2169who = "Adrian Taylor <adetaylor@chromium.org>"
2170criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
2171delta = "1.0.203 -> 1.0.204"
2172
2173[[audits.serde_derive]]
2174who = "Lukasz Anforowicz <lukasza@chromium.org>"
2175criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
2176delta = "1.0.204 -> 1.0.207"
2177notes = 'Grepped for \"unsafe\", \"crypt\", \"cipher\", \"fs\", \"net\" - there were no hits'
2178
2179[[audits.serde_derive]]
2180who = "Lukasz Anforowicz <lukasza@chromium.org>"
2181criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
2182delta = "1.0.207 -> 1.0.209"
2183notes = '''
2184There are no code changes in this delta - see https://crrev.com/c/5812194/2..5
2185
2186I've neverthless also grepped for `-i cipher`, `-i crypto`, `\bfs\b`,
2187`\bnet\b`, and `\bunsafe\b`.  There were no hits.
2188'''
2189
2190[[audits.serde_derive]]
2191who = "Adrian Taylor <adetaylor@chromium.org>"
2192criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
2193delta = "1.0.209 -> 1.0.210"
2194notes = "Almost no new code - just feature rearrangement"
2195
2196[[audits.serde_derive]]
2197who = "Liza Burakova <liza@chromium.org>"
2198criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
2199delta = "1.0.210 -> 1.0.213"
2200notes = "Grepped for 'unsafe', 'crypt', 'cipher', 'fs', 'net' - there were no hits"
2201
2202[[audits.serde_derive]]
2203who = "Dustin J. Mitchell <djmitche@chromium.org>"
2204criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
2205delta = "1.0.213 -> 1.0.214"
2206notes = "No changes to unsafe, no crypto"
2207
2208[[audits.serde_derive]]
2209who = "Adrian Taylor <adetaylor@chromium.org>"
2210criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
2211delta = "1.0.214 -> 1.0.215"
2212notes = "Minor changes should not impact UB risk"
2213
2214[[audits.serde_json]]
2215who = "danakj@chromium.org"
2216criteria = ["safe-to-run", "does-not-implement-crypto"]
2217version = "1.0.108"
2218notes = """
2219Reviewed in https://crrev.com/c/5171063
2220
2221Previously reviewed during security review and the audit is grandparented in.
2222"""
2223
2224[[audits.serde_json]]
2225who = "Lukasz Anforowicz <lukasza@chromium.org>"
2226criteria = ["safe-to-run", "does-not-implement-crypto"]
2227delta = "1.0.108 -> 1.0.111"
2228
2229[[audits.serde_json]]
2230who = "Lukasz Anforowicz <lukasza@chromium.org>"
2231criteria = ["safe-to-run", "does-not-implement-crypto"]
2232delta = "1.0.111 -> 1.0.113"
2233
2234[[audits.serde_json]]
2235who = "Lukasz Anforowicz <lukasza@chromium.org>"
2236criteria = ["safe-to-run", "does-not-implement-crypto"]
2237delta = "1.0.113 -> 1.0.114"
2238
2239[[audits.serde_json]]
2240who = "Lukasz Anforowicz <lukasza@chromium.org>"
2241criteria = ["safe-to-run", "does-not-implement-crypto"]
2242delta = "1.0.114 -> 1.0.115"
2243
2244[[audits.serde_json]]
2245who = "Dustin J. Mitchell <djmitche@chromium.org>"
2246criteria = ["safe-to-run", "does-not-implement-crypto"]
2247delta = "1.0.115 -> 1.0.116"
2248notes = "No changes that affect safety to run, and no crypto"
2249
2250[[audits.serde_json]]
2251who = "danakj <danakj@chromium.org>"
2252criteria = ["safe-to-run", "does-not-implement-crypto"]
2253delta = "1.0.116 -> 1.0.117"
2254
2255[[audits.serde_json]]
2256who = "Adrian Taylor <adetaylor@chromium.org>"
2257criteria = ["safe-to-run", "does-not-implement-crypto"]
2258delta = "1.0.117 -> 1.0.120"
2259
2260[[audits.serde_json]]
2261who = "Lukasz Anforowicz <lukasza@chromium.org>"
2262criteria = ["safe-to-run", "does-not-implement-crypto"]
2263delta = "1.0.120 -> 1.0.122"
2264
2265[[audits.serde_json]]
2266who = "Lukasz Anforowicz <lukasza@chromium.org>"
2267criteria = ["safe-to-run", "does-not-implement-crypto"]
2268delta = "1.0.122 -> 1.0.124"
2269
2270[[audits.serde_json]]
2271who = "Lukasz Anforowicz <lukasza@chromium.org>"
2272criteria = ["safe-to-run", "does-not-implement-crypto"]
2273delta = "1.0.124 -> 1.0.127"
2274
2275[[audits.serde_json]]
2276who = "danakj <danakj@chromium.org>"
2277criteria = ["safe-to-run", "does-not-implement-crypto"]
2278delta = "1.0.127 -> 1.0.128"
2279
2280[[audits.serde_json]]
2281who = "Liza Burakova <liza@chromium.org>"
2282criteria = ["safe-to-run", "does-not-implement-crypto"]
2283delta = "1.0.128 -> 1.0.132"
2284notes = """
2285Methods moved into new deserializer trait in de.rs.
2286New methods for converting Number to i128 or u128 in number.rs
2287No new unsafe changes.
2288"""
2289
2290[[audits.serde_json]]
2291who = "Adrian Taylor <adetaylor@chromium.org>"
2292criteria = ["safe-to-run", "does-not-implement-crypto"]
2293delta = "1.0.132 -> 1.0.133"
2294notes = "No changes affecting safety-to-run and still no crypto"
2295
2296[[audits.serde_json_lenient]]
2297who = "danakj@chromium.org"
2298criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2299version = "0.1.8"
2300notes = """
2301Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'`, `'\bnet\b'`, `'\bunsafe\b'`.
2302
2303There were some hits for `fs` and `net`, but they were in comments.
2304
2305Unsafe review comments can be found in https://crrev.com/c/5350573/2.
2306There were 8 hits of `unsafe` when grepping.
2307
2308Version 0.1.4 of the crate was added to Chromium in
2309https://crrev.com/c/3511416.
2310"""
2311
2312[[audits.serde_json_lenient]]
2313who = "danakj@chromium.org"
2314criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2315delta = "0.1.8 -> 0.2.0"
2316notes = """
2317Reviewed in https://crrev.com/c/5361256
2318"""
2319
2320[[audits.serde_json_lenient]]
2321who = "djmitche@chromium.org"
2322criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2323delta = "0.2.0 -> 0.2.1"
2324notes = """
2325Reviewed in https://crrev.com/c/5385822
2326"""
2327
2328[[audits.serde_json_lenient]]
2329who = "Dustin J. Mitchell <djmitche@chromium.org>"
2330criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2331delta = "0.2.1 -> 0.2.3"
2332
2333[[audits.simd-adler32]]
2334who = "Lukasz Anforowicz <lukasza@chromium.org>"
2335criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2336version = "0.3.7"
2337notes = """
2338Security review of earlier versions of the crate can be found at
2339(Google-internal, sorry): go/image-crate-chromium-security-review
2340
2341Audit comments for 1.3.2 can be found at https://crrev.com/c/4723145.
2342"""
2343
2344[[audits.skrifa]]
2345who = "Lukasz Anforowicz <lukasza@chromium.org>"
2346criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
2347version = "0.19.0"
2348notes = """
2349Grepped for \"unsafe\", \"crypt\", \"cipher\", \"fs\", \"net\" - there were no hits
2350(except for benign \"fs\" hit in `skrifa-0.19.0/src/color/traversal_tests/mod.rs`).
2351
2352For overall `safe-to-deploy` and `does-not-implement-crypto` I am mostly
2353relying on certification by the Chromium engineers who work on the library
2354(mostly drott@chromium.org).
2355"""
2356
2357[[audits.skrifa]]
2358who = "drott@chromium.org"
2359criteria = ["ub-risk-1", "safe-to-deploy", "does-not-implement-crypto"]
2360delta = "0.15.2 -> 0.15.4"
2361
2362[[audits.skrifa]]
2363who = "Dustin J. Mitchell <djmitche@chromium.org>"
2364criteria = ["safe-to-deploy", "crypto-safe", "ub-risk-0"]
2365delta = "0.19.0 -> 0.19.1"
2366notes = "Crate has `forbid_unsafe` and no unsafe code. Changes all appear font-related and safe."
2367
2368[[audits.skrifa]]
2369who = "Lukasz Anforowicz <lukasza@chromium.org>"
2370criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
2371delta = "0.19.1 -> 0.19.2"
2372
2373[[audits.skrifa]]
2374who = "Adrian Taylor <adetaylor@chromium.org>"
2375criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
2376delta = "0.19.2 -> 0.19.3"
2377
2378[[audits.skrifa]]
2379who = "Dominik Röttsches <drott@chromium.org>"
2380criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
2381delta = "0.19.3 -> 0.20.0"
2382notes = "Contains mainly preparatory autohint changes and data tables."
2383
2384[[audits.skrifa]]
2385who = "Dominik Röttsches <drott@chromium.org>"
2386criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
2387delta = "0.20.0 -> 0.22.0"
2388notes = "Changes for adding autohinting support. Crates forbids unsafe code."
2389
2390[[audits.skrifa]]
2391who = "Lukasz Anforowicz <lukasza@chromium.org>"
2392criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
2393delta = "0.22.0 -> 0.22.1"
2394
2395[[audits.skrifa]]
2396who = "Dominik Röttsches <drott@chromium.org>"
2397criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
2398delta = "0.22.1 -> 0.22.3"
2399notes = "Matching FreeType advances more closely, through usage of hdmx and other fixes. Path retrieval speedups."
2400
2401[[audits.skrifa]]
2402who = "Dominik Röttsches <drott@chromium.org>"
2403criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
2404delta = "0.22.3 -> 0.23.0"
2405notes = "Incremental Font Transfer patchset implementation removed, important fixes for path retrievel from CFF fonts with empty PrivateDict."
2406
2407[[audits.skrifa]]
2408who = "Dominik Röttsches <drott@chromium.org>"
2409criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
2410delta = "0.23.0 -> 0.24.0"
2411notes = "Skrifa updates for using wrapping arithmetic in CFF private dict parsing."
2412
2413[[audits.skrifa]]
2414who = "Dominik Röttsches <drott@chromium.org>"
2415criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
2416delta = "0.24.0 -> 0.24.1"
2417notes = "COLRv1 bounds fix, fixes for underflows/overflows."
2418
2419[[audits.small_ctor]]
2420who = "danakj@chromium.org"
2421criteria = ["safe-to-run", "does-not-implement-crypto"]
2422version = "0.1.1"
2423notes = """
2424Reviewed in https://crrev.com/c/5171063
2425
2426Previously reviewed during security review and the audit is grandparented in.
2427"""
2428
2429[[audits.small_ctor]]
2430who = "Lukasz Anforowicz <lukasza@chromium.org>"
2431criteria = ["safe-to-run", "does-not-implement-crypto"]
2432delta = "0.1.1 -> 0.1.2"
2433notes = "I don't fully understand the changes in `lib.rs` but they seem to meet the low bar of `safe-to-run`."
2434
2435[[audits.static_assertions]]
2436who = "Lukasz Anforowicz <lukasza@chromium.org>"
2437criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-1"]
2438version = "1.1.0"
2439notes = """
2440Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'`, `'\bnet\b'`, `'\bunsafe\b'`
2441and there were no hits except for one `unsafe`.
2442
2443The lambda where `unsafe` is used is never invoked (e.g. the `unsafe` code
2444never runs) and is only introduced for some compile-time checks.  Additional
2445unsafe review comments can be found in https://crrev.com/c/5353376.
2446
2447This crate has been added to Chromium in https://crrev.com/c/3736562.  The CL
2448description contains a link to a document with an additional security review.
2449"""
2450
2451[[audits.strsim]]
2452who = "danakj@chromium.org"
2453criteria = ["does-not-implement-crypto", "safe-to-deploy", "ub-risk-0"]
2454version = "0.10.0"
2455notes = """
2456Reviewed in https://crrev.com/c/5171063
2457
2458Previously reviewed during security review and the audit is grandparented in.
2459"""
2460
2461[[audits.strsim]]
2462who = "Lukasz Anforowicz <lukasza@chromium.org>"
2463criteria = "ub-risk-0"
2464version = "0.11.0"
2465notes = "No `unsafe`"
2466
2467[[audits.strsim]]
2468who = "Lukasz Anforowicz <lukasza@chromium.org>"
2469criteria = ["safe-to-run", "does-not-implement-crypto"]
2470delta = "0.10.0 -> 0.11.0"
2471
2472[[audits.strsim]]
2473who = "Adrian Taylor <adetaylor@chromium.org>"
2474criteria = ["safe-to-run", "does-not-implement-crypto"]
2475delta = "0.11.0 -> 0.11.1"
2476
2477[[audits.strum]]
2478who = "danakj@chromium.org"
2479criteria = ["does-not-implement-crypto", "safe-to-deploy", "ub-risk-0"]
2480version = "0.25.0"
2481notes = """
2482Reviewed in https://crrev.com/c/5171063
2483
2484Previously reviewed during security review and the audit is grandparented in.
2485"""
2486
2487[[audits.strum_macros]]
2488who = "danakj@chromium.org"
2489criteria = ["does-not-implement-crypto", "safe-to-deploy", "ub-risk-0"]
2490version = "0.25.3"
2491notes = """
2492Reviewed in https://crrev.com/c/5171063
2493
2494Previously reviewed during security review and the audit is grandparented in.
2495"""
2496
2497[[audits.syn]]
2498who = "danakj@chromium.org"
2499criteria = ["safe-to-run", "does-not-implement-crypto"]
2500version = "1.0.109"
2501notes = """
2502Reviewed in https://crrev.com/c/5171063
2503
2504Previously reviewed during security review and the audit is grandparented in.
2505"""
2506
2507[[audits.termcolor]]
2508who = "danakj@chromium.org"
2509criteria = ["safe-to-run", "does-not-implement-crypto"]
2510version = "1.4.0"
2511notes = """
2512Reviewed in https://crrev.com/c/5171063
2513
2514Previously reviewed during security review and the audit is grandparented in.
2515"""
2516
2517[[audits.termcolor]]
2518who = "Lukasz Anforowicz <lukasza@chromium.org>"
2519criteria = "ub-risk-0"
2520version = "1.4.0"
2521notes = "No `unsafe`."
2522
2523[[audits.termcolor]]
2524who = "Lukasz Anforowicz <lukasza@chromium.org>"
2525criteria = ["safe-to-run", "does-not-implement-crypto"]
2526delta = "1.4.0 -> 1.4.1"
2527
2528[[audits.tinyvec]]
2529who = "Lukasz Anforowicz <lukasza@chromium.org>"
2530criteria = ["ub-risk-0", "safe-to-deploy", "does-not-implement-crypto"]
2531version = "1.6.0"
2532notes = """
2533Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'``, `'\bnet\b'``, `'\bunsafe\b'``
2534and there were no hits except for some \"unsafe\" appearing in comments:
2535
2536```
2537src/arrayvec.rs:    // Note: This shouldn't use A::CAPACITY, because unsafe code can't rely on
2538src/lib.rs://! All of this is done with no `unsafe` code within the crate. Technically the
2539src/lib.rs://! `Vec` type from the standard library uses `unsafe` internally, but *this
2540src/lib.rs://! crate* introduces no new `unsafe` code into your project.
2541src/array.rs:/// Just a reminder: this trait is 100% safe, which means that `unsafe` code
2542```
2543
2544This crate has been added to Chromium in
2545https://source.chromium.org/chromium/chromium/src/+/24773c33e1b7a1b5069b9399fd034375995f290b
2546"""
2547
2548[[audits.tinyvec]]
2549who = "Adrian Taylor <adetaylor@chromium.org>"
2550criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
2551delta = "1.6.0 -> 1.6.1"
2552
2553[[audits.tinyvec]]
2554who = "Adrian Taylor <adetaylor@chromium.org>"
2555criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
2556delta = "1.6.1 -> 1.7.0"
2557
2558[[audits.tinyvec]]
2559who = "Dustin J. Mitchell <djmitche@chromium.org>"
2560criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-0"]
2561delta = "1.7.0 -> 1.8.0"
2562
2563[[audits.unicode-ident]]
2564who = "Lukasz Anforowicz <lukasza@chromium.org>"
2565criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2566version = "1.0.12"
2567notes = '''
2568I grepped for \"crypt\", \"cipher\", \"fs\", \"net\" - there were no hits.
2569
2570All two functions from the public API of this crate use `unsafe` to avoid bound
2571checks for an array access.  Cross-module analysis shows that the offsets can
2572be statically proven to be within array bounds.  More details can be found in
2573the unsafe review CL at https://crrev.com/c/5350386.
2574
2575This crate has been added to Chromium in https://crrev.com/c/3891618.
2576'''
2577
2578[[audits.unicode-ident]]
2579who = "Dustin J. Mitchell <djmitche@chromium.org>"
2580criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2581delta = "1.0.12 -> 1.0.13"
2582notes = "Lots of table updates, and tables are assumed correct with unsafe `.get_unchecked()`, so ub-risk-2 is appropriate"
2583
2584[[audits.unicode-linebreak]]
2585who = "Lukasz Anforowicz <lukasza@chromium.org>"
2586criteria = ["ub-risk-0", "safe-to-deploy", "does-not-implement-crypto"]
2587version = "0.1.5"
2588notes = """
2589Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'``, `'\bnet\b'``, `'\bunsafe\b'``
2590and there were no hits.
2591
2592Version `0.1.2` of this crate has been added to Chromium in
2593https://source.chromium.org/chromium/chromium/src/+/591a0f30c5eac93b6a3d981c2714ffa4db28dbcb
2594The CL description contains a link to a Google-internal document with audit details.
2595"""
2596
2597[[audits.unicode-width]]
2598who = "danakj@chromium.org"
2599criteria = ["safe-to-run", "does-not-implement-crypto"]
2600version = "0.1.11"
2601notes = """
2602Reviewed in https://crrev.com/c/5171063
2603
2604Previously reviewed during security review and the audit is grandparented in.
2605"""
2606
2607[[audits.unicode-width]]
2608who = "danakj <danakj@chromium.org>"
2609criteria = ["safe-to-run", "does-not-implement-crypto"]
2610delta = "0.1.11 -> 0.1.12"
2611
2612[[audits.unicode-width]]
2613who = "Lukasz Anforowicz <lukasza@chromium.org>"
2614criteria = ["safe-to-run", "does-not-implement-crypto"]
2615delta = "0.1.12 -> 0.1.13"
2616
2617[[audits.unicode-width]]
2618who = "Lukasz Anforowicz <lukasza@chromium.org>"
2619criteria = ["safe-to-run", "does-not-implement-crypto"]
2620delta = "0.1.13 -> 0.1.14"
2621
2622[[audits.winapi]]
2623who = "danakj@chromium.org"
2624criteria = ["safe-to-run", "does-not-implement-crypto"]
2625version = "0.3.9"
2626notes = """
2627Reviewed in https://crrev.com/c/5171063
2628
2629Previously reviewed during security review and the audit is grandparented in.
2630"""
2631
2632[[audits.winapi-util]]
2633who = "danakj@chromium.org"
2634criteria = ["safe-to-run", "does-not-implement-crypto"]
2635version = "0.1.6"
2636notes = """
2637Reviewed in https://crrev.com/c/5171063
2638
2639Previously reviewed during security review and the audit is grandparented in.
2640"""
2641
2642[[audits.winapi-util]]
2643who = "danakj <danakj@chromium.org>"
2644criteria = ["safe-to-run", "does-not-implement-crypto"]
2645delta = "0.1.6 -> 0.1.8"
2646
2647[[audits.winapi-util]]
2648who = "Lukasz Anforowicz <lukasza@chromium.org>"
2649criteria = ["safe-to-run", "does-not-implement-crypto"]
2650delta = "0.1.8 -> 0.1.9"
2651notes = "The delta only changes Cargo.toml."
2652
2653[[audits.wycheproof]]
2654who = "danakj@chromium.org"
2655criteria = ["safe-to-run", "does-not-implement-crypto"]
2656version = "0.4.0"
2657notes = """
2658Reviewed in https://crrev.com/c/5171063
2659
2660Previously reviewed during security review and the audit is grandparented in.
2661"""
2662
2663[[trusted.libc]]
2664criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2665user-id = 51017
2666start = "2020-03-17"
2667end = "2025-05-23"
2668notes = """
2669Chromium implicitly trusts the Rust toolchain (e.g. the `rustc` and
2670`cargo` binaries maintained and published by the
2671https://github.com/rust-lang organization and packaged and distributed
2672via Chromium's `tools/rust/package_rust.py` scripts).  Here we extend
2673this trust to the system libraries that are maintained and published by
2674the same organization.
2675
2676user-id 51017 maps to https://crates.io/users/JohnTitor who has
2677published https://crates.io/crates/libc/0.2.154
2678"""
2679
2680[[trusted.libc]]
2681criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2682user-id = 5820
2683start = "2020-03-17"
2684end = "2025-05-23"
2685notes = """
2686Same justification as for the other `trusted.libc` entry above.
2687
2688user-id 5820 maps to https://crates.io/users/the8472 who has published
2689https://crates.io/crates/libc/0.2.155
2690"""
2691
2692[[trusted.libc]]
2693criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2694user-id = 55123 # rust-lang-owner
2695start = "2024-08-15"
2696end = "2025-08-26"
2697notes = """
2698Same justification as for the other `trusted.libc` entry above.
2699
2700user-id 55123 maps to https://crates.io/users/rust-lang-owner who has published
2701https://crates.io/crates/libc/0.2.158
2702"""
2703
2704[[trusted.libc]]
2705criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2706user-id = 55123 # rust-lang-owner
2707start = "2024-10-17"
2708end = "2025-10-24"
2709notes = """
2710Same justification as for the other `trusted.libc` entry above.
2711
2712user-id 55123 maps to https://crates.io/users/rust-lang-owner who has published
2713https://crates.io/crates/libc/0.2.161
2714"""
2715
2716[[trusted.windows-sys]]
2717criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2718user-id = 64539 # Kenny Kerr (kennykerr)
2719start = "2021-11-15"
2720end = "9999-05-15"
2721notes = """
2722This crate and its deps are published by Microsoft as the official Rust SDK for Windows APIs at https://github.com/microsoft/windows-rs
2723
2724user-id 64539 maps to https://crates.io/users/kennykerr who has published version 0.52.0.
2725"""
2726
2727[[trusted.windows-targets]]
2728criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2729user-id = 64539 # Kenny Kerr (kennykerr)
2730start = "2022-09-09"
2731end = "9999-05-15"
2732notes = """
2733This crate is part of the official Rust SDK from Microsoft, see windows-sys.
2734"""
2735
2736[[trusted.windows_aarch64_msvc]]
2737criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2738user-id = 64539 # Kenny Kerr (kennykerr)
2739start = "2021-11-05"
2740end = "9999-05-15"
2741notes = """
2742This crate is part of the official Rust SDK from Microsoft, see windows-sys.
2743"""
2744
2745[[trusted.windows_i686_msvc]]
2746criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2747user-id = 64539 # Kenny Kerr (kennykerr)
2748start = "2021-10-27"
2749end = "9999-05-15"
2750notes = """
2751This crate is part of the official Rust SDK from Microsoft, see windows-sys.
2752"""
2753
2754[[trusted.windows_x86_64_msvc]]
2755criteria = ["safe-to-deploy", "does-not-implement-crypto", "ub-risk-2"]
2756user-id = 64539 # Kenny Kerr (kennykerr)
2757start = "2021-10-27"
2758end = "9999-05-15"
2759notes = """
2760This crate is part of the official Rust SDK from Microsoft, see windows-sys.
2761"""
2762