AI Agent 安全:非预期远程代码执行(RCE)与代码注入攻击
AI Agent 安全:非预期远程代码执行(RCE)与代码注入攻击
威胁描述
具备工具调用(Tool Use) 和 函数执行(Function Calling) 能力的 AI Agent,在处理用户输入时若缺乏安全过滤,可能被攻击者通过 直接或间接提示注入(Prompt Injection) 操纵,执行以下恶意行为:
- 生成恶意代码(如 Bash、Python、C);
- 下载并运行恶意软件;
- 调用系统命令或工具执行非预期操作。
一旦在非隔离环境中执行,将导致:
- 远程代码执行(RCE);
- 本地权限提升;
- 敏感数据泄露或系统接管。
威胁场景
- AI Agent 被赋予 代码生成、编译、执行 或 软件下载运行 等高危能力;
- 执行环境未部署沙箱、容器隔离或权限限制;
- Agent 处理不可信输入(如网页内容、用户消息、文档)时未进行安全校验。
威胁触发条件
- AI Agent 执行了由攻击者诱导生成或下载的代码/软件;
- 该代码/软件包含非预期的恶意操作(如连接 C2、窃取文件、提权);
- 执行环境缺乏运行时防护机制。
缓解措施
技术措施
- 严格限制工具调用权限
- 仅开放必要工具集,禁用高危操作(如
rm、wget、chmod); - 对每个工具调用实施访问控制与参数校验。
- 仅开放必要工具集,禁用高危操作(如
- 强制沙箱化执行
- 所有代码生成、软件运行必须在隔离沙箱(如 gVisor、Firecracker、安全容器)中进行;
- 沙箱应限制网络访问、文件系统写入、系统调用。
管理措施
- 实施行为监控与审计
- 记录 Agent 所有工具调用、代码生成、文件操作日志;
- 部署异常行为检测(如高频下载、可疑命令序列);
- 设置人工审批机制用于高危操作(如首次执行未知二进制)。
威胁案例
Claude Computer Use 功能遭 Prompt Injection 利用(2024年10月)
- 攻击方式:间接提示注入(Indirect Prompt Injection)
- 目标能力:Anthropic 的 Claude Computer Use Beta 功能,允许 Agent:
- 截图分析界面;
- 操作浏览器;
- 执行 Bash 命令;
- 下载并运行文件。
- 攻击流程:
- 攻击者构造恶意网页
- 用户(或测试者)让 Claude 访问该网页;
- Claude 自动解析文本指令,调用 Computer Use 工具:
- 点击链接下载
spai-demo(实为 C2 客户端); - 自动执行
chmod +x赋予可执行权限; - 运行该二进制,连接攻击者控制的 Sliver C2 服务器;
- 点击链接下载
- 攻击者获得对 Claude 所在主机的远程 shell 控制权,可窃取本地文件、横向移动。
- 扩展攻击面:
攻击者亦可诱导 Claude 从零生成恶意 C 代码 → 编译 → 执行,无需外部下载,完全绕过网络检测。 - 风险评级:高危(具备自动化、无交互、高权限执行能力)
- 案例来源:Embrace The Red – “ZombAIs: From Prompt Injection to C2”
注:作者将此类被攻陷的 AI 系统称为 “ZombAI” —— 自主化 AI 与传统 C2 攻击的融合,代表下一代 AI 安全威胁范式。
总结:赋予 AI Agent 执行能力的同时,必须同步构建安全执行边界。“能动”不等于“可信” —— 任何由不可信输入驱动的代码/工具执行,都应视为潜在 RCE 入口。防御核心在于:最小权限 + 沙箱隔离 + 行为审计。

浙公网安备 33010602011771号