TL;DR

Ngày 19/04/2026, Vercel đăng security bulletin xác nhận "unauthorized access to certain internal Vercel systems" và đã thông báo cho "limited subset of customers." Cùng ngày, một tài khoản trên BreachForums tự xưng ShinyHunters — nhóm đứng sau vụ Ticketmaster 560 triệu user năm 2024 — rao bán kho data nội bộ của Vercel với giá $2,000,000. Theo post, data bao gồm NPM tokens, GitHub tokens, API keys, source code, employee accounts, và dữ liệu từ Linear + user management nội bộ. Vercel chưa xác nhận phạm vi cụ thể, nhưng community (Theo Browne, Hacker News, Glitchwire) thống nhất khuyến cáo: rotate mọi secret ngay, đừng chờ.

Vụ việc vừa xảy ra

Vercel — nền tảng hosting chạy phần lớn ứng dụng Next.js hiện đại — đăng một bulletin rất ngắn trên Knowledge Base. Nguyên văn phần impact: "We've identified a security incident that involved unauthorized access to certain internal Vercel systems." Công ty cho biết đã engage incident response experts, notify law enforcement, và đang liên hệ trực tiếp với khách hàng bị ảnh hưởng. Services vẫn operational.

Vài giờ sau, post trên BreachForums xuất hiện. Tài khoản tự xưng ShinyHunters mô tả chi tiết data được rao bán và định giá $2M cho một buyer duy nhất. Tính xác thực của dataset chưa được verify công khai — Vercel không confirm cũng không deny claim cụ thể của post này.

Claim của attacker: data gì bị đánh cắp

Theo post BreachForums (chưa được Vercel xác nhận), dataset rao bán bao gồm:

  • Access keys + API keys nội bộ Vercel
  • NPM tokens — tokens publish package lên npmjs.com
  • GitHub tokens — OAuth/PAT kết nối với repo
  • Source code Vercel nội bộ
  • Employee accounts
  • Dữ liệu từ instance Linear (project management nội bộ)
  • Dữ liệu từ hệ thống user management

Vercel bulletin không confirm bất kỳ item nào ở trên. Tuy nhiên, customer guidance của họ tập trung đặc biệt vào environment variables — review, rotate, và move qua feature Sensitive Environment Variables (mã hoá at-rest). Đây là tín hiệu ngầm rằng khu vực env var ít nhất là một phần của mối lo.

ShinyHunters là ai? Track record đáng sợ

ShinyHunters (alias ShinyCorp, UNC6240) là data-theft và extortion collective tài chính — không dùng ransomware mã hoá mà thiên về trộm-bán-ép. Tradecraft chính 2024–2025: voice phishing (vishing) để lừa nhân viên approve OAuth apps giả, rồi mass-exfiltrate qua SaaS connectors.

NămVictimScale
2020–2160+ công ty (Tokopedia, Wattpad, AT&T)Hàng trăm triệu record
05/2024Ticketmaster560 triệu customers, 1.3 TB, rao $500K
2024SantanderHàng triệu customer/staff
2025Campaign Salesforce vishingGoogle, Adidas, LVMH, Qantas, Cisco...
04/2026Vercel (claim)Data nội bộ, rao $2M

Một thành viên (Sébastien Raoult) đã bị án 3 năm tù Mỹ + $5M restitution hồi 01/2024. Pháp bắt 4 admin cốt cán tháng 06/2025 — nhóm vẫn vận hành sau đó. DOJ mô tả motive: "pure greed."

Vì sao mọi dev nên quan tâm

Vercel là một chokepoint của web hiện đại. Host phần lớn Next.js apps của e-commerce, SaaS, media. Dev lưu DB credentials, Stripe keys, third-party API tokens dưới dạng env vars trên đó. Compromise platform = potentially chạm tới mọi hệ thống downstream mà platform connect.

Hai vector supply-chain nguy hiểm nhất:

  • NPM: nếu attacker có publish token hợp lệ, họ có thể push malicious update lên package phổ biến. Community HN note: compromise ms package — một dependency nền tảng — có thể ảnh hưởng ~7,000 trong 10,000 package top NPM. Một push độc = supply chain attack toàn cầu.
  • GitHub: token + source code cho phép inject backdoor thầm lặng vào repo, tìm zero-day trong codebase proprietary, hoặc hijack CI/CD pipeline.

Theo Browne (t3.gg) — người có quan hệ chặt với Vercel — viết trên X: "Everything I know about this hack suggests it could happen to any host." Anh cũng gợi ý Linear và GitHub có thể bị liên đới, và xác nhận env vars đánh dấu sensitive thì an toàn (mã hoá at-rest), còn non-sensitive nên rotate phòng hờ.

Cần làm gì NGAY

Dù bạn có nhận email từ Vercel hay không, coi đây là prompt để proactive:

  1. Rotate mọi secret đang lưu trên Vercel: DB connection strings, Stripe/payment keys, third-party API tokens, JWT secrets.
  2. Revoke + regenerate NPM publish tokens linked với Vercel trên npmjs.com/settings/<user>/tokens.
  3. Revoke + regenerate GitHub OAuth/PAT kết nối với Vercel tại github.com/settings/applications/settings/tokens.
  4. Move secret nhạy cảm sang Sensitive Environment Variables (mã hoá at-rest, write-only sau khi tạo).
  5. Review activity log account + từng environment suốt 30–90 ngày gần đây, tìm deploy/env-update bất thường.
  6. Audit GitHub repo connect với Vercel: kiểm tra commit gần đây có chỉnh sửa không authorised, đặc biệt file .env.example, CI config, dependencies.
  7. Nếu chạy infra critical → review lại mức độ phụ thuộc PaaS tập trung.

Còn nhiều thứ chưa rõ

Vercel bulletin cố tình ngắn. Các câu hỏi lớn vẫn chưa có đáp án:

  • Chính xác hệ thống nội bộ nào bị truy cập?
  • Attacker vào bằng cách nào? (Vishing? Stolen credentials? Zero-day?)
  • Access persist bao lâu trước khi detect?
  • Customer secrets/source code/project data có bị exfiltrate thực sự không?
  • "Limited subset" là bao nhiêu — chục, trăm, nghìn customer?
  • Dataset $2M của ShinyHunters có thật sự authentic hay chỉ là opportunistic attribution?

Tiếp theo

Vercel cam kết update bulletin khi điều tra tiến triển. Trong 48–72 giờ tới, các chi tiết quan trọng sẽ dần lộ ra: số lượng customer impact, vector xâm nhập, và liệu ShinyHunters có dump free sample để chứng minh dataset là thật (pattern quen thuộc của nhóm này).

Incident này nhiều khả năng sẽ thay đổi cách nhiều team suy nghĩ về single-vendor PaaS dependency. Nó cũng nhắc lại một nguyên tắc cũ: giả định breach, thiết kế defence-in-depth. Một chokepoint, dù convenient đến đâu, vẫn là chokepoint.

Nguồn: Vercel Knowledge Base, Phemex News, Glitchwire, Hacker News, Vali Cyber, CBS News.