No one owes you supply-chain security
5 days ago
- #dependency-auditing
- #supply-chain-security
- #rust-ecosystem
- Rust中的供应链攻击可通过诸如恶意库冒充合法库的域名抢注等手段发生,而直接使用URL或命名空间化等解决方案可能因难以记忆或验证正确来源而失效。
- Rust的构建脚本和过程宏存在安全风险,例如潜在的远程代码执行,虽然沙箱化努力已经存在,但受到限制,因为像`cargo test`或`cargo run`这样的工具不易沙箱化,需要系统级的隔离。
- Crates.io在确保其注册表与Git仓库之间代码一致性方面面临挑战,存在删除预防(受left-pad事件启发)和潜在差异等问题,这使得在不破坏现有工作流程的情况下难以实施严格的安全措施。
- 有一种误解认为防止恶意代码在crates.io上是Rust的独家责任,但Rust主要由志愿者驱动且资源有限,用户同样有责任审核他们使用的依赖。
- Rust为用户提供增强安全的工具,例如锁文件、版本固定、cargo-vet、crates.io上的下载图表、源代码检查以及试运行更新,同时提供如cargo-chef或firejail等用于构建隔离的沙箱选项。