网易首页 > 网易号 > 正文 申请入驻

开发 Next.js 的 Vercel 被黑,数据被叫卖

0
分享至

REPORT

4 月 19 日,Vercel 发了一份 1 分钟读完的安全公告。地址:vercel.com/kb/bulletin/vercel-april-2026-security-incident

措辞克制,没有时间线,没有点名攻击者

但同一天凌晨 2:02,BreachForums 上有人开始叫卖 Vercel 数据。这是一个数据黑市论坛,自称 ShinyHunters 的卖家声称手里有 Vercel 的访问密钥、源代码和数据库,标价 200 万美元


Vercel 官方安全公告,4 月 20 日已经更新过

影响速览

凭证Vercel 已经直接联系了受波及客户。按 Vercel 说法,没收到联系的客户,凭证和个人数据没有理由被认为已泄露

环境变量打 sensitive 标签的加密保护,目前没有证据被读取。非 sensitive 的需要立刻轮换

Next.js / Turbopack经供应链审计后确认安全,开源项目没有 npm 投毒

Workspace 接了 Context.ai立刻审计 OAuth grant 并撤销重新授权


从一个员工在用的第三方 AI 工具开始的攻击链

事件发生时,Vercel 正在 IPO 前夕。它是 Next.js 的母公司,全球前端部署市场约 22% 的份额,Next.js 仅 npm 周下载就 600 万次

Vercel 被攻破的入口,是一个员工日常用的第三方 AI 工具

一份惜字如金的公告

公告原文不到 200 个英文单词

We've identified a security incident that involved unauthorized access to certain internal Vercel systems.

我们发现了一起涉及未授权访问 Vercel 内部某些系统的安全事件

At this time, we have identified a limited subset of customers that were impacted and are engaging with them directly.

目前,我们已经识别出一小部分受影响的客户,正在直接与他们沟通

整篇 bulletin 一分钟读完。没有点名攻击者,没有披露范围,没有时间线。后面挂了一行 IoC:

INDICATOR OF COMPROMISE

110671459871-30f1spbu0hptbs60cb4vsmv79i7bbvqj.apps.googleusercontent.com

这是 Google Workspace 上某个 OAuth client 的 ID。Vercel 建议所有 Workspace 管理员,立刻自查这个 app 有没有出现在自家组织里

公告最后给了一个上下文:

the incident originated from a small, third-party AI tool whose Google Workspace OAuth app was the subject of a broader compromise, potentially affecting its hundreds of users across many organizations.

事件源头是一个小型第三方 AI 工具,它的 Google Workspace OAuth app 在更大范围内被攻破,可能影响了它在多个组织里的数百用户

按 Vercel 的说法,这个第三方 AI 工具的 OAuth app 在更大范围被攻破。Vercel 只是这数百用户里的一个

攻击者怎么进的内网

CEO Guillermo Rauch 在 4 月 20 日凌晨 4:08 UTC,在 X 上做了详细复盘。这是把链路真正讲清楚的第一手材料

事件源头是一个叫 Context.ai 的企业 AI 平台,被攻破了。Context.ai 给企业搭专用 Agent,Agent 训练在公司自己的知识、流程和规范上

Vercel 的一名员工正在用 Context.ai。他授权给 Context.ai 的 OAuth scope,达到了 deployment 级别的 Google Workspace 权限。Context.ai 自己被攻破后,攻击者顺着这个 OAuth 拉链,拿下了员工的公司 Google Workspace 账号

接下来是横向移动。攻击者通过这个员工账号进 Vercel 内部环境,然后开始枚举环境变量

Vercel 提供两种环境变量:sensitive 和非 sensitive。打了 sensitive 标签的,是加密静态存储的,攻击者读不到。但非 sensitive 那些没加密,可以被读到

攻击者通过枚举非 sensitive 环境变量,进一步拿到了更多权限

Rauch 的原话:

Vercel stores all customer environment variables fully encrypted at rest. We have numerous defense-in-depth mechanisms to protect core systems and customer data. We do have a capability, however, to designate environment variables as 'non-sensitive'. Unfortunately, the attacker got further access through their enumeration.

Vercel 所有客户环境变量在静态存储时都是完全加密的,我们有多重纵深防御机制保护核心系统和客户数据。但我们确实提供一个把环境变量标记为非敏感的能力。不幸的是,攻击者通过枚举这些变量,拿到了进一步的访问权限

Vercel 自己设计的安全机制(sensitive 加密)拦下了关键凭证。但同一个产品的另一个能力(非 sensitive 不加密),反过来给攻击者送了梯子

200 万美元的卖单

公告发出之前几个小时,BreachForums 上已经有人挂卖了


卖单 4 月 19 日凌晨 2:02 上线,标题是 Vercel Database Access Key & Source Code

发帖账号叫 ShinyHunters,论坛认证管理员,1905 信誉分,2023 年 5 月加入,发了 42 个主题。配了一张证明截图,是 Vercel 内部 user 表的 schema:

id, name, displayName, email, active, admin, guest, timezone, createdAt, updatedAt, lastSeen

这看起来像 IDP 的导出,不是客户数据库

明面要价 200 万美元

卖家还在私信里说,用 BTC 付款的话,50 万美元 就能成交

帖子里有这么一句话:

You send one update with a payload, and it will hit every developer on the planet who runs an installation or updates a package.

你发一个带 payload 的更新,全世界每个安装或升级这个包的开发者都会中招

这是 XZ Utils 2024 那个剧本的精确描述

X 用户 @DiffeKey 把卖家和「VercelCloud」账号的 DM 截图放出来了


VercelCloud 让对方别再骚扰员工,ShinyHunters 回 200 万美元,BTC 付款 50 万也接受

按网络安全媒体 BleepingComputer 的核实,最近几起声称是 ShinyHunters 干的攻击,原 ShinyHunters 团伙否认参与。这个名字现在被多方借用,归因要打折扣

Dev.to 上有人提到,卖家放出来的样本里有 580 条 Vercel 员工记录,含名字、邮箱、账号状态、活动时间戳

已确认的 vs 还在 claim 的

把 Rauch 的复盘和卖家的 claim 排在一起,差距很明显:


左边是 Vercel 公告 + Rauch 复盘里坐实的事,右边是 BreachForums 卖单上的 claim

Rauch 明确说,Next.js、Turbopack 和 Vercel 维护的所有开源项目,经过供应链审计后是安全的

Vercel 周下载 600 万次的 Next.js 没事。这一句直接驳了卖家「全球供应链攻击」的卖点

社区里另一位开发者 Theo Browne 在 X 上指出,从他能观察到的范围看,受冲击最重的是 Vercel 的 Linear 和 GitHub 集成。打了 sensitive 标签的环境变量,看起来明显比普通环境变量保护得好

攻击者「被 AI 显著加速」

Rauch 在 X 上对这个攻击团队的形容:

一个高度复杂、且我强烈怀疑被 AI 显著加速的攻击团队,以惊人的速度推进,对 Vercel 内部有深度理解

这是来自 CEO 视角的、第一手的判断。攻击者的技术底色和 AI 助力之间,至少是高度相关的

独立研究员 Jaime Blasco(@jaimeblascob)在 Rauch 表态前几个小时就把 Context.ai 锁出来了。方法是把 Vercel 公告里挂出的 OAuth client ID,跟一个已被下架的 Chrome 扩展所使用的 OAuth grant,反查到同一个 Google account ID

Vercel 同时披露,正在和 Mandiant(Google 旗下的顶级事件响应公司)联合调查,以及其他网络安全公司、行业同行、执法部门。Context.ai 也被直接联系,配合排查整个攻破事件的范围

IPO 前夕

事件发生的时间点很微妙

几天前刚有报道,Vercel 正准备 IPO,背景是过去一年 240% 的收入增长,主要来自企业级 AI 部署工作流的需求。IPO 前的 quiet period,企业跟投资者和公众的沟通方式受法律严格限制

按行业第三方估算,Vercel 在现代前端部署市场占有约 22% 的份额

公告发出之后,Hacker News 上的讨论 2 小时积累了 203 个赞、78 条评论。社区主要在抱怨沟通方式,事件本身倒没引发集体抱怨

有人评论:

I've been part of a response team on a security incident and I really feel for them. However, this initial communication is terrible.

我在事件响应队里待过,能体会他们的处境。但这次的初版沟通真的很差

另一条更刺:

Why am I reading about this here and not via an email? I've been a paying customer for over a year now.

为什么我得在这看到这件事,而不是收到邮件?我付费用户都一年多了

现在该做什么

如果你是 Vercel 客户:

自查 Workspace看里面有没有那个 OAuth client ID 的 app

轮换环境变量把所有非 sensitive 的环境变量轮换一遍

打 sensitive 标以后所有敏感凭证都打 sensitive 标签

锁版本把 next、turbo、@vercel/* 锁到已知安全的版本

查 CI检查 npm install 有没有异常

npm token给 npm org token 打开 2FA 和 publish-provenance

如果你接了第三方 AI 工具到 Workspace:

审计 token审计过去 30 天 OAuth-app-issued 的 token

撤销重授权撤销并重新授权所有 AI 工具的 Workspace OAuth grant

收窄 scope重新审视当时给出的 OAuth scope,是不是真的需要那么宽

Vercel 在公告里挂出的 IoC:

INDICATOR OF COMPROMISE

110671459871-30f1spbu0hptbs60cb4vsmv79i7bbvqj.apps.googleusercontent.com

一个观察

Context.ai 的安全系统并没有被绕过,而是在被合理授权后、自己被攻破的

OAuth scope 给得越宽,被攻破的代价就越高。员工授权一个 AI 工具时点的那个「授权全部 Workspace 权限」按钮,等于把企业内部的横向移动通道,免费送给了任何一个能攻破这个 AI 工具的攻击者

下次有 AI Agent 让你点 OAuth 授权之前,可以先问一句:这个 scope,真的需要这么宽吗

参考材料

→ Vercel 官方公告:vercel.com/kb/bulletin/vercel-april-2026-security-incident

→ CEO Guillermo Rauch 在 X 的复盘:x.com/rauchg/status/2045995362499076169

→ Jaime Blasco 的独立溯源:x.com/jaimeblascob/status/2045960143209152981

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
脸没恢复就别出来拍剧了,顶着肿胀脸、笨重假发套,太让人出戏了

脸没恢复就别出来拍剧了,顶着肿胀脸、笨重假发套,太让人出戏了

白面书誏
2026-04-14 18:34:11
天文学家彭罗斯:人类的死亡只是宇宙的幻象,生命是不可能终结的

天文学家彭罗斯:人类的死亡只是宇宙的幻象,生命是不可能终结的

心中的麦田
2026-03-06 19:27:32
国乒最后一根救命稻草也断了,王皓这次真要被逼到绝路上了

国乒最后一根救命稻草也断了,王皓这次真要被逼到绝路上了

林子说事
2026-04-22 13:14:55
定了!中国队进“死亡之组”!

定了!中国队进“死亡之组”!

五星体育
2026-04-22 01:19:29
日本导弹威胁上海,中方40天空域警告范围超台两倍

日本导弹威胁上海,中方40天空域警告范围超台两倍

明天见灌装冰块
2026-04-22 20:29:32
2105km续航,9.79万!比亚迪官宣:新车上市

2105km续航,9.79万!比亚迪官宣:新车上市

新浪财经
2026-04-21 14:30:59
“硬是撑了下来…”40岁男子心脏停跳2天后奇迹生还

“硬是撑了下来…”40岁男子心脏停跳2天后奇迹生还

黄河新闻网吕梁
2026-04-22 09:08:42
“易中天”市值超贵州茅台

“易中天”市值超贵州茅台

第一财经资讯
2026-04-22 14:48:38
4轮0进球向下俯冲!连续两年没请正经教练,浙江队的困境因管理层

4轮0进球向下俯冲!连续两年没请正经教练,浙江队的困境因管理层

中国足球的那些事儿
2026-04-22 20:20:05
国家一级女演员陈丽云被逮捕!

国家一级女演员陈丽云被逮捕!

许三岁
2026-03-28 09:24:30
季后赛破5000分!杜兰特复出23+6仍输 下半场仅3分全场9失误

季后赛破5000分!杜兰特复出23+6仍输 下半场仅3分全场9失误

醉卧浮生
2026-04-22 13:17:43
火狐把VPN塞进浏览器,免费午餐能吃吗?

火狐把VPN塞进浏览器,免费午餐能吃吗?

报错免疫体
2026-04-22 00:36:29
徐濠縈上海跑步被偶遇新髮型超減齡,網民驚訝:這是52歲的狀態?

徐濠縈上海跑步被偶遇新髮型超減齡,網民驚訝:這是52歲的狀態?

粤睇先生
2026-04-22 21:27:29
2032奥运主办地确定,结果吃惊全球,奥运格局将重塑

2032奥运主办地确定,结果吃惊全球,奥运格局将重塑

天马幸福的人生
2026-04-22 06:41:59
第84分钟绝杀!中超大黑马诞生:疯狂5连胜,排名第3,冲击冠军

第84分钟绝杀!中超大黑马诞生:疯狂5连胜,排名第3,冲击冠军

足球狗说
2026-04-22 21:30:44
特朗普宣布延长对伊朗停火

特朗普宣布延长对伊朗停火

财联社
2026-04-22 04:18:10
风向彻底变了!国乒定调:王励勤秦志戬公开表态,“莎头”被认可

风向彻底变了!国乒定调:王励勤秦志戬公开表态,“莎头”被认可

阿纂看事
2026-04-21 16:38:56
严打来了,5月起8种行为直接入刑,退休老人需格外注意!

严打来了,5月起8种行为直接入刑,退休老人需格外注意!

小谈食刻美食
2026-04-21 07:52:09
余承东:我们成本扛不住了,希望大家早点购买

余承东:我们成本扛不住了,希望大家早点购买

映射生活的身影
2026-04-20 21:53:17
14年前拿U型锁砸人的蔡洋:2022年出狱,找不到工作靠打零工为生

14年前拿U型锁砸人的蔡洋:2022年出狱,找不到工作靠打零工为生

天天热点见闻
2026-04-21 05:15:28
2026-04-22 22:59:00
赛博禅心
赛博禅心
拜AI古佛,修赛博禅心
399文章数 50关注度
往期回顾 全部

科技要闻

对话梅涛:没有视频底座,具身智能走不远

头条要闻

女生3万5买的比熊犬俩月后瘫痪 给犬做治疗花了20多万

头条要闻

女生3万5买的比熊犬俩月后瘫痪 给犬做治疗花了20多万

体育要闻

网易传媒再度签约法国队和阿根廷队

娱乐要闻

蜜雪冰城泰国代言人 被扒出辱华黑历史

财经要闻

医院专家号"秒空"!警方牵出黑色产业链

汽车要闻

纯电续航301km+激光雷达 宋Pro DM-i飞驰版9.99万起

态度原创

家居
时尚
本地
健康
军事航空

家居要闻

极简绘梦 克制和谐

用了8年还心动,这笔钱是花得真值啊

本地新闻

春色满城关不住|白鹃梅浪漫盛放,吴山藏了一片四月雪

干细胞抗衰4大误区,90%的人都中招

军事要闻

特朗普宣布延长停火 伊朗表态

无障碍浏览 进入关怀版