进阶 📋 6 个步骤 第 329 / 470 篇

Wiz Red Agent 复盘:自主 AI 安全 Agent 五天攻破 Snowflake,红队自动化怎么玩

8 月 18 日 Wiz 披露其自主 AI 安全 Agent「Red Agent」五天内独立发现并利用 Snowflake GitHub Actions 注入漏洞,一路攻入内部 Jira;涉事代码竟由 GitHub Copilot 辅助编写并批准,AI 攻、AI 守、AI 写漏洞三方同台。本教程拆解 Red Agent 的攻击链设计与自主渗透闭环,并给出合规红线与防守侧护栏。

2026.08.25· 15 分钟阅读· 约 1945 字

⚠️ 本教程仅供安全研究与防御学习。所有渗透测试必须在有书面授权的测试环境中进行,未经授权对任何系统发起测试都可能触犯法律。文中的攻击链用于理解原理,请勿复现到真实系统。

8 月 18 日,Wiz 披露了一个极具冲击力的事件:它的自主 AI 安全 Agent「Red Agent」在五天内独立发现并利用 Snowflake 的一个 GitHub Actions 注入漏洞,一路攻入内部 Jira 系统。更戏剧性的是——涉事的脆弱代码,本身是经 GitHub Copilot 辅助编写并批准的。AI 攻击、AI 防守、AI 写漏洞,三方第一次真正同台。

🛡️ 本教程适合:安全团队、DevOps 工程师、以及所有想理解「AI 攻防」正在如何演变的开发者。

先搞懂:Red Agent 是什么?

Red Agent 是 Wiz 开发的自主安全测试 Agent,它把红队的工作流程自动化了。与传统渗透工具不同,它能自主决策:

传统红队Red Agent
人工读漏洞情报,手动规划攻击Agent 读取情报自动生成攻击计划
人编写利用脚本、手动验证Agent 自动写利用代码并执行验证
发现漏洞后人工写报告Agent 自动产出利用报告与修复建议
按天计费、按人排期7×24 自主循环,5 天完成整条链路

核心警示:Red Agent 攻入的链条里,涉事代码由 Copilot 辅助编写且被人工批准——AI 不只是攻击者,还是漏洞的「生产者」。防御方必须同时盯住这两个入口。

Step 1:明确授权边界(先于一切)

1 没有授权,技术越强风险越大

做任何 AI 红队项目之前,先回答四个问题并留书面记录:

1. 授权范围:哪些系统/域名/账号可以测?(写清单)
2. 测试时段:允许在几点到几点执行攻击动作?
3. 影响边界:允许做什么?(读数据?提权?不许删数据)
4. 应急联络人:触发告警时找谁、怎么证明是测试?

建议用隔离的测试环境复现本教程的攻击链,
不要在真实生产系统上演练。
💡 很多安全团队翻车不是因为技术不够,而是边界不清。AI Agent 的自主性越高,越要先「上锁」再「点火」。

Step 2:搭一个「规划器 + 执行器」双 Agent 骨架

2 让 Agent 会规划、也会动手

Red Agent 的架构可以简化成两个角色分工协作:

规划器 Planner:
- 输入:漏洞情报、目标资产清单
- 输出:攻击路径图(先做什么、后做什么、条件分支)
- 原则:每一步只做「授权范围内」的动作

执行器 Executor:
- 接收规划器下发的单步指令
- 调用工具:HTTP 请求、代码执行、凭据尝试
- 把结果回报给规划器,形成「发现→利用→验证」闭环

# 提示词要点(安全场景)
规划器提示词必须包含:授权边界声明、禁删数据、
超时上限、失败重试次数上限、触发条件自动停止

护栏设计:给 Agent 加「停止条件」和「白名单」,例如只允许访问 *.test.example 域、禁止写操作。参考《多 Agent 安全五道护栏》里的思路做框架级约束。

Step 3:复现 GitHub Actions 注入链

3 理解「注入 → 供应链」的典型链路

Red Agent 攻破的链路本质是一条CI/CD 注入链,原理可拆成四步(请在隔离环境复现):

1. 注入点:GitHub Actions 工作流中,存在未清理的输入
   (如 issue 标题 / PR 描述)被拼进 run: 命令
2. 触发:攻击者提交一个恶意命名的 issue/PR,注入命令执行
3. 横向:注入的命令拿到 GITHUB_TOKEN,向内部系统发请求
   (如调用内部 API、写 Jira 工单)
4. 放大:利用 CI 环境的网络权限,向更深的内网渗透

关键教训:
- Actions 中任何外部输入都要按「不可信」处理
- GITHUB_TOKEN 默认权限要收紧,按最小权限授予
💡 想深入理解这类攻击的防御侧,可看本中心《Agent 安全加固》教程;想理解攻击者如何系统化利用,配合 JADEPUFFER 那篇一起读。

Step 4:跑通「自主渗透」闭环

4 四个阶段的循环

Red Agent 的自主性体现在它把渗透测试做成了一个可循环的工程流程:

阶段一 情报收集:扫描资产、枚举暴露面、拉取漏洞库
阶段二 攻击规划:基于情报生成候选攻击路径(规划器)
阶段三 执行验证:执行器逐条尝试,记录成功/失败
阶段四 报告沉淀:成功的路径自动产出 PoC 报告
                + 修复建议 + 影响评级

循环:阶段四的结果回到阶段一,尝试下一跳目标,
直到达成授权目标或触发停止条件。

成本与失控风险:自主 Agent 的每一步都可能产生真实流量和日志,测试环境要按「可随时整体断电」设计;生产环境别让自主 Agent 直接开跑。

Step 5:防守侧——给自家 CI/CD 上护栏

5 从这次事件反推防御清单

Red Agent 事件给所有团队的提醒:AI 时代防御要同时防「AI 攻击」和「AI 写的漏洞」。落地清单:

1. Actions 输入净化:所有外部输入先过滤再进 run 命令
2. 最小权限令牌:GITHUB_TOKEN 按 job 粒度授权,禁默认读写全部
3. 出站网络白名单:CI 运行环境的网络按需放行,禁全开
4. AI 生成代码审查:Copilot/Codex 生成的代码过安全扫描
   (这正是 Copilot 辅助编写 + 人工批准翻车的教训)
5. 审计日志与告警:CI 环境异常出站/异常令牌调用必须告警
6. 定期用「白帽 Agent」自查:用同类工具在授权范围主动找洞
💡 防守不是禁用 AI 工具,而是给 AI 加流程约束。《Anthropic CISO 四问法》提供了一套低成本的自查框架,可配合本清单使用。

Step 6:报告与修复闭环

6 让每一次攻防都留下资产

一次成功的红队行动(无论人工还是 AI),收尾比开场更重要:

1. 产出利用报告:漏洞描述 / 复现步骤 / 影响范围 / 证据截图
2. 给出修复建议:按优先级排序(P0 立即修 / P1 本周修)
3. 登记漏洞跟踪:进工单系统,绑定负责人与截止日
4. 回归验证:修复后跑一遍同款攻击确认封堵
5. 沉淀到知识库:攻击手法入库,下次防御/红队直接复用
🎉 到这里,你已经理解了「AI 红队自动化」的完整图景:架构、攻击链、自主闭环、防御护栏、修复流程。主动权在你手里——是用它主动加固,还是等别人用它打进来,只差一个决定。

常见问题速查

你遇到的现象大概率原因 & 解决
Agent 越权访问了未授权系统规划器提示词缺少边界声明,加白名单 + 停止条件并重跑授权流程
Actions 注入测试误伤生产务必在隔离仓库复现,生产仓库禁止直接跑注入脚本
AI 生成代码混入漏洞加安全扫描门禁(Semgrep/CodeQL),人工审查时重点看输入处理
想用 AI 做防守自查从最小授权范围开始,先跑非敏感系统,逐步建立信任
← 返回教程中心