OAuth 供应链攻击是怎么回事
4 月 19 日 Vercel 确认被黑,攻击路径很清晰:员工装了 Context AI ��应用 → 该应用获得了 Google OAuth ��限 → Context AI 被攻破 → 黑客通过 OAuth token 进入员工的 Google ���户 → 横向渗透到 Vercel 内部系统 → 拿到客户的环境变量和 API 密钥。
整件事最讽刺的地方在于——一个帮你提高效率的 AI 工具,反而成了攻击入口。
为什么你应该关注
你觉得这跟你没关系?想想你电脑上装了多少 AI 工具:Cursor、各种 Chrome AI 插件、Notion AI、代码补全工具……每一个要求 OAuth 授权的,都可能是下一个 Context AI。
前端/全栈开发者:如果你用 Vercel 部署项目,你的数据库连接字符串、第三方 API key 可能已经暴露。
后端开发者:你在 CI/CD 环境变量里存的 secret,如果平台被打穿,全都是明文。
所有人:你日常用的 AI 工具链里,任何一环出问题都可能牵连你的整个工作环境。
5 个今天就能做的安全动作
1. 审计你的 OAuth 授权列表
打开 Google 安全设置,看看有多少第三方应用有你账户的访问权限。你八成会被吓到——很多你已经不用的应用还挂在上面。
规则很简单:不用的就 revoke,不确定的也 revoke。
2. 环境变量分级管理
Vercel 这次的问题是没标 sensitive 的变量默认明文可读。你自己的项目要做到:
- 敏感凭证用 secret manager(AWS Secrets Manager、HashiCorp Vault)
- 本地开发用
.env.local,永远不要提交到 Git - 生产环境的密钥定期 rotate
3. 最小权限原则
装 AI 工具时,它要什么权限你就给什么?不行。
问自己:一个代码补全工具为什么需要读我的 Google Drive?一个笔记 AI 为什么需要发邮件的权限?只给完成核心功能必需的最小权限集。
4. 工作和个人账户隔离
这次 Vercel 的员工如果用的是独立的工作账户,而且工作账户没给第三方 AI 工具 OAuth 权限,攻击链就断了。
用 Chrome Profile 做账户隔离很简单——工作一个 Profile,个人一个 Profile,AI 实验用第三个 Profile。互不干扰。
5. 部署平台做 backup 方案
Vercel 不是唯一选择。了解 Cloudflare Pages、Netlify、Railway 的部署方式,关键时刻能快速切换。这次事件后 Vercel IPO 前景也受影响,长期来看平台风险需要分散。
常见问题
Vercel 被黑后我需要做什么?
立刻去 Vercel Dashboard 检查你的环境变量,rotate 所有 API key 和数据库密码。如果你收到 Vercel 的通知邮件,说明你是受影响的那批用户,优先处理。
OAuth 授权和 API Key 有什么区别?
OAuth 是授权协议——你允许第三方应用代表你操作你的账户。API Key 是访问凭证——直接证明"我有权限调用这个接口"。OAuth 的风险在于,第三方应用一旦被攻破,攻击者就继承了你授予的所有权限。
怎么判断一个 AI 工具是否安全?
没有 100% 安全的保证,但可以看几个信号:有没有 SOC 2 认证、OAuth scope 要求是否合理(要的越少越好)、公司是否有 bug bounty 项目、出过安全事件后的响应速度。
JR Academy 相关资源
- Web 全栈开发课程 — 涵盖部署安全和环境变���管理
- DevOps 实战 Wiki — CI/CD 安全最佳实践
- 求职面试准备 — 安全意识是 senior 岗位面试的加分项