安全研究公司 PromptArmor 近日发布报告,披露了 ChatGPT for Google Sheets 扩展存在严重安全漏洞。攻击者可以通过间接 prompt 注入攻击,在无需用户授权的情况下,跨账户渗透用户的工作簿数据。更为严重的是,攻击链还可以延伸至钓鱼 Overlay 攻击,窃取用户凭证。

攻击链全貌
根据 PromptArmor 的技术分析,完整攻击路径从一份看似正常的内部财务模型开始。用户导入了一个外部数据集——这个数据集本身并不包含恶意代码,但其中隐藏着精心构造的 prompt 注入指令。当用户向 ChatGPT 寻求帮助以整合数据时,恶意指令被触发,执行一系列未经授权的操作。

第一步是执行攻击者控制的外部脚本。恶意数据集携带的指令会指示 ChatGPT 调用外部脚本接口,而 Google Sheets 扩展的沙箱机制并未对这种间接调用进行有效限制。脚本被执行后,攻击者便能渗透用户的财务模型,获取其中存储的敏感数据。
横向移动与工作簿发现
更值得警惕的是,攻击并不止于单一工作簿的渗透。脚本执行后,攻击者还能够自动发现用户账户中链接的其他工作簿——这意味着财务团队共享的预算模板、损益表、合同台账等关联文档都可能成为下一轮攻击的目标。这种横向移动能力使得单一入口的攻击可以演变为对整个数据资产的系统性收割。
PromptArmor 在报告中指出,这类攻击的本质是间接 prompt 注入(Indirect Prompt Injection):恶意内容不直接发往 AI 模型,而是嵌入到用户信任的数据源中,等待模型自行读取并触发。这种攻击方式对传统安全边界是根本性挑战,因为它利用的是 AI 系统"读取一切可读取内容"的默认行为。

钓鱼 Overlay 攻击:冒充扩展窃取凭证
在数据渗透之外,攻击链还可以进一步延伸为钓鱼 Overlay 攻击。恶意脚本能够操控扩展的界面层,以扩展的名义弹出伪造的认证窗口或权限请求对话框。由于这些对话框看起来完全来自 ChatGPT for Google Sheets 官方扩展,用户很难辨别真伪,极易输入自己的凭证信息。
这类钓鱼攻击利用的是用户对浏览器扩展界面的信任——人们通常不会怀疑一个已获授权的官方扩展会主动索要凭证。攻击者只需构造一个看起来合理的"重新验证会话"弹窗,即可完成凭证窃取。

Google Sheets 的权限模型与 AI 扩展的风险放大效应
Google Sheets 本身是一个多人协作平台,用户经常在表格中存储财务数据、客户信息、商业计划等敏感内容。当 ChatGPT 扩展获得读取表格内容的权限时,这些数据对 AI 模型而言就变成了"可读取的上下文"。问题在于,AI 模型的指令遵循特性使得它会自然地执行嵌入在数据中的指令,包括调用外部脚本——而这恰恰是传统 Web 应用安全模型中几乎不会出现的攻击面。
PromptArmor 建议用户立即审查已安装的 AI 扩展,撤销非必要的读取权限,避免在包含外部导入数据的表格中直接使用 AI 辅助功能。同时,AI 扩展开发者需要在沙箱设计上做更严格的隔离——特别是对外部脚本调用和动态界面渲染行为进行白名单控制。
参考来源:https://www.promptarmor.com/resources/gpt-for-google-sheets-data-exfiltration