- Vercel xác nhận bị truy cập trái phép vào hệ thống nội bộ ngày 19/4/2026 qua OAuth app của Context.ai.
- Hacker đòi 2 triệu USD, rao bán source code và token.
- Tất cả khách hàng cần xoay env variables và redeploy ngay.
TL;DR
Ngày 19/4/2026, Vercel công bố sự cố bảo mật: kẻ tấn công truy cập trái phép vào một số hệ thống nội bộ thông qua OAuth app của Context.ai — một tool AI bên thứ ba mà nhân viên Vercel đang dùng. Attacker chiếm được tài khoản Google Workspace của nhân viên đó, rồi chạm được vào environment variables không được đánh dấu là "sensitive". Threat actor (dùng nick "ShinyHunters", nhưng nhóm ShinyHunters thật đã phủ nhận) đang đòi ransom 2 triệu USD và rao bán access keys, source code, database, GitHub + npm tokens trên BreachForums. Vercel đã liên hệ Mandiant, law enforcement và Context.ai. Dù bạn có bị Vercel gọi hay không, cần xoay mọi secret đã lưu trong Vercel ngay và redeploy.
Sự việc xảy ra thế nào
Vercel đăng security bulletin đầu tiên lúc 11:04 AM PST ngày 19/4, update chi tiết nguồn gốc tấn công lúc 6:01 PM PST cùng ngày. Chain tấn công đi qua 3 bước:
- Compromise Context.ai — một tool AI bên thứ ba. Google Workspace OAuth app của Context.ai bị xâm phạm trong một đợt compromise rộng hơn, có thể ảnh hưởng hàng trăm users ở nhiều tổ chức.
- Takeover tài khoản Google Workspace của một nhân viên Vercel đang xài Context.ai.
- Chạm vào nội bộ Vercel — truy cập được một số environments và env variables không đánh dấu sensitive.
Vercel đánh giá attacker là "highly sophisticated", có hiểu biết sâu về hệ thống nội bộ của Vercel dựa trên tốc độ và cách thao tác.
Vì sao chuyện này nghiêm trọng
Vercel không chỉ là một hosting platform. Vercel là đơn vị duy trì Next.js, Turborepo, và nhiều mảnh infrastructure nền tảng của ecosystem JavaScript hiện đại. Nếu attacker thực sự có GitHub hoặc npm tokens có quyền publish như họ tuyên bố, thì đây không còn là vụ lộ env vars của một nhóm khách hàng — mà là rủi ro supply-chain cho một phần lớn ecosystem JS. Code độc sẽ đi qua CI pipelines, lockfiles, package mirrors, và production builds trên hàng triệu app.
Đó là lý do nhiều người trong cộng đồng security đang gọi đây là "potential biggest supply-chain compromise ever" — dù Vercel chưa xác nhận release path bị chạm.
Thông tin kỹ thuật đã xác nhận
| Hạng mục | Chi tiết |
|---|---|
| Ngày công bố | 19/4/2026 (11:04 AM & 6:01 PM PST) |
| Attack vector | Context.ai Google Workspace OAuth app compromise |
| Hệ thống bị chạm | Một số internal environments, env vars không sensitive |
| Dữ liệu KHÔNG bị đọc | Env vars đánh dấu "sensitive" (encrypted at rest) |
| Số khách hàng bị trực tiếp | "Limited subset" — đã được Vercel liên hệ riêng |
| Context.ai tác động rộng | Có thể hàng trăm users ở nhiều org |
| Ransom | 2 triệu USD (qua Telegram) |
| Incident response | Mandiant + law enforcement + Context.ai |
Đã xác nhận vs. tuyên bố chưa xác nhận
Có một khoảng cách lớn giữa những gì Vercel chính thức xác nhận và những gì threat actor tuyên bố:
| Vercel xác nhận | Threat actor tuyên bố (chưa verify) |
|---|---|
| Truy cập nội bộ có giới hạn | Access keys, source code, database data |
| Env vars non-sensitive bị lộ | Employee accounts, internal deployment controls |
| Dịch vụ vẫn hoạt động bình thường | GitHub tokens, npm tokens |
| Sensitive env vars vẫn an toàn | Khả năng supply-chain attack lên Next.js/Turborepo |
Nhóm ShinyHunters "chính hiệu" đã phủ nhận liên quan — có thể là copycat. Developer Theo Browne cho biết trên X rằng Linear và GitHub integrations của Vercel có vẻ bị chạm sâu nhất.
Rủi ro thực tế cho customer Vercel
Ngay cả khi chỉ env vars non-sensitive bị lộ, danh sách rủi ro cụ thể đã đủ xấu:
- Billing abuse trên các API key bị leak (OpenAI, Anthropic, AWS, Stripe...)
- Data access trái phép qua database credentials
- Unauthorized deployments hoặc thay đổi config
- Lateral movement sang GitHub org, Linear, và các third-party khác đã tích hợp
- Legacy deployment vẫn dùng secret cũ — đây là điểm hay bị bỏ sót: rotate không redeploy = secret cũ vẫn sống trong các deployment cũ
Cần làm gì ngay & ưu tiên
Dưới đây là checklist theo khuyến nghị chính thức của Vercel, đã sắp theo thứ tự ưu tiên — áp dụng kể cả khi Vercel chưa gọi bạn:
- Review activity log — Dashboard hoặc CLI, check account + từng environment cho hoạt động bất thường.
- Rotate env variables chứa secret — mọi API key, token, DB credential, signing key KHÔNG được đánh dấu sensitive phải coi như đã lộ.
- Redeploy tất cả project sau khi rotate — nếu không, deployment cũ vẫn đang chạy với secret cũ.
- Bật sensitive environment variables cho mọi secret từ giờ trở đi.
- Inspect recent deployments — xóa bất kỳ build nào trông khả nghi.
- Deployment Protection set tối thiểu Standard; rotate deployment protection tokens.
- Google Workspace admin: check log OAuth app Context.ai, revoke nếu có.
- Rotate GitHub tokens và thu hẹp scope của Vercel GitHub app nếu đang có quyền rộng hơn cần thiết.
Tiếp theo là gì
Vercel đang tiếp tục forensic cùng Mandiant. Câu hỏi lớn nhất chưa được trả lời: attacker có chạm được vào release path (npm publish, core repo write) hay không? Nếu có, đây sẽ không còn là sự cố của Vercel — mà là của toàn bộ ecosystem JavaScript. Nếu không, thiệt hại vẫn nặng nhưng được khoanh vùng.
Trong 24–72 giờ tới, theo dõi bulletin chính thức của Vercel là việc quan trọng nhất. Đừng đợi. Rotate ngay.
Nguồn: Vercel Security Bulletin, CyberInsider, Trilogy AI, BleepingComputer.

