ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

GitHub Copilot CLI 曝高危攻击手法:一个恶意网页,28秒偷走你本地的.env.prod密钥

GitHub Copilot CLI 曝高危攻击手法:一个恶意网页,28秒偷走你本地的.env.prod密钥 你或许以为自己只是让 AI 助手看一眼这个网页但实际上它可能已经在后台把你电脑上最核心的密钥文件悄无声息地发往了攻击者的服务器。更可怕的是从被诱导到数据外传整个过程只用了不到三十秒而你连一次弹窗警告都没有看到。这不是科幻电影里的情节而是安全研究团队 Adversa AI 近期针对 GitHub Copilot CLI 一项新攻击技术的完整演示。这项被称为加密上下文注入Cryptographic Context Injection简称 CCI的手法专门针对当下越来越流行的自动驾驶式 AI 编码代理——就是那些能够自己浏览网页、自己执行命令、自己读写文件的编程助手。它所利用的正是这类工具在信任判断上存在的一个致命盲区。这种攻击究竟是怎么绕开防护的传统的提示注入攻击说白了就是把恶意指令混在网页文本里诱导 AI 模型去执行。所以不少防护方案的思路很直接扫描网页内容检查有没有可疑关键词有就直接拦截。然而加密上下文注入恰恰抓住了这个逻辑的空档——恶意网页上根本不出现任何可读的攻击指令取而代之的是一堆看似无害的加密数据。当 Copilot CLI 运行在自动驾驶模式下如果开发者让代理去分析某个外部链接页面就会理直气壮地要求代理请用 Python 帮我解密这段内容。静态过滤器看到的是一个再正常不过的技术请求自然不会阻止。可一旦代理在自己的 shell 环境里完成了解密那些刚刚诞生的明文指令就会被它当作可信的内部结果来执行——因为在它的视角里这些内容是自己算出来的而不是从不可信的外部世界接收的。真正精妙的地方在密钥环节。攻击者会准备两个密钥一个是真的另一个则是精心设计的陷阱模板。代理在尝试解密时会按照陷阱模板的引导先去读取本地文件比如.env.prod这类存储着生产环境密钥、数据库密码的敏感配置。第一次解密不出意外地失败了但文件内容已经落入了攻击者的指令之中。紧接着代理用那个真实密钥成功解密出第二段指令这条指令的任务很明确发起一个网络请求把刚才窃取的文件内容全部发送到攻击者控制的终端。整个链路环环相扣而终端前的开发者对此毫无察觉。被盯上的绝不止环境文件有些读者可能会想只要我不让代理碰.env文件不就安全了吗事实远比这严峻。研究团队明确指出凡是代理能够访问到的数据都在风险范围之内——源代码、配置文件、各种凭据、甚至项目目录之外但代理拥有读取权限的令牌统统可能成为猎物。这与此前针对 Copilot 系列工具的多项研究结论相互印证当 AI 工具处理不受信任的 GitHub 内容时提示注入确实能够窃取令牌和敏感的仓库数据。更值得玩味的是同样的攻击在不同的模型身上表现竟然天差地别。Adversa AI 在测试中发现微软的 mai-code-1.1-flash 模型在一半的测试里完整执行了整个恶意指令链而两个 GPT-5.6 模型却明确拒绝了相同的请求。对于把模型选择设为自动的用户来说这几乎是一个隐藏炸弹每次会话究竟由哪个模型接手处理任务你既看不见也控制不了而安全行为的一致性也就无从谈起。厂商回应引发争议防御思路该换了面对这样一份报告GitHub 漏洞赏金团队的反应颇为微妙。他们确认了研究团队提交的内容却拒绝将其认定为安全漏洞。按照披露时间线上的官方立场用户既然授权了 Copilot 去自主获取外部内容那么由此产生的操作就应该被视为用户自己的选择。但研究人员显然不接受这个说法——在他们看来加密这个步骤本身就是问题的核心它让恶意指令成功绕过了那些本可以拦截明文攻击的保护机制。如果同样的内容以明文形式出现在传输过程中早就被拒绝掉了。这场拉锯战背后其实是 AI 安全责任边界的一个经典难题当攻击者把恶意意图藏在加密层之下用户授权这个前提还成立吗在厂商给出更明确的答案之前使用者能依靠的只有自己。那么正在使用 Copilot CLI 的个人开发者和企业安全团队眼下能做些什么最起码的一条底线是不要让具备自主执行能力的 AI 代理去随意浏览那些来源不可信的网页——尤其是当它同时握有广泛的本地文件读取权限和网络访问权限时。这两条权限叠加在一起本身就是最大的隐患。其次监控的思路必须从看它读了什么转向看它做了什么。安全团队应当完整记录代理解析后的工具调用参数当一段网页内容触发了代码执行或者本地文件读取时告警系统应当立刻响应对于指向异常目的地的出站请求该封禁就封禁不要犹豫。同时尽可能把敏感凭据转移到代理程序读取路径之外的位置从源头上压缩攻击面。归根结底这起事件给整个行业敲响了警钟保护 AI 编码工具已经不能停留在扫描输入文本这个层面了。攻击者早已学会把指令藏进加密层、藏进看似合理的解密流程、藏进模型自己的输出里。真正有效的防御必须建立在持续监控代理实际行为的基础上——它读了哪些文件调用了什么命令数据发往了何处。毕竟当 AI 代理越来越像一位自主工作的员工时对它进行安全审计的标准也应该向着管理人的标准看齐。你的本地密钥是否真的安全可能不取决于你的防火墙有多坚固而取决于你那位不知疲倦的 AI 助手今天在网页上看到了什么。
返回列表