先做一道判断题:
你安装过任何一款"AI + Google Sheets"或"AI + Excel"的插件吗?如果装过,在你点"允许授权"那一刻,你以为你授权了什么?
大多数人的答案是:让AI帮我改改表格,读读数据,仅此而已。
但安全公司PromptArmor近期做的一次演示,让这个答案显得非常天真。
他们测试的目标是一款叫"ChatGPT for Google Sheets"的插件——上线不到一个月,已经积累了185,000次下载。
攻击流程只有两步:
第一步: 在某个普通的共享表格里,藏一段白色文字。字体白色,背景白色,人眼看不到,但AI能读。这段文字是写给AI的隐藏指令。
第二步: 等待。
等某个安装了这款插件的用户,打开这个表格,让AI帮忙"整理一下数据"。
接下来会发生什么?
AI读到了那段隐藏指令,在后台悄悄运行了一段脚本。脚本开始扫描这个表格里有没有指向其他文件的链接——有,是公司预算表——于是自动读取并发走;再扫描预算表里有没有指向其他文件的链接——有——继续读取发走……
最终,受害者账号里的12个工作簿被完整打包发送到攻击者的服务器。
全程没有任何弹窗提示。没有任何确认步骤。你甚至不知道发生了什么。
就算此时你察觉不对,按下ChatGPT侧边栏的"停止"按钮——已经启动的脚本,不会停。
配图来源:PromptArmor
原文:https://www.promptarmor.com/resources/gpt-for-google-sheets-data-exfiltration
要理解这个漏洞,需要先理解你装插件时点的那个"允许",到底意味着什么。
当你安装这类AI插件,弹出的授权窗口写的是:允许该应用读取和编辑你的电子表格。
你以为这是"帮我改今天打开的这个表格"。
实际上,这个授权覆盖的是你Google账号下所有工作表,包括三年前存的那些,包括被分享给你的所有文件。
这还没完。这款插件被赋予的权限里包含一项叫做"执行Google Apps Script"的能力——设计初衷是让AI能真正帮你修改表格,而不是只出主意。但这个能力,加上"AI模型可以被隐藏指令操控"这个事实,组合出了一个致命的漏洞:
攻击者不需要黑进你的电脑。不需要骗你点链接。他只需要控制你某天会让AI处理的任意一个文件里的一段文字——剩下的,AI会替他完成。
PromptArmor在报告里用了一个类比,我觉得非常准:这就好比你雇了个实习生处理一批不知道谁发来的Excel,然后给他发了全公司服务器的root密码。实习生本身没有恶意,但如果那批Excel里藏着人的指令,结果由谁负责?
这里有一个更大的问题值得停下来想一想。
传统软件里,一个程序调用另一个程序的接口,中间有权限校验、操作记录、异常检测——出了事,至少能查到谁做了什么,什么时候做的。
但现在的AI插件生态,为了追求"流畅体验",把模型的输出直接当成执行指令,跳过了所有安全中间层。这意味着一旦AI被一段隐藏文字操控,它就能用你授权的权限,做任何攻击者想做的事——而整个过程在日志里看起来完全正常,因为执行操作的"人",就是你自己的账号。
Hacker News上有条被顶上来的评论说:
"事实证明,用AI造软件的人里有一部分根本不知道怎么加固它们,甚至不知道AI已经往里加了一堆安全漏洞。纯凭感觉写代码。"
难听,但不是无的放矢。AI插件的开发门槛极低,大量没有安全工程背景的开发者涌进来,他们能快速做出一个"能用"的产品,但根本没有能力评估:一个被赋予了执行权限的AI模型,在被恶意输入操控时意味着什么。
PromptArmor给OpenAI发了漏洞报告,等来的是一封自动确认邮件。尽管多次跟进,"我们从没收到过自动回复以外的任何沟通"。
最终OpenAI做出的修复是:移除了模型生成Apps Script代码的能力。也就是说,他们的解法是砍掉这个功能,而不是把它做安全。
不需要卸载所有AI插件。只需要改四个习惯:
① 敏感数据,别用插件处理工资单、客户信息、融资计划——这类数据只要授权过一次,历史版本全部暴露。真的需要用AI处理,去网页版ChatGPT或Claude,手动复制粘贴那几行。麻烦一点,但你控制了暴露范围。
② 关掉"自动应用编辑"ChatGPT for Google Sheets设置里找"Apply edits automatically",关掉。这次演示的攻击绕过了这个限制,但关掉能挡住一部分较弱的攻击链。
③清查你已经授权的插件打开 myaccount.google.com/permissions,把那些你已经不用、但还挂着"可查看和修改所有电子表格"权限的插件,全部撤销。
④ 做开发的朋友:权限校验层不能省执行代码的模型调用必须跑在隔离环境里,不能直接访问用户全量数据。这不是可以后补的细节,是基础设施。
这件事让我觉得有点沉重的,不是漏洞本身——漏洞总会有,修了就好。
让我觉得沉重的是这样一个结构:用户用"允许"换来便利,开发者用便利换来下载量,平台用下载量换来生态繁荣——而安全成本,最终由用户的数据来承担。
185,000次下载,每一次都是一个人在没有充分信息的情况下,把自己的所有文件托付给一个不认识的开发者。
下次装任何AI插件之前,多花三秒问自己:这个开发者是我信任的人吗?这些数据丢了,我能接受吗?
原始研究:PromptArmor《ChatGPT for Google Sheets数据外泄漏洞》