Dependencies and Rust Packages (Crates) Vendoring
In order to ease auditing, ensure product stability, as well as reduce the possibility of the supply chain attack, we vendored all TEE dependencies here. During the build process, the trusted components will only consumes packages from this designated repository and will not download any code from external sources such as crates.io.
To Add A New Vendored Dependency
If a crate is not available in the vendor directory, it can to be added with the following steps:
- Add the crates you need in the corresponding Cargo.toml (e.g. crates-sgx/Cargo.toml) and update the crate list in the README.txt (e.g. crates-sgx/README.txt).
cargo buildand ensure that it passes.
cargo vendorand update the config file (e.g. crates-sgx/config). You may also utilize crates-sgx/Makefile for automation.
git add/committhe changes of Cargo.toml/Cargo.lock/config/README.txt/vendor and submit a pull request.