Skip to content

Commit b9a0e13

Browse files
committed
chore(vet): import the zcash and isrg audit sets; record the SQLCipher crypto deps
SQLCipher brings six third-party RustCrypto crates into the graph. New crates entering the graph are a supply-chain decision, not the version-churn bookkeeping that a cache refresh covers, so this takes the strongest mechanism that applies before falling back to a weaker one. Imported two more aggregate audit sets rather than exempting everything: [imports.zcash] https://raw.githubusercontent.com/zcash/rust-ecosystem/... [imports.isrg] https://raw.githubusercontent.com/divviup/libprio-rs/... That is not paperwork. Exemptions drop 117 -> 103: SIXTEEN crates move from "nobody read this" to genuinely audited, including hmac and inout -- two of the six SQLCipher deps -- plus serde, sha2, subtle, getrandom, zlib-rs and others that were exempted before this PR. Four remain unaudited by us and by every imported set, and are exempted with a note saying exactly that: aes 0.8.4, block-padding 0.3.3, cbc 0.1.2, pbkdf2 0.12.2. The fleet rule forbids hand-rolled crypto and requires an audited ecosystem crate, so these are the correct dependencies; the exemption records that nobody has read these versions, which is true. aes and pbkdf2 were already exempted, but at criteria safe-to-run -- enough while they entered only through `zip` on dev/test paths. SQLCipher decryption puts them on the SHIPPED path, so both are raised to safe-to-deploy. The gate surfacing that change of exposure is the gate working. No certify, no --accept-all. Gate proven able to fail, with a well-formed mutation: re-pointing the cbc exemption to a version that does not exist gives exit 255 and `cbc:0.1.2 missing ["safe-to-deploy"]`; restoring it gives exit 0. (A first attempt that deleted the block outright only proved the store formatter works -- vet complained about blank lines, not about coverage.)
1 parent 9d583fe commit b9a0e13

2 files changed

Lines changed: 661 additions & 64 deletions

File tree

supply-chain/config.toml

Lines changed: 14 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,15 @@ url = "https://raw.githubusercontent.com/EmbarkStudios/rust-ecosystem/main/audit
1313
[imports.google]
1414
url = "https://raw.githubusercontent.com/google/rust-crate-audits/main/audits.toml"
1515

16+
[imports.isrg]
17+
url = "https://raw.githubusercontent.com/divviup/libprio-rs/main/supply-chain/audits.toml"
18+
1619
[imports.mozilla]
1720
url = "https://raw.githubusercontent.com/mozilla/supply-chain/main/audits.toml"
1821

22+
[imports.zcash]
23+
url = "https://raw.githubusercontent.com/zcash/rust-ecosystem/main/supply-chain/audits.toml"
24+
1925
[policy.sqlite-core]
2026
audit-as-crates-io = false
2127

@@ -27,7 +33,7 @@ audit-as-crates-io = false
2733

2834
[[exemptions.aes]]
2935
version = "0.8.4"
30-
criteria = "safe-to-run"
36+
criteria = "safe-to-deploy"
3137

3238
[[exemptions.aho-corasick]]
3339
version = "1.1.4"
@@ -65,8 +71,8 @@ criteria = "safe-to-deploy"
6571
version = "2.13.0"
6672
criteria = "safe-to-deploy"
6773

68-
[[exemptions.block-buffer]]
69-
version = "0.10.4"
74+
[[exemptions.block-padding]]
75+
version = "0.3.3"
7076
criteria = "safe-to-deploy"
7177

7278
[[exemptions.bytemuck]]
@@ -85,14 +91,14 @@ criteria = "safe-to-run"
8591
version = "0.35.0"
8692
criteria = "safe-to-run"
8793

94+
[[exemptions.cbc]]
95+
version = "0.1.2"
96+
criteria = "safe-to-deploy"
97+
8898
[[exemptions.cc]]
8999
version = "1.2.64"
90100
criteria = "safe-to-run"
91101

92-
[[exemptions.cfg-if]]
93-
version = "1.0.4"
94-
criteria = "safe-to-deploy"
95-
96102
[[exemptions.clap]]
97103
version = "4.6.1"
98104
criteria = "safe-to-deploy"
@@ -117,10 +123,6 @@ criteria = "safe-to-run"
117123
version = "1.0.5"
118124
criteria = "safe-to-deploy"
119125

120-
[[exemptions.constant_time_eq]]
121-
version = "0.3.1"
122-
criteria = "safe-to-run"
123-
124126
[[exemptions.cpufeatures]]
125127
version = "0.2.17"
126128
criteria = "safe-to-deploy"
@@ -129,10 +131,6 @@ criteria = "safe-to-deploy"
129131
version = "1.5.0"
130132
criteria = "safe-to-deploy"
131133

132-
[[exemptions.crunchy]]
133-
version = "0.2.4"
134-
criteria = "safe-to-deploy"
135-
136134
[[exemptions.crypto-common]]
137135
version = "0.1.7"
138136
criteria = "safe-to-deploy"
@@ -181,10 +179,6 @@ criteria = "safe-to-deploy"
181179
version = "0.14.7"
182180
criteria = "safe-to-deploy"
183181

184-
[[exemptions.getrandom]]
185-
version = "0.3.4"
186-
criteria = "safe-to-run"
187-
188182
[[exemptions.gif]]
189183
version = "0.14.2"
190184
criteria = "safe-to-deploy"
@@ -197,10 +191,6 @@ criteria = "safe-to-deploy"
197191
version = "0.17.1"
198192
criteria = "safe-to-deploy"
199193

200-
[[exemptions.hmac]]
201-
version = "0.12.1"
202-
criteria = "safe-to-run"
203-
204194
[[exemptions.image]]
205195
version = "0.25.10"
206196
criteria = "safe-to-deploy"
@@ -209,10 +199,6 @@ criteria = "safe-to-deploy"
209199
version = "0.2.4"
210200
criteria = "safe-to-deploy"
211201

212-
[[exemptions.inout]]
213-
version = "0.1.4"
214-
criteria = "safe-to-run"
215-
216202
[[exemptions.inventory]]
217203
version = "0.3.24"
218204
criteria = "safe-to-deploy"
@@ -261,10 +247,6 @@ criteria = "safe-to-deploy"
261247
version = "0.8.1"
262248
criteria = "safe-to-deploy"
263249

264-
[[exemptions.num-conv]]
265-
version = "0.2.2"
266-
criteria = "safe-to-deploy"
267-
268250
[[exemptions.once_cell]]
269251
version = "1.21.4"
270252
criteria = "safe-to-deploy"
@@ -275,7 +257,7 @@ criteria = "safe-to-deploy"
275257

276258
[[exemptions.pbkdf2]]
277259
version = "0.12.2"
278-
criteria = "safe-to-run"
260+
criteria = "safe-to-deploy"
279261

280262
[[exemptions.pin-project-lite]]
281263
version = "0.2.17"
@@ -325,26 +307,10 @@ criteria = "safe-to-deploy"
325307
version = "1.0.23"
326308
criteria = "safe-to-deploy"
327309

328-
[[exemptions.serde]]
329-
version = "1.0.228"
330-
criteria = "safe-to-deploy"
331-
332-
[[exemptions.serde_core]]
333-
version = "1.0.228"
334-
criteria = "safe-to-deploy"
335-
336-
[[exemptions.serde_derive]]
337-
version = "1.0.228"
338-
criteria = "safe-to-deploy"
339-
340310
[[exemptions.serde_json]]
341311
version = "1.0.150"
342312
criteria = "safe-to-deploy"
343313

344-
[[exemptions.sha2]]
345-
version = "0.10.9"
346-
criteria = "safe-to-deploy"
347-
348314
[[exemptions.shlex]]
349315
version = "2.0.1"
350316
criteria = "safe-to-run"
@@ -361,10 +327,6 @@ criteria = "safe-to-deploy"
361327
version = "1.1.1"
362328
criteria = "safe-to-deploy"
363329

364-
[[exemptions.subtle]]
365-
version = "2.6.1"
366-
criteria = "safe-to-deploy"
367-
368330
[[exemptions.syn]]
369331
version = "2.0.118"
370332
criteria = "safe-to-deploy"
@@ -385,10 +347,6 @@ criteria = "safe-to-deploy"
385347
version = "0.3.49"
386348
criteria = "safe-to-deploy"
387349

388-
[[exemptions.time-core]]
389-
version = "0.1.9"
390-
criteria = "safe-to-deploy"
391-
392350
[[exemptions.time-macros]]
393351
version = "0.2.29"
394352
criteria = "safe-to-deploy"
@@ -433,10 +391,6 @@ criteria = "safe-to-deploy"
433391
version = "0.1.12"
434392
criteria = "safe-to-deploy"
435393

436-
[[exemptions.windows-link]]
437-
version = "0.2.1"
438-
criteria = "safe-to-deploy"
439-
440394
[[exemptions.windows-sys]]
441395
version = "0.61.2"
442396
criteria = "safe-to-deploy"
@@ -465,10 +419,6 @@ criteria = "safe-to-run"
465419
version = "7.2.0"
466420
criteria = "safe-to-deploy"
467421

468-
[[exemptions.zlib-rs]]
469-
version = "0.6.3"
470-
criteria = "safe-to-deploy"
471-
472422
[[exemptions.zopfli]]
473423
version = "0.8.3"
474424
criteria = "safe-to-deploy"

0 commit comments

Comments
 (0)