IBM 的 AI 编程助手 “Bob” 存在严重安全漏洞。攻击者可通过间接提示注入绕过安全机制,在用户设置“始终允许”权限后,诱导 AI 下载并执行恶意软件。此外,其 IDE 环境也存在多种零点击数据外泄风险。这些漏洞可能导致勒索软件攻击、凭证失窃或设备被完全接管,对用户构成严重威胁。
IBM 在其文档中明确警告,为命令设置自动批准属于“高风险”行为,可能“执行有害操作”,并建议用户使用白名单且避免使用通配符。
攻击链:恶意软件如何被执行
攻击的核心在于利用 AI 助手的命令执行功能,并巧妙地绕过其内置的安全检查。整个过程可以在用户不知情的情况下发生。
- 第一步:植入恶意指令。 攻击者在一个代码仓库的 README 文件等处隐藏了恶意指令。当用户请求 AI 分析该仓库时,AI 会读取并被这些指令操控。
- 第二步:骗取用户信任。 AI 会伪装成进行“网络钓鱼安全演练”,并多次向用户发出无害的命令(如
echo)。 - 第三步:滥用“始终允许”权限。 在几次无害命令后,用户可能会厌烦并选择“始终允许”执行
echo这类常用命令。 - 第四步:执行恶意载荷。 AI 随即提交一个经过特殊构造的危险命令。由于该命令以用户已授权的
echo开头,并且其恶意部分通过技术手段被隐藏,系统会将其误判为安全命令并自动执行,最终从攻击者服务器下载并运行恶意脚本。
被绕过的关键防御机制
此次攻击成功绕过了 Bob CLI 的三道主要防线:
- 多命令执行验证绕过: 系统默认会分别请求用户授权由
;分隔的多个命令,但未能识别由重定向符>串联的命令,导致恶意子命令被隐藏。 - 命令替换限制绕过: 系统虽然禁止了
$(command)形式的命令替换,但未能有效限制>(command)形式的进程替换,为执行恶意代码打开了后门。 - 自动批准权限滥用: 结合以上两个绕过手段,攻击者将恶意载荷伪装成用户已授权的“安全”命令的一部分,实现了自动执行。
主要风险与影响
一旦攻击者能够向受害者设备投送任意脚本,就可能引发全面的网络攻击,具体风险包括:
- 执行勒索软件,对用户文件进行加密或删除。
- 窃取登录凭证或部署间谍软件。
- 完全接管设备,例如打开一个反向 shell。
- 强制设备加入加密货币挖矿的僵尸网络。
其他发现:IDE 数据泄露风险
除了命令行工具的执行漏洞,Bob 的 IDE 环境也被发现存在多种已知的零点击数据外泄风险,这意味着数据可能在用户未进行任何点击操作时就被窃取。
- Markdown 图片渲染: 模型输出内容中渲染的 Markdown 图片,其链接可指向攻击者控制的服务器,从而将用户的查询数据等信息泄露出去。
- Mermaid 图表: 与图片类似,支持外部图像的 Mermaid 图表也可能被用作数据外泄的渠道。
- JSON 模式预取: 如果代码中包含由攻击者控制的 URL,IDE 的 JSON 模式预取功能可能会在用户确认编辑前就自动访问该 URL,从而导致数据泄露。