
2026年6月18日Snowflake的snowflakedb/snowflake-connector-net仓库中一次PR合并将一个存在脚本注入风险的GitHub Actions工作流带入生产。PR #1218修改了jira_issue.yml文件把issue标题直接插入shell命令的echo语句中sed转义操作发生在GitHub模板展开之后。任何用户只需提交包含单引号的issue标题即可突破引号限制执行任意命令。漏洞形成机制原有安全做法是将issue标题存入环境变量再用jq构建JSON。修改后直接使用模板插值攻击者可构造payload让命令在runner上执行。Wiz的Red Agent在6月23日通过HackerOne项目扫描发现此问题并成功提取Jira令牌访问工程与合规项目。Snowflake当天完成修复并轮换凭证审计日志显示暴露期间仅Wiz访问。GitHub Advanced Security扫描了最终PR版本却未标记该注入风险。AI工具链的验证断层Copilot Autofix在PR中被记录为共同作者对jira_close.yml的修改进行了检查但未识别jira_issue.yml的注入模式。GitHub事后内部审查称引入漏洞的代码变更由人类完成未经过Copilot审查或贡献。此说法与Wiz报告中“Copilot Autofix共同署名”的描述存在差异。事件核心在于现有安全扫描工具对AI辅助生成的代码缺乏针对性检查。模板插值与shell转义的顺序问题属于经典注入模式却未被自动工具捕获。Red Agent则在漏洞上线后迅速完成从语法错误分析到有效payload调整的全过程。产业层面的连锁影响AI编码工具已进入实际开发流程Copilot Autofix的目标是自动修复扫描发现的问题。但当修复本身引入新漏洞且后续扫描未能检测时信任链出现断裂。开发者可能默认AI建议经过验证实际却依赖人工二次审查。CI/CD流水线成为高价值攻击面任意用户可通过公开issue触发执行。自主安全代理能在数天内完成发现与利用远快于传统人工流程。GitHub与第三方AI安全工具对同一代码变更的判断出现分歧暴露评估标准不一致。类似案例显示AI生成代码的执行路径与人工编写的代码在安全审查上应采用同等或更高标准。当前工具链在处理模板插值、环境变量与命令构造的组合时存在盲区。后续判断该漏洞的引入与发现过程表明AI辅助开发的实际安全边界取决于扫描工具对新代码模式的覆盖程度。GitHub否认AI参与的具体贡献但无法改变工作流已被修改并上线的事实。未来需要针对AI生成片段建立独立验证流程而非仅依赖现有静态分析规则。本文首发于赢政天下https://www.winzheng.com获取更多深度技术内容与资源欢迎访问官网。