Polymarket mất 2,7 triệu USD vì một đoạn script đo tốc độ trang bị tráo: website doanh nghiệp cần kiểm soát mã bên thứ ba

Ngày 29/10/2026, sàn dự đoán Polymarket bị kẻ gian chèn mã độc vào website, khiến vị thế của một số nhà giao dịch đang đăng nhập bị bán hoặc chuyển thẳng sang ví của hacker. Polymarket cho biết sẽ hoàn khoảng 2,7 triệu USD cho 726 ví bị ảnh hưởng. Điều đáng nói là website của Polymarket không bị tấn công trực tiếp: thứ bị tráo là một đoạn script đo tốc độ tải trang do một công ty bên ngoài cung cấp.

Chuyện gì đã xảy ra?

Polymarket dùng công cụ giám sát người dùng thực (RUM) của DebugBear để đo trang web tải nhanh hay chậm với khách truy cập. Script này được tải từ máy chủ của DebugBear. Theo DebugBear, bản ghi DNS của họ bị chiếm quyền thông qua nhà đăng ký tên miền, nên kẻ tấn công có thể trỏ địa chỉ tải script về máy chủ của mình và phát tán một phiên bản độc hại.

Đoạn mã giả không đo tốc độ trang như bản gốc. Nó tìm phần đặt lệnh trên trang và thành phần ký giao dịch của tài khoản, rồi tạo các yêu cầu chuyển vị thế hoặc bán tháo với giá ngày càng thấp trước khi rút tiền ra. Dữ liệu blockchain cho thấy toàn bộ dòng tiền tới ví hacker diễn ra trong chưa đầy một giờ. DebugBear cho biết kết quả điều tra ban đầu cho thấy cuộc tấn công chỉ nhắm vào một khách hàng.

Bài học cho website doanh nghiệp Việt Nam

Hầu hết website bán hàng, giới thiệu công ty hiện nay đều nhúng nhiều đoạn mã từ bên thứ ba: Google Analytics, Facebook Pixel, chat trực tuyến, bản đồ, công cụ đo tốc độ, quảng cáo… Mỗi đoạn mã chạy trong trình duyệt của khách với quyền ngang với mã của chính website. Nếu nhà cung cấp bị xâm nhập – kể cả chỉ ở tầng tên miền như trường hợp này – kẻ tấn công có thể đọc dữ liệu biểu mẫu, đổi số tài khoản thanh toán, chèn trang đăng nhập giả hoặc chuyển hướng khách sang trang lừa đảo.

Doanh nghiệp nên làm gì?

1. Kiểm kê và cắt giảm script bên ngoài

Liệt kê toàn bộ script đang tải từ tên miền khác. Gỡ những công cụ không còn dùng, nhất là trên trang giỏ hàng, thanh toán, đăng nhập và các trang có biểu mẫu nhập thông tin khách.

2. Khóa phiên bản và kiểm tra tính toàn vẹn

Với thư viện tĩnh, nên tự lưu trên máy chủ của mình hoặc dùng thuộc tính integrity (Subresource Integrity) để trình duyệt từ chối file bị sửa. Thiết lập Content Security Policy (CSP) chỉ cho phép tải script từ các nguồn đã duyệt.

3. Bảo vệ tên miền như bảo vệ tài khoản ngân hàng

Sự cố bắt nguồn từ nhà đăng ký tên miền. Doanh nghiệp nên bật xác thực hai lớp cho tài khoản quản lý tên miền và DNS (nhà đăng ký, Cloudflare…), bật khóa chuyển nhượng (registrar lock), cân nhắc DNSSEC, và đặt cảnh báo khi bản ghi DNS thay đổi.

4. Giám sát và phản ứng nhanh

Theo dõi thay đổi nội dung các file JavaScript quan trọng, lưu nhật ký truy cập, chuẩn bị sẵn quy trình gỡ script và thông báo cho khách khi có sự cố. Kết hợp tường lửa và thiết bị mạng có khả năng lọc truy cập để giảm rủi ro ở phía hạ tầng – tham khảo nhóm Thiết bị mạng & NAS tại DTIC.

Kết luận

Vụ Polymarket cho thấy an ninh của một website không chỉ phụ thuộc vào mã nguồn của chính nó mà còn vào mọi dịch vụ bên ngoài được nhúng vào trang. Chỉ một đoạn script “vô hại” bị tráo cũng đủ gây thiệt hại hàng triệu USD. Doanh nghiệp nên rà soát lại website ngay hôm nay. DTIC hỗ trợ tư vấn bảo mật website và hạ tầng mạng qua Hotline/Zalo 0913.745.698.

Nguồn tham khảo