Vercel 安全事件:OAuth 泄露如何导致环境变量被入侵
云开发平台 Vercel 确认,其内部系统遭受未经授权访问,此事件源于一名员工的 Google Workspace 账户被恶意 OAuth 应用入侵。该事件由第三方人工智能平台 Context.ai 的数据泄露所致,攻击者由此访问了未标记为机密的的环境变量。
尽管 Vercel 的核心服务持续正常运行未受中断,客户数据保持加密且未被触及,但此次泄露暴露了密钥管理以及对第三方集成的依赖存在的关键弱点。公司迅速通知执法部门,引入外部事件响应专家,并推出仪表板更新以加强对机密变量的控制。
泄露是如何发生的
攻击源于一名 Vercel 员工的 Google Workspace 账户。攻击者在 Context.ai 平台上获取账户凭据后获得访问权限,该平台利用人工智能自动化工作流程。通过该账户,向 ID 为 110671459871-30f1spbu0hptbs60cb4vsmv79i7bbvqj.apps.googleusercontent.com 的应用授权了 OAuth 令牌。
该由第三方工具构建的应用拥有过多的权限,包括访问内部 Google Workspace 资源。一旦获取令牌,攻击者便横向渗透至 Vercel 的基础设施,并访问了未明确标记为机密的的环境变量。在这些情况下,Vercel 不会对它们静态加密,而是依赖管理员设置的分类。
泄露内容
根据黑客论坛上的帖子,自称“ShinyHunters”的攻击者声称正在出售以下数据:
- API 密钥(包括 NPM 和 GitHub 令牌)
- 内部 Vercel Enterprise 部署访问权限
- 内部工具源代码
- 包含 580 名员工记录的数据库(姓名、企业邮箱、账户状态、活动时间戳)
- 内部仪表板截图
然而,Vercel 仅正式确认了对环境变量的部分访问,并否认客户数据或公共项目(如 Next.js 和 Turbopack)遭受任何泄露。所有标记为机密的客户变量保持加密且无法访问。
Vercel 对开发者的建议
公司强烈敦促所有用户,尤其是企业账户所有者,采取以下措施:
- 检查 Google Workspace 中授权的 OAuth 应用列表,并吊销任何可疑或未使用的应用访问权限。
- 审计环境变量:确保所有敏感数据(API 密钥、令牌、密码)在 Vercel 仪表板中标记为 Confidential。
- 启用机密变量审核功能,该功能现已在更新后的仪表板中可用。
- 轮换所有可能暴露的密钥和令牌,即使它们存储在非机密变量中。
- 为所有具有基础设施访问权限的账户设置多因素认证 (MFA) 和条件访问策略。
对 DevOps 和 SRE 团队的启示
Vercel 事件凸显了第三方集成下信任链的脆弱性。即使在成熟的多层基础设施中,单个被入侵的 OAuth 令牌也能实现横向移动。
技术团队的关键经验教训:
- 最小权限原则 必须适用于 OAuth 应用,而非仅限于用户。权限应严格限制在绝对必要的最低水平。
- 自动密钥分类 优于手动分类。默认允许未加密变量会制造虚假的安全感。
- 监控身份提供商(例如 Google Workspace)中的异常活动 应为核心安全运营中心 (SOC) 策略。不寻常的地理位置、新设备或批量 API 请求都是立即吊销令牌的警示信号。
要点
- 泄露始于第三方人工智能平台 Context.ai 的账户入侵。
- 数据访问成为可能,是因为敏感变量缺少 Confidential 标记。
- 加密的客户数据未被入侵。
- Vercel 发布了仪表板更新以改进密钥管理。
- 此次攻击凸显了 OAuth 集成以及对第三方服务的信任风险。
— Editorial Team
暂无评论。