wasi-http supply chain audit (#6121)

* add cargo-deny exception for duplicate versions of windows-sys

* cargo vetting for all new deps introduced by https://github.com/bytecodealliance/wasmtime/pull/5929

The audits are straightforward. The exemptions, as always, need to be justified:

* core-foundation, core-foundation-sys, security-framework, security-framework-sys: these are large crates which are FFI bindings to Mac OS frameworks. As such they contain tons of unsafe code to make these FFI calls and manage memory. These crates are too big to audit.

* schannel: same as the above, except this is a windows component, which I'm also unfamiliar with.

* openssl, openssl-sys: also large FFI bindings which are impractical to audit.

* futures-macro, futures-task: while not as complex as futures-util, these are beyond my personal understanding of futures to vet practically. I've asked Alex to look at auditing these, and he will after he returns from vacation next week.

* futures-util: 25kloc of code, over 149 instances of the substring "unsafe" (case insensitive), this is impractical to audit in the extreme.

* h2, http, httparse, hyper, mio, tokio: this so-called tokio/hyper family are very large and challenging to audit. Bobby Holley has indicated that he is working to get the AWS engineers who maintain these crates to publish their own audits, which we can then import. We expect to exempt these until those imports are available.
This commit is contained in:
Pat Hickey
2023-03-29 17:29:07 -07:00
committed by GitHub
parent c10e804617
commit 3d03729fa1
4 changed files with 228 additions and 0 deletions

View File

@@ -47,4 +47,9 @@ skip-tree = [
# This is on and older version of `wasm-encoder` and is one we can't
# necessarily easily update, so let `wasm-encoder` get duplicated for now.
{ name = "wasm-coredump-builder", depth = 2 },
# The native-tls crate hasn't kept up with updates to the underlying
# windows-sys, while the rest of the ecosystem has. This duplicated
# dependency appears to be benign.
{ name = "windows-sys", depth = 2 },
]