超越 SLSA:通过 9 步计划阻止 CI/CD 蠕虫
您的软件安全边界已经崩溃。
旧方法侧重于扫描容器和拦截恶意软件包。这已经不够了。在 2025 年至 2026 年间,一种新的威胁出现了。攻击者现在使用自主蠕虫,直接感染开发工具和 CI/CD 流水线。
像 SLSA Level 3 这样的标准工具对这些威胁视而不见。蠕虫甚至可以在您构建容器之前就窃取您的凭据或污染您的缓存。即使包含恶意代码,您的最终安全报告看起来也可能非常完美。
为了解决这个问题,请使用 IX Hexbreaker Aegis 框架。这是一个包含 9 个步骤的防御体系,旨在保护您的本地环境和 AI Agent。
9 步防御措施:
- AI Agent 沙箱化:在隔离的 Docker 容器中运行 AI 助手。这可以防止它们窃取您的宿主机凭据。
- 工作区解析:在加载隐藏配置文件之前,扫描其中的恶意指令。
- 临时环境:使用 GitHub Codespaces 等远程开发容器来隔离您的本地机器。
- OIDC 权限最小化:为您的流水线令牌分配尽可能小的权限和较短的有效期。
- 不可变缓存:将 Pull Request 使用的缓存与官方发布使用的缓存分开。
- 硬件支持的提交:使用 YubiKey 等 FIDO2 安全密钥。蠕虫无法通过物理接触密钥来签署提交。
- 构建时可观测性:使用 eBPF 监控构建过程中的异常进程。
- 出站流量过滤:除了信任的站点外,拦截 CI/CD Runner 发出的所有出站网络流量。
- 零信任 AI 提示词:限制 AI 编程工具的操作权限。不要在未经您批准的情况下允许它们运行 Shell 脚本。
如何实施:
第一阶段:修复权限和缓存。限制 OIDC 访问并隔离您的缓存键。
第二阶段:加固流水线。使用网络过滤器,并将您的 Action 版本锁定到特定的 Commit ID。
第三阶段:完全隔离。将所有开发工作迁移到容器中,并强制要求所有提交都使用硬件安全密钥。
将供应链安全仅仅视为一项“勾选任务”将导致失败。您必须保护编写代码的环境。
来源:https://dev.to/docker/beyond-slsa-how-to-stop-zero-click-cicd-worms-with-a-9-step-plan-1l36
可选学习社区:https://t.me/GyaanSetuAi