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.
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).
- Run
cargo build
and ensure that it passes. - Run
cargo vendor
and update the config file (e.g. crates-sgx/config). You may also utilize crates-sgx/Makefile for automation. git add/commit
the changes of Cargo.toml/Cargo.lock/config/README.txt/vendor and submit a pull request.