恶意指令文件被植入电脑下载文件夹后,可诱导AI编程智能体执行有害代码或泄露身份验证令牌,Forever Security公司在阻止了一次针对客户设备的攻击尝试,并在OpenAI的Codex和Anthropic的Claude Code上演示了类似攻击手法后,披露了这一发现。

在其研究报告中,该公司表示,他们在一名客户的下载文件夹中发现了一个恶意的AGENTS.md文件,该文件指示Codex安装一个名为function-color的恶意npm软件包。该安装行为在恶意软件执行前已被拦截。

研究人员未能确定原始文件是如何进入该电脑的,但他们证实,一个恶意网站可以在无需额外批准提示的情况下触发类似的下载行为。

这种攻击利用了AI编程助手处理特定项目指令的方式。Codex使用AGENTS.md文件,而Claude Code支持CLAUDE.md文件。当智能体在存在这些Markdown文件的目录中运行时,两者都可能将文件中包含的指令解读为需要执行的操作。

该攻击要求智能体在受影响的目录中运行并处理恶意文件。据Forever Security称,对于Codex而言,该目录还必须处于受信任状态。

在使用从客户设备中恢复的文件进行的测试中,Forever Security发现,Codex可被操纵修改其全机范围的MCP服务器配置,并启动另一个绕过批准和沙盒限制的会话。

在超过90%的测试中,Codex遵循了恶意指令,其中大多数测试使用的是恶意软件的无害替代品。由于恶意服务器已被注册在Codex的全机范围配置中,即便开发者切换到另一个目录,该服务器仍可在后续会话中被加载。

针对Claude Code的另一项演示表明,一个恶意的CLAUDE.md文件可以将该智能体的API流量重定向至研究人员控制的服务器,从而泄露身份验证令牌,并允许该服务器提供待执行的命令。配置篡改在约一半的测试中取得成功。

研究人员还成功重放了一个被截获的OAuth令牌,并将其用于合法API,证明了账户被攻破的潜在可能性。

这些Markdown文件本身不包含可执行代码。该攻击依赖的是AI智能体将文件内容解读为合法指令,并利用其已有的权限加以执行。

针对Forever Security的研究发现,IDC亚太区网络安全产品与服务高级研究经理Sakshi Grover表示,这项研究是一个可信的早期预警,而非大规模被利用的证据。她指出,报告中提到的成功率在不同智能体之间存在差异,且尚未经过独立验证。

HFS Research副首席分析师Akshat Tyagi表示,这些发现暴露出AI编程智能体存在的一个更广泛的设计问题:这类工具被期望遵循项目指令,但同时也可能拥有访问敏感配置信息和执行权限的能力。

Tyagi说:“更深层的问题在于,这些工具把‘遵循指令’和‘授予权限’视为同一种行为。”

他认为,厂商必须将两者区分开来,确保来自项目文件的指令在没有独立人工批准的情况下,不能授权修改智能体的安全设置。

Grover表示,厂商应验证指令文件的来源,并要求在加载来自不受信任来源的文件之前获得明确批准,而不是自动将其视为权威指令。

攻击者可以将该技术调整应用于编程智能体可访问的其他位置,包括克隆的代码仓库、共享驱动器以及软件包内容。

Grover说:“更值得关注的风险并非特指下载文件夹,而是智能体摄取不受信任内容同时持有实时凭证这一更广泛的模式。”

这些发现是在企业能否有效保障自主智能体安全性仍存在不确定性的背景下公布的。据Omdia托管安全服务高级分析师Jonathan Ong介绍,Omdia网络安全决策者调查发现,40%的受访者对其所在机构保障AI智能体安全的能力仅持“部分信心”或“没有信心”。

Ong建议采取人工监督措施以识别智能体的可疑行为,并对允许智能体绕过安全控制的设置加以限制。

Ong表示:“禁用诸如‘--dangerously-bypass-approvals-and-sandbox’之类的标志,将限制智能体执行高风险操作的授权。”

Kanerika公司AI开发经理Amit Kumar Jena建议,将智能体指令文件视同源代码进行管理,指定专人负责审查AGENTS.md、CLAUDE.md及相关配置目录的变更。

他还建议保持沙盒功能处于启用状态、限制网络访问,并通过内部软件包注册库或扫描代理来管理软件安装流程。对于设备上存有生产环境凭证的开发人员,他建议使用隔离的开发环境,并配合企业控制的网关及有效期更短的身份验证令牌。Jena表示:“指令文件可以改变智能体‘尝试去做’的事情,但绝不能改变智能体‘被允许做’的事情。”

本文最初发表于CSO。

InfoWorld