超越 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