Microsoft Copilot 自曝内部参数,被研究人员直接套话攻破
AI 前沿模型被攻击者绕过用户确认、吐露出用户密码及其他敏感数据的情况并不常见。而这正是研究人员在企业版 Microsoft 365 Copilot 上做到的事。更不寻常的是,他们发现这个严重漏洞的途径——既没有逆向工程,也没用其他传统的漏洞挖掘手段,而是直接去问 Copilot。这位 LLM 助手毫无保留地全盘托出。
安全公司 Varonis 的研究人员一开始就计划构造一个漏洞利用,让用户只要点一下链接就泄露数据。和如今大多数 AI 助手一样,Copilot 一口回绝,明确表示这类敏感操作必须经过用户明确授权,比如按一下回车键或其他按键。面对这样的阻拦,研究人员换了个思路,开始向 Copilot 反复提问,套取那些要求用户确认才能执行高权限命令的安全机制细节。
祸从口出
这场对话就像一场"二十个问题"游戏:每得到一个回答,就能拿到新的线索,逐步摸清这套复杂的安全机制。他们问:为什么不能自动执行?涉及哪些 URL 结构和 deep link?如果页面加载时输入框里已经有内容会怎样?每次回答都让他们离安全机制的边界更近一些。最终,Copilot 抖出了一个惊人的微软内部秘密——一个未经文档化的 prompt 参数,能彻底绕过用户确认这道关卡。
"一开始 Copilot 一直在拒绝,但每次拒绝都暴露了它内部架构的技术细节," Varonis 高级研究员 Lior Adar 对 Ars 表示,"Copilot 最后直接把那些未经文档化的参数告诉了我。我拿到这些参数,用来构造可以自动执行的 prompt。"
这个参数是字符串 ?autorun=1。当与另一个广为人知的参数 ?q= 配合使用时,受害者一点击恶意链接,研究人员的提示语就会悄悄触发。微软在 2 月悄悄修复了该漏洞——那已是 Varonis 上报三个月之后——方法是禁止 ?q= 再向聊天机器人输入框注入文本,用户必须手动点击并输入。这一限制使得第三方浏览器集成无法再按原计划使用该参数。微软在周二发布了更全面的修复方案。