Forever Security公司的研究人员披露了一种新的攻击技术,该技术使攻击者能够引导基于人工智能的编程智能体执行恶意命令并安装恶意软件包。该技术依赖于利用AI智能体读取Markdown格式文本指令文件(如“AGENTS.md”或“CLAUDE.md”)的方式,这些文件被静默存放在用户设备的主“下载”(Downloads)文件夹中。
静默下载攻击机制
诸如“AGENTS.md”之类的文本指令文件是为AI智能体提供软件项目说明(如格式化规则、使用的工具以及如何运行测试)的标准方式。然而,大多数主流互联网浏览器(包括Chrome、Edge和Firefox)都允许网站针对默认的“下载”文件夹下载文件,而无需就每个文件请求用户的明确同意。
当开发人员在“下载”文件夹中运行AI智能体时——这是整理文件夹或处理最近测试文件的常见行为——智能体会自动读取该恶意文件,并利用其在本地系统环境中拥有的权限和可用工具执行其中的恶意指令。
实际测试与知名工具的利用
研究人员开展的测试证明,该攻击可以在“OpenAI Codex”和“Claude Code”等知名编程工具上成功实施。在一名客户的真实案例中,编程智能体根据存放在文件夹中的恶意文件的指令,试图从npm仓库安装名为“function-color”的恶意软件包。
在另一项实验中,研究人员成功将“Claude Code”模型的数据流量重定向到他们控制的外部服务器,从而暴露了OAuth访问授权令牌、劫持了智能体账户,并重定向命令以在设备上执行软件,成功率约为50%;而在“OpenAI Codex”中,该模型的利用成功率高达约90%。
为什么该消息对开发人员至关重要?
这一发展的重要性在于,被利用的行为并非AI平台内部需要OpenAI或Anthropic等公司进行更新或修补的软件漏洞;智能体只是在执行其原本被构建的功能——读取其工作目录中的指令。因此,防范和降低风险的责任完全落在用户和开发人员身上,他们需要控制智能体的权限范围和运行环境。
防范建议与措施
为了保护开发环境免受利用,建议遵守以下准则:
- 避免将主“下载”(Downloads)文件夹设置为AI智能体的工作环境或运行路径。
- 仅在指定软件项目的根目录(Root)中运行编程智能体,以限制其对外部文件的访问。
- 在允许智能体处理之前,审查并检查来自不受信任来源的指令文件(如“AGENTS.md”和“CLAUDE.md”)。
- 在运行命令或安装软件包之前,启用沙箱隔离环境(Sandboxing)和手动确认选项。