Wiz 的安全研究人员记录了一个不寻常的人工智能案例,该案例创建了另一个人工智能系统随后发现并利用的漏洞:自动 GitHub Copilot 修复程序在 Snowflake 开源存储库中引入了严重的脚本注入缺陷,而 Wiz 的自主红色代理发现了该错误,将其武器化,并从 Snowflake 的内部系统中提取了凭据 - 所有这些都在有缺陷的代码登陆后几天内完成。
周一在 Wiz Research 博客上发布的调查结果很快就登上了《黑客新闻》的头版,开发人员在其中讨论了让人工智能编码助手直接向生产存储库提交更改的日益增长的实践意味着什么。这一事件被解读为对业界急于采用人工智能编写代码的警告。有关重塑软件开发的工具的更多故事,请关注我们的 AI 新闻报道。
AI 自动修复如何创建漏洞
据 Wiz 称,该问题始于 2026 年 6 月 18 日,当时公共“snowflake-connector-net”存储库中的拉取请求更新了名为“jira_issue.yml”的 GitHub Actions 工作流程。该提交由 GitHub Copilot 的 Autofix 功能共同撰写,替换了一种安全编码模式(通过环境变量传递不受信任的问题标题并使用“jq”构建 JSON 有效负载),将用户控制的输入直接模板插值到 shell 脚本中。
每当任何 GitHub 用户在存储库上打开问题时,工作流程都会运行。由于问题标题直接插入到“run:”块中,因此精心设计的标题中的单引号足以突破 shell 命令并在 GitHub 的 Actions 运行器上执行任意代码。
工作流程中看似安全门的条件检查结果无效:在问题事件中,“github.event.pull_request”上下文始终为空,因此每个用户的条件评估为 true。实际上,GitHub 上的任何人都可以触发工作流程。
Wiz 表示,人工智能助手删除的安全模式是故意实施的,目的是为了防止此类 shell 注入——这是自动化助手无法了解的历史背景。
红色特工找到了它——并且拒绝失败
该案的引人注目之处在于该缺陷是如何被发现的。 Wiz 的 Red Agent(一种自主攻击性安全代理)在使用 CI/CD 分析功能扫描 Snowflake 的 GitHub 组织时,将工作流程标记为容易受到脚本注入攻击。
当代理尝试利用该缺陷时,其第一个有效负载(使用注释字符截断 shell 命令)失败,并出现 bash 语法错误。研究人员写道,Red Agent 没有停止,而是自主分析了错误,调整了其有效负载以正确关闭 shell 语法,并成功将 Jira 凭据泄露到带外回调服务器。回调来自 GitHub Actions 运行程序,携带 Base64 编码形式的凭据。
泄露的令牌属于对 Jira 中的 Snowflake 工程、安全合规性和错误赏金跟踪项目具有读取权限的帐户。
从注射到贴片五天
Wiz 公布的披露时间表进展很快:
- 2026 年 6 月 18 日 — 该漏洞模式是由 Copilot Autofix 共同创作的提交引入的
- 2026 年 6 月 23 日 — Wiz 识别、利用该缺陷,并通过 HackerOne 向 Snowflake 报告该缺陷
- 2026 年 6 月 23 日 — Snowflake 在同一天修补了工作流程,恢复了安全的 `env:` 变量和 `jq` 解析模式
- 2026 年 6 月 24 日 — 公开的 Jira 令牌被撤销和轮换
- 2026 年 7 月 25 日 — 协调公开披露
Snowflake 告诉 Wiz,其调查没有发现未经授权访问的证据。该公司在一份声明中表示:“我们于 2026 年 6 月 23 日收到披露信息,并立即进行了调查和补救,我们的调查没有发现未经授权访问的证据。”并补充说,它正在与 Wiz 合作,与更广泛的行业分享经验教训。
更大的教训:人工智能代码需要人性化的审查
维兹从这起事件中得出了三个结论,这些结论远远超出了雪花的范围。
首先,人工智能生成的拉取请求必须经过与人类代码相同的静态分析和安全审查。编码助手根据概率模式预测代码,这意味着他们可以默默地重新引入存储库已消除的已弃用或不安全的构造。
其次,发现窗口正在崩溃。该漏洞仅存在五天,就被自动代理发现并验证了它——假设攻击者使用类似工具进行扫描的速度也能同样快。快速的补丁周期和短暂的凭证正在成为基线要求。
第三,组织需要阻止人工智能助手用直接字符串插值替换结构化数据解析器的护栏——这正是这里发生的回归。
这一事件发生之际,行业正在对人工智能生成的代码进行更广泛的反思。最近的一系列研究和现实案例表明,人工智能编码工具在提高生产力的同时,也可能会带来错误、安全漏洞和维护难题。雪花案例的独特之处在于闭环:引起问题的人工智能和发现问题的人工智能都在自主行动,而人类则审查后果。
对于安全团队来说,Wiz 传达的信息很直白。问题不再是人工智能编写的代码是否会包含漏洞,而是你的检测管道(无论是人工还是自动化)是否能够比其他人的代理更快地找到它们。
保持人工智能曲线的领先地位
人工智能编码工具和自主代理正在实时改变软件安全性。为 AI Buzz Wire 添加书签,获取有关 AI 行业的每日报告。
阅读更多人工智能新闻 →