找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3971

积分

0

好友

523

主题
发表于 4 小时前 | 查看: 3| 回复: 0

GitLost攻击曝光:公开Issue可诱骗AI泄露私有数据,只需一个单词绕过防护

Noma Security研究人员发现,攻击者只需在公开仓库创建一个看似正常的 issue,无需窃取凭证或获取组织访问权限,就能诱使 GitHub Agentic Workflows 泄露组织私有仓库内容。如果目标组织已授予该 Agent 跨仓库(包括私有仓库)的读取权限,恶意 issue 就能引导其将私有内容提取至公开评论中。

Noma 将这种技术命名为 GitLost。攻击目标是 GitHub 今年二月推出的公开预览功能 Agentic Workflows,该功能允许用户直接在 Markdown 文件中用自然英语编写指令,由 AI Agent 自动读取 issue 和拉取请求、运行工具并自主回复。该功能可基于 GitHub Copilot、Anthropic的 Claude、Google Gemini 或 OpenAI Codex 运行。

攻击原理剖析

漏洞根源在于间接提示注入这一已知问题:AI Agent 无法可靠区分来自所有者的指令与隐藏在其读取内容中的指令。在 Noma 的 PoC 中,恶意 issue 伪装成销售副总裁在客户会议后的常规请求。当自动化流程分配该 issue 后,Agent 便将私有仓库的 README 文件内容粘贴至公开评论。

攻击者创建的伪装issue截图

GitHub 虽已内置防护措施(包括沙箱隔离、默认只读令牌、输入清洗及发布前的威胁检测扫描),但 Noma 测试发现仅需在恶意指令前添加 “Additionally” 一词,就能让模型将其视为后续任务而非拒绝项,从而绕过防护。

攻击特性分析

Noma 安全研究主管 Sasi Levi 指出,GitLost 的独特之处在于攻击者能控制 Agent 的权限行为——这不是聊天窗口,而是具有跨仓库读取权限的凭证化执行者。攻击者无需入侵服务器、窃取凭证或获取私有内容写入权限,仅需创建公开 issue 即可。这种模式符合开发者 Simon Willison 提出的“致命三要素”:可访问私有数据的 Agent、接收不可信外部输入、具备数据外泄途径。

GitLost攻击流程:公开Issue诱骗Agent泄露私有数据

行业现状与应对建议

GitLost 是近期同类攻击的最新案例。此前 Anthropic Claude Code GitHub Action 漏洞、Orca Security 的 RoguePilot 攻击,以及 Invariant Labs 披露的 GitHub MCP 服务器问题,均证明这是架构级缺陷,无法通过补丁修复。

Noma 建议采取以下防护措施:

  • 将个人访问令牌权限限定于工作流处理的单一仓库,而非整个组织
  • 限制面向公众的工作流发布内容
  • 设置 Agent 响应内容的白名单作者
  • 建立人工审核输出机制

GitHub 的威胁检测虽能扫描 Agent 输出,但 Noma 的单词绕过实验证明过滤机制仅是最后防线。正如 Levi 强调:在自然语言中,数据与指令不存在类似 SQL 的清晰界限,因此解决方案应侧重于架构设计——通过隔离、限定权限和分级审核来构建防护体系。在完善边界建立前,任何能读取私有数据、接收不可信输入且可公开发布的 Agent,都面临因精心设计的 issue 导致数据泄露的风险。类似的安全攻防探讨,欢迎访问云栈社区。

参考来源:
Public GitHub Issue Could Trick GitHub Agentic Workflows Into Leaking Private Repo Data
https://thehackernews.com/2026/07/public-github-issue-could-trick-github.html




上一篇:API Key客户端硬编码的法律风险:五道无法逾越的刑事红线
下一篇:潜伏16年的KVM漏洞分析:Januscape如何利用影子页重用实现虚拟机逃逸
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-7-9 05:25 , Processed in 0.829991 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表