根据安全公司Noma Security的最新研究,一种提示注入攻击能够诱骗GitHub预览版智能体工作流(Agentic Workflows)从私有代码仓库中提取内容并公开发布,这一发现揭示了企业在将AI智能体部署于具有特权访问权限的软件开发环境时所面临的更深层安全风险。
Noma Security在一篇博客文章中详细描述了这一被命名为"GitLost"的攻击方式:未经身份验证的攻击者只需向公开代码仓库提交一个经过精心构造的GitHub Issue,即可触发漏洞。若AI智能体拥有对同一组织内私有仓库的读取权限,便可能将敏感信息提取出来,并以公开评论的形式发布。
GitHub智能体工作流将GitHub Actions与Claude或GitHub Copilot等AI模型相结合,允许开发者通过Markdown定义工作流程,同时让AI智能体读取Issue、调用工具并代为执行相关任务。
Noma研究员Sasi Levi在文中写道:"如果GitHub智能体读取了它本不应信任的内容,会发生什么?答案就是一次典型的间接提示注入攻击——这类攻击能悄无声息地将私密数据泄露给互联网上的任何人。"
Noma指出,此次攻击无需依赖窃取的凭证、恶意软件或软件漏洞,攻击者只需在提交到公开仓库的GitHub Issue正文中嵌入隐藏指令即可。由于AI智能体将Issue内容视为可信指令而非不受信任的输入,它便会主动访问私有仓库,并将内容回传至公开Issue中。
Levi写道:"GitLost漏洞的根源,在智能体AI系统中其实并不陌生,那就是提示注入。在此案例中,任何恶意行为者都可以创建一个GitHub Issue,并在正文中用普通英语隐藏指令,GitHub的智能体便会照单全收。"
为验证这一攻击,研究人员构造了一个看似普通的GitHub Issue,要求更新文档。工作流一旦被触发,AI智能体便从私有仓库中提取了README文件,并将其内容发布在公开可见的评论中。研究人员还发现,仅需对措辞稍作修改,便能绕过GitHub基于提示的防护机制,使智能体执行此前被拒绝的指令。
截至发稿时,GitHub尚未回应置评请求。
Noma表示,GitLost所揭示的是AI智能体在架构层面面临的普遍挑战,而非GitHub独有的安全缺陷。Levi写道:"问题不在于GitHub的AI智能体安全性特别薄弱,而在于任何能够同时访问不受信任的外部内容和敏感内部资源的AI智能体,一旦缺乏明确的信任边界约束,都可能成为两者之间意外的数据通道。"
独立网络安全研究员、红队测试人员Vibhum Dubey认为,这一发现所揭露的问题远不止于提示注入本身。"这不是抽象意义上的提示注入,而是GitHub在智能体权限机制尚不成熟之前就仓促上线了智能体功能,"Dubey说,"此漏洞表明,AI智能体运行的是服务账户权限模型,而非用户权限模型。这是安全团队在将大语言模型纳入攻击向量考量之前就已形成的架构假设。"
Dubey认为,提示注入本身甚至是次要的。"真正危险的是,信任边界存在于GitHub的数据模型中,却完全不存在于智能体的执行上下文里,"他说,"智能体并不'知道'某个仓库是私有的,它只看到'可访问'。随着越来越多的组织部署智能体,这类隐形权限漏洞正在不断积累。"
Dubey建议,企业应从根本上重新审视AI智能体的权限授予方式,而不仅仅将其视为监控层面的挑战。他提出三项具体修复措施:为智能体设置明确的仓库白名单,而非赋予宽泛的服务账户访问权限;在所有用户输入(包括提交信息、PR描述和Issue内容)进入大语言模型之前进行验证;同时准备好紧急熔断机制。"大多数团队知道如何禁用一个已泄露的API密钥,但你能快速禁用一个失控的智能体吗?"
Dubey表示,GitLost清楚地说明,一旦AI智能体被赋予广泛的组织级访问权限,就可能有效地演变为一种内部威胁。"GitLost的高明之处不在于它欺骗了AI,而在于它将GitHub默认服务账户可信这一假设武器化了,"他说,"智能体本就是为了绕过人工判断、自主运行而构建的,这恰恰是它们危险所在——我们在将跨边界操作自动化的那一刻,就已经将其视为常态了。"
Noma还建议,企业应落实最小权限访问控制,限制AI智能体的跨仓库访问能力,并将GitHub的Issue、Pull Request和评论一律视为不受信任的输入内容加以处理。
Q&A
Q1:GitLost攻击是如何实现私有仓库内容泄露的?
A:攻击者只需向一个公开的GitHub仓库提交包含隐藏指令的Issue,当AI智能体读取该Issue时,会将其中的指令视为可信任命令并执行。如果该智能体同时拥有同组织内私有仓库的读取权限,就会将私有仓库中的内容(如README文件)提取出来,并以公开评论的形式发布,从而造成信息泄露。整个过程无需窃取凭证或利用任何传统软件漏洞。
Q2:GitHub智能体工作流为什么容易受到提示注入攻击?
A:GitHub智能体工作流将GitHub Actions与Claude或GitHub Copilot等AI模型结合,允许智能体自主读取Issue、调用工具并执行任务。问题在于,智能体无法区分可信的系统指令与用户提交的不可信内容,同时其执行上下文中缺乏信任边界约束,智能体只看到资源"可访问",而不知道某个仓库是否为私有。这种架构设计使得恶意输入可以轻易被当作合法指令执行。
Q3:企业应该如何防范AI智能体面临的提示注入风险?
A:安全研究人员建议采取三项核心措施:第一,为AI智能体配置明确的仓库白名单,避免赋予宽泛的服务账户访问权限;第二,对所有用户输入(包括Issue内容、PR描述、提交信息等)在进入大语言模型之前进行严格验证,将其视为不受信任的内容处理;第三,建立紧急熔断机制,确保在智能体出现异常行为时能够迅速将其禁用。此外,还应落实最小权限原则,限制智能体的跨仓库访问能力。
好文章,需要你的鼓励
苹果于6月29日发布iOS 26.5.2,带来超过二十项安全修复,其中多项针对WebKit引擎的恶意网页内容漏洞。值得关注的是,Anthropic旗下Claude AI协助发现了其中一个潜在内存损坏漏洞。用户可前往"设置-通用-软件更新"立即下载安装。随着AI辅助安全研究的深入,Claude未来或将更频繁地出现在CVE漏洞报告中。
庆应义塾大学与英伟达推出AnyGroundBench,测试15个顶级视觉语言模型在手术、工业等五大专业领域的时空定位能力,揭示当前AI在专业场景下的系统性空间定位瓶颈。
微软发布Visual Studio IDE 2026年六月更新,新增GitHub Copilot用量窗口,可实时显示用户在基于Token消耗计费模式下的使用情况。此次更新还引入了MCP服务器双重信任验证机制,在启动前后分别对配置和工具指纹进行比对。此外,C++现代化Agent正式发布,Next Edit建议范围扩展至整个活动文件,Emoji也在编辑器全局实现彩色渲染。
清华大学与蚂蚁集团联合推出AgenticDataBench,含344道真实数据科学任务和433个精细技能标签,系统评测12种主流数据智能体配置的能力边界与短板。