GitHub智能体遭提示注入攻击,私有仓库内容被公开泄露
根据安全公司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和评论一律视为不受信任的输入内容加以处理。QAQ1GitLost攻击是如何实现私有仓库内容泄露的A攻击者只需向一个公开的GitHub仓库提交包含隐藏指令的Issue当AI智能体读取该Issue时会将其中的指令视为可信任命令并执行。如果该智能体同时拥有同组织内私有仓库的读取权限就会将私有仓库中的内容如README文件提取出来并以公开评论的形式发布从而造成信息泄露。整个过程无需窃取凭证或利用任何传统软件漏洞。Q2GitHub智能体工作流为什么容易受到提示注入攻击AGitHub智能体工作流将GitHub Actions与Claude或GitHub Copilot等AI模型结合允许智能体自主读取Issue、调用工具并执行任务。问题在于智能体无法区分可信的系统指令与用户提交的不可信内容同时其执行上下文中缺乏信任边界约束智能体只看到资源可访问而不知道某个仓库是否为私有。这种架构设计使得恶意输入可以轻易被当作合法指令执行。Q3企业应该如何防范AI智能体面临的提示注入风险A安全研究人员建议采取三项核心措施第一为AI智能体配置明确的仓库白名单避免赋予宽泛的服务账户访问权限第二对所有用户输入包括Issue内容、PR描述、提交信息等在进入大语言模型之前进行严格验证将其视为不受信任的内容处理第三建立紧急熔断机制确保在智能体出现异常行为时能够迅速将其禁用。此外还应落实最小权限原则限制智能体的跨仓库访问能力。