Hotdry.

Article

ChatGPT for Sheets 扩展 OAuth 数据外泄风险与企业级防护策略

剖析 ChatGPT 类扩展如何通过 OAuth 权限外泄 Google Sheets 工作簿数据,并提供企业级 Google Workspace 插件安全管控的可落地参数与监控清单。

2026-05-31security

风险概述:当 AI 扩展成为数据外泄通道

ChatGPT for Sheets 等 AI 扩展的流行给企业数据安全带来了新的攻击面。Salt Security 的研究表明,生成式 AI 生态系统中的插件和扩展存在严重的 OAuth 安全漏洞,攻击者可以利用这些漏洞在用户不知情的情况下安装恶意插件,进而访问敏感数据。这类风险不仅限于 ChatGPT 官方插件,任何基于 OAuth 授权的第三方 Google Workspace 扩展都可能成为数据外泄的通道。

Google Workspace 扩展通过 OAuth scopes 请求访问权限,一旦用户授权,扩展即可获得对 Google Drive、Sheets、Gmail 等服务的访问令牌。问题在于,大多数用户并不理解这些权限范围的具体含义,而攻击者正是利用这一点,通过构造恶意链接或利用插件框架的漏洞实现账户接管和数据窃取。

技术原理:OAuth 流程中的验证缺失

OAuth 2.0 授权流程本身设计严谨,但在实际实现中常常出现安全缺陷。以 ChatGPT 插件为例,Salt Security 发现的漏洞核心在于:ChatGPT 未验证发起插件安装请求的用户身份。攻击者可以构造一个包含攻击者 OAuth code 的合法链接发送给受害者,当受害者点击后,恶意插件会自动安装到其账户上,而无需任何确认。

具体攻击流程如下:攻击者首先在自己账户上安装目标插件并获取 OAuth code,然后构造形如 https://chat.openai.com/aip/{plugin_id}/oauth/callback?code={attacker_code} 的链接。受害者点击后,ChatGPT 会将该 code 与受害者账户绑定,导致攻击者配置的插件获得访问受害者数据的权限。这种攻击无需受害者与攻击者进行任何交互,属于典型的无点击攻击(0-click attack)。

PluginLab.AI 框架暴露的漏洞更为严重。该框架用于开发多个流行插件(如 AskTheCode、ScholarAI 等),其 OAuth 授权端点 /oauth/authorize 未对请求进行身份验证。攻击者只需知道受害者的 memberId(可通过邮箱计算 SHA1 获得),即可获取代表受害者的 OAuth code,进而接管其在插件中的账户并访问绑定的 GitHub 仓库等第三方服务。

攻击路径:从插件安装到工作簿外泄

当攻击目标转向 Google Sheets 扩展时,攻击路径变得更加直接。恶意扩展可以利用以下方式外泄工作簿数据:

第一步:权限获取。扩展在安装时请求 https://www.googleapis.com/auth/spreadsheetshttps://www.googleapis.com/auth/drive 等 scope,获得读取和修改用户表格数据的权限。如果扩展同时请求 https://www.googleapis.com/auth/drive.readonly,则可以访问用户 Google Drive 中的所有文件。

第二步:数据收集。扩展通过 Google Apps Script 或 Sheets API 读取当前工作簿内容,甚至可以遍历用户的 Drive 文件列表,筛选包含敏感关键词(如 "密码"、"财务"、"机密")的文档。

第三步:隐蔽外泄。扩展可以将收集到的数据通过 HTTP 请求发送到攻击者控制的服务器。由于请求是从 Google 服务器发出,传统的企业防火墙和 DLP 系统往往难以检测。

更隐蔽的攻击方式是利用 prompt injection。攻击者向受害者发送包含隐藏指令的 Google Docs 文件,当受害者使用 AI 扩展处理该文件时,恶意指令会诱导 AI 将工作簿数据外泄。这种攻击甚至不需要扩展本身存在漏洞,而是利用了 AI 模型对输入处理的固有弱点。

企业级防护:Google Workspace 管控策略

针对上述风险,企业可以通过 Google Workspace Admin Console 实施多层防护策略:

1. 应用白名单与最小权限原则

在 Admin Console 的 "应用访问控制" 设置中,管理员可以选择 "仅允许访问白名单中的应用",阻止用户安装未经审核的扩展。对于必须使用的 AI 扩展,应审查其请求的 OAuth scopes,确保遵循最小权限原则 —— 只授予完成任务所必需的最小权限集。

Google 于 2025 年推出的 Granular OAuth Consent 功能允许用户按应用和 scope 进行细粒度授权,而非一次性授予所有请求权限。企业应优先选择支持此功能的扩展,并在组织层面启用该特性。

2. OAuth 活动监控与异常检测

Google Workspace Admin 安全中心提供 OAuth scope grants by product 报告,管理员可以查看哪些应用获得了哪些权限,并按风险等级排序。建议设置以下监控规则:

  • 检测请求 drivespreadsheets scope 的新应用安装
  • 监控来自高风险国家 / 地区的 OAuth 授权请求
  • 识别短时间内大量用户安装同一扩展的异常行为
  • 跟踪已安装扩展的权限变更(scope 升级)

3. 令牌生命周期管理

OAuth 令牌一旦颁发,在过期前持续有效。企业应建立定期审查机制,撤销不再使用或高风险的令牌。Admin Console 支持批量撤销操作,可在发现安全事件时快速切断访问通道。

4. 用户安全意识培训

技术措施之外,用户教育是最后一道防线。应培训员工识别可疑的扩展安装请求,理解 OAuth 授权页面的含义,并建立 "先审批、后安装" 的内部流程。

可落地的实施清单

即时行动项(24 小时内):

  1. 登录 Google Workspace Admin Console,导航至 "安全"→"访问和数据控制"→"应用访问控制"
  2. 将设置从 "允许所有应用" 改为 "仅允许白名单中的应用" 或 "阻止高风险应用"
  3. 导出当前所有已授权的 OAuth 应用列表,标记请求 drivespreadsheetsgmail 等敏感 scope 的应用

短期加固项(1 周内):

  1. 审查标记的高风险应用,移除业务非必需的扩展
  2. 为保留的 AI 扩展创建允许列表,配置仅特定用户组可安装
  3. 启用 Granular OAuth Consent(如已可用),减少过度授权
  4. 在安全中心设置 OAuth 授权的每日邮件报告

长期监控项(持续执行):

  1. 每月审查 OAuth scope grants by product 报告,识别权限漂移
  2. 建立新扩展审批流程,安全团队预审请求的 scopes 和开发者信誉
  3. 集成 SIEM 与 Google Workspace 审计日志,实现 OAuth 异常的实时告警
  4. 每季度进行模拟钓鱼测试,验证员工对恶意扩展安装请求的识别能力

总结

ChatGPT for Sheets 等 AI 扩展带来的 OAuth 数据外泄风险并非理论威胁,而是已被证实存在的攻击向量。企业不能依赖用户自行判断扩展的安全性,而必须通过技术手段实施集中管控。通过应用白名单、最小权限授权、OAuth 活动监控和令牌生命周期管理的组合策略,可以在享受 AI productivity 提升的同时,将数据外泄风险控制在可接受范围内。


资料来源:

  • Salt Security 研究报告:《Security Flaws within ChatGPT Extensions Allowed Access to Accounts on Third-Party Websites and Sensitive Data》
  • Google Workspace 官方文档:《OAuth scope grants by product》与《Granular OAuth consent in HTTP Google Workspace add-ons》

security

内容声明:本文无广告投放、无付费植入。

如有事实性问题,欢迎发送勘误至 i@hotdrydog.com