adorsys / adorsys/status-list-server
[SECURITY] Pin Rust toolchain, commit Cargo.lock, and adopt cargo vet for supply chain reproducibility
- 主要語言
- Rust
- 星號
- 22
- 分支
- 5
- 平均合併
- 2 天 6 小時
- 30 天內合併 PR
- 47
描述
## Problem
Our Rust project does not pin the compiler version (no `rust-toolchain.toml`) and does not refresh/lock the dependency set on a cadence. This means:
- Builds are non-reproducible across environments
- Transitive dependency upgrades happen silently
- We cannot audit exactly what code was compiled into production binaries
## Risk
- A malicious or vulnerable crate version could enter the build undetected
- We cannot respond quickly to a supply chain incident (e.g. RustSec advisory)
- Fails SOC2 / internal security audit reproducibility requirements
## Proposed Fix
1. Add `rust-toolchain.toml` pinned to the approved version (`1.96.0`, the version currently in use).
2. Commit `Cargo.lock` to the repo (already tracked) and refresh it with `cargo update` so the lockfile reflects a known-good, audited dependency set.
3. Add `cargo audit` + `cargo deny` to the CI pipeline (already present via `.github/workflows/cargo_deny.yml`, wired into `CI.yml`).
4. Adopt `cargo vet` for supply chain sign-off (initialize `supply-chain/` and run `cargo vet` in CI).
## References
- Mirrors [adorsys/didcomm-mediator-rs#450](https://github.com/adorsys/didcomm-mediator-rs/issues/450)
- Related: #138 (production readiness — supply-chain security), #142 (CI hardening), #163 (CI workflow PR)
貢獻指南
研究方向
Start in `.github/workflows/CI.yml` and `.github/workflows/cargo_deny.yml` to verify current security gating, then inspect repository root files like `Cargo.lock` and whether `rust-toolchain.toml` already exists elsewhere. Run `cargo update` to regenerate a known set, review `supply-chain/` expectations from related CI context, and prepare to add `cargo audit`, `cargo deny`, and `cargo vet` steps. Done means Rust toolchain is pinned to 1.96.0, `Cargo.lock` is committed and stable, and CI passes with all checks running.
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- github-actions, rust
- 領域
- ci-cd, security
- Issue 類型
- 功能
- 難度
- 3/5
- 預估耗時
- 1-2 天
- 活躍度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 67/100