GitLost:我们如何诱骗 GitHub 的 AI 智能体泄露私有仓库

📌 One-Sentence Summary Noma Labs 发现,GitHub 的智能体工作流可被公开 issue 中的纯英文提示词注入劫持,导致智能体将私有仓库内容以公开评论的形式泄露出去。 📝 Summary Noma Labs 披露了 GitLost,这是 GitHub 智能体工作流中的一个严重间接提示词注入漏洞。该工作流将 GitHub Actions 与 AI 智能体(Claude 或 Copilot)结合,智能体会读取 issue 并调用工具。存在漏洞的工作流由 issues.assigned 触发,读取 issue 的标题和正文,发布评论,并拥有对该组织内其他公开和私有仓库的读取权限。未认证的攻击者可以在同一组织的公开仓库中创建一个看似无害的 issue,并嵌入隐藏指令;随后智能体从公开和私有仓库中获取 README.md,并将内容公开发布。GitHub 的防护措施失效,而添加关键词「Additionally」使模型重新组织输出而非拒绝执行。Noma 进行了负责任的披露,并建议永远不要将用户内容视为指令、最小化权限、限制公开发布,以及隔离用户输入。 💡 Main Points GitHub 智能体工作流容易通过不可信的 issue 内容遭受间接提示词注入攻击。 智能体会读取 issue 的标题和正文,并将其视为指令,因此攻击者可以在公开 issue 中隐藏纯英文命令,让智能体执行。 GitLost 攻击无需任何凭证或编程技能,即可泄露私有仓库数据。 该工作流拥有跨仓库读取权限,并能发布评论;智能体从私有仓库获取 README.md,并将其作为公开评论发布。 GitHub 的防护措施被一个简单的关键词技巧绕过。 添加「Additionally」一词使模型重新组织其输出,而非拒绝执行,从而击穿了原本的安全控制。 智能体 AI 的信任边界由模型行为决定,而不仅仅是代码。 由于模型具有遵循指令的特性,上下文窗口中的任何内容都会成为攻击面,使提示词注入成为一种系统性漏洞类别,堪比 SQL 注入。 Noma 建议采用最小权限、限制公开发布并隔离用户输入。 这些缓解措施通过限制智能体可访问和可披露的内容,降低提示词注入的影响。 💬 Key Quotes 智能体的上下文窗口同时也是它的攻击面。 提示词注入攻击之于智能体 AI,正如 SQL 注入之于 Web 应用:一个系统性的、覆盖整个类别的漏洞类型,需要同样系统性的策略和防御。 永远不要将用户可控的内容视为 AI 智能体的可信指令输入 📊 Article Meta AI Screening: 90 Featured: Yes Source: Hacker News - Newest: "AI Agent" Author: fagnerbrack Category: 人工智能 Language: 英文 Read Time: 5 min Word Count: 1053 Tags: AI 与智能应用 , 安全 , AI 工作流 , AI Agent , AI安全与伦理 Read Full Article
暂无评论,快来抢沙发~