| 约束 | 构建不依赖外部网络与未声明文件 |
|---|---|
| 代表工具 | Bazel(沙箱与外部依赖声明)、Nix 等 |
| 收益 | 缓存精确、结果稳定、攻击面收窄 |
实践方向
实践方向
1. 依赖以内容摘要引用(而非浮动版本)
2. 构建环境与外部网络隔离
3. 缓存键覆盖全部输入(含工具链版本)
4. 构建日志保留输入清单从「准封闭」入手:先把依赖下载与构建分离(先预取、后离线构建)。
构建过程不访问网络、依赖全部预先声明并冻结:可复现性、可缓存性与供应链安全的共同基础。
| 约束 | 构建不依赖外部网络与未声明文件 |
|---|---|
| 代表工具 | Bazel(沙箱与外部依赖声明)、Nix 等 |
| 收益 | 缓存精确、结果稳定、攻击面收窄 |
1. 依赖以内容摘要引用(而非浮动版本)
2. 构建环境与外部网络隔离
3. 缓存键覆盖全部输入(含工具链版本)
4. 构建日志保留输入清单