主动防御:加固代码流水线与 CI/CD 基础设施

📌 One-Sentence Summary
Google 提供了一套全面的深度防御蓝图,用于加固软件供应链,重点关注五个关键支柱:端点安全、代码仓库治理、制品管理、CI/CD 基础设施以及自动化扫描门禁。
📝 Summary
本技术指南概述了一套多层防御策略,旨在保护软件开发生命周期(SDLC)免受复杂的供应链攻击。它解决了新兴威胁,如 AI 开发工具利用、GitHub Actions 缓存中毒以及 OIDC 令牌提取。该框架围绕五个支柱构建:通过沙箱化和 IDE 标准化保障开发端点安全;通过统一身份验证和严格的分支保护加固仓库;使用依赖项冷却期和不可变 SHA 引用管理制品;通过临时运行器(Ephemeral Runners)和最小权限身份保障 CI/CD 流水线安全;以及实施自动化扫描门禁(密钥扫描和 SAST),防止漏洞进入生产环境。
💡 Main Points
从独立阶段的安全转向贯穿整个 SDLC 的整体深度防御方法。
现代攻击的目标是整个流水线中的漏洞(例如,从 IDE 扩展到构建缓存),因此需要将端点、仓库、制品和 CI/CD 基础设施的安全性进行整合。
加固开发端点以防止初始入侵。
建议包括使用容器化沙箱来隔离宿主机文件系统,实施 EDR 以监控 IDE 进程,并将 AI 编程智能体限制在经过批准的 LLM 中,并引入人工审核机制。
为制品建立严格的来源追溯和不可变性。
为了防止依赖混淆和可变标签攻击,指南要求执行精确的 SemVer 固定、SHA-256 摘要引用,以及对新公开包实施 7 天的「冷却期」。
消除 CI/CD 中的运行器持久化和静态密钥。
使用一次性的临时运行器可防止跨作业污染,而基于 OIDC 的联邦身份则用短期的、有范围限制的令牌取代了长期的 PAT。
在流水线尽可能早的阶段实施自动化安全门禁。
在提交(Commit)级别集成密钥扫描,在 PR 级别集成 SAST,确保结构性缺陷和凭据在合并到主分支之前被拦截。
💬 Key Quotes
「将流水线的每个阶段视为独立的安全域已不再足够,因为这些多层攻击的目标是整个构建流水线中的漏洞。」
「固定到不可变的加密摘要可以弥补这一缺陷,因为摘要是内容哈希,底层制品的任何更改都会产生不同的标识符。」
「首要的防御目标是消除运行器的持久化。」
「组织应强制要求,任何新发布的公开包版本在可安装之前,必须经过至少 7 天的发布年龄冷却期。」
📊 Article Meta
AI Screening: 90
Featured: Yes
Source: Google Cloud Blog
Author: Mandiant
Category: 软件编程
Language: 英文
Read Time: 14 min
Word Count: 3336
Tags:
编程与工程 , 供应链安全 , 安全 , AI 工程 , 云原生 / DevOps
暂无评论,快来抢沙发~