Skip to content
DeFi

Khai thác Polymarket: Khóa bị rò rỉ, không phải lỗi hợp đồng

By Anurag Verma•May 23, 2026
Khai thác Polymarket: Khóa bị rò rỉ, không phải lỗi hợp đồng

Vào ngày 22 tháng 5 năm 2026, nhà điều tra on-chain ZachXBT đã phát hiện một vụ rút cạn ví của Polymarket. Ước tính ban đầu đặt con số vào khoảng 520 nghìn đô. Khi nhóm xác nhận chi tiết, con số đã tiến dần đến 660 nghìn đến 700 nghìn đô. Không có reentrancy. Không có thao túng oracle. Không có màn biểu diễn flash-loan tinh vi nào. Chỉ là một private key đã rơi vào chỗ không nên.

Vụ khai thác Polymarket không đụng đến phần nào trong stack mà mọi người thuê Trail of Bits và OpenZeppelin để kiểm tra. Nó nhắm vào một ví nạp tiền nội bộ, một tài khoản vận hành dùng để tài trợ phần thưởng và giữ mọi thứ hoạt động. Loại ví không bao giờ xuất hiện trong phạm vi kiểm toán vì nó không phải là hợp đồng. Đó là một key nằm trên cơ sở hạ tầng của ai đó.

Đây là phần đáng lo ngại. Sau một năm mà các tiêu đề là về bridge và cấu hình sai DVN, thị trường dự đoán được tài trợ nhiều nhất thế giới đã bị rút cạn thông qua lỗ hổng cơ bản nhất trong sách giáo khoa.

Điều gì thực sự đã xảy ra trên Polygon

Tài khoản bị rút cạn là ví vận hành, không phải tiền của người dùng được giữ trong các hợp đồng cốt lõi của giao thức. Theo báo cáo của CoinDesk, ZachXBT phát hiện khoảng 520 nghìn đô chuyển ra, và nhóm của Polymarket cho biết tiền của khách hàng an toàn. Kẻ tấn công đã quét POL và các tài sản khác khỏi ví trên Polygon, rồi làm đúng những gì kẻ tấn công thường làm, bridge và phân tán trước khi ai có thể đóng băng bất cứ thứ gì.

Decrypt đặt con số gần 700 nghìn đô và xác định cụ thể đây là ví nạp tiền nội bộ. Sự chênh lệch về con số là bình thường trong 24 giờ đầu tiên; cơ chế không còn tranh cãi. Ai đó đã lấy được key.

Đây chỉ là vụ khai thác Polygon POL theo nghĩa POL là tài sản nằm trong ví đó. Chain không thất bại. Hợp đồng không thất bại. Việc quản lý một key vận hành đã thất bại.

Tại sao UMA CTF Adapter không phải là vấn đề

Việc giải quyết thị trường của Polymarket được thực hiện thông qua oracle lạc quan của UMA qua UMA CTF Adapter, hợp đồng đăng câu hỏi, xử lý tranh chấp và quyết toán kết quả. Đó là mắt xích mà trên lý thuyết mang rủi ro đối nghịch cao nhất. Nó đã được kiểm toán. Nó đã được thử nghiệm thực chiến qua hàng nghìn thị trường.

Và nó không liên quan gì đến vụ này.

Tôi nghĩ đây là chi tiết mà người ta sẽ bỏ qua nhưng không nên. Lớp hợp đồng thông minh đã trụ vững. Oracle đã trụ vững. Thứ sụp đổ là một ví tiền do con người kiểm soát bằng một khóa mà con người (hoặc một CI pipeline, hay một dịch vụ ký nóng) có quyền truy cập. Chúng ta đã dành cả bull market để củng cố những phần có xác minh hình thức và bỏ ngỏ những phần chỉ có một file .env.

Khóa vận hành mới là bề mặt tấn công thực sự

Đây là mô thức lặp lại trong các sự cố năm 2026. Solidity đang ngày càng tốt hơn. Các kiểm toán viên giỏi việc của họ. Các phương pháp hình thức phát hiện được những lỗi reentrancy từng làm thất thoát hàng trăm triệu đô. Vì vậy, kẻ tấn công đã chuyển hướng.

Họ chuyển sang phần mô mềm:

  • Ví nóng dùng cho phần thưởng, nạp gas và tạo lập thị trường.
  • Khóa deployer chưa bao giờ được xoay vòng sau khi ra mắt.
  • Người ký multisig dùng chung một laptop cho cả việc ký và duyệt web.
  • Bí mật CI/CD có thể ký giao dịch trên môi trường production.

Không có gì trong số đó xuất hiện trong báo cáo kiểm toán. Khi tôi đánh giá bảo mật tại một sàn giao dịch được quản lý, phần review hợp đồng chỉ chiếm khoảng một phần ba công việc. Phần còn lại là HSM, phân tách người ký, tài liệu hóa key ceremony, và câu hỏi không hào nhoáng chút nào là "ai có thể chuyển tiền lúc 3 giờ sáng và điều gì sẽ ngăn họ lại." Chính phần đó là nơi hầu hết các đội ngũ đang lộ sơ hở.

Đây là bài học tương tự như sự cố LayerZero của Kelp DAO, 292 triệu đô biến mất không phải từ lỗi hợp đồng mà từ một cấu hình sai ở lớp vận hành. Cơ chế khác nhau, nguyên nhân gốc rễ giống nhau: phần nhàm chán mà không ai kiểm toán.

Một ví ops trị giá 660 nghìn đô nên trông như thế nào

Nếu một chiếc khóa duy nhất có thể di chuyển 660 nghìn đô, đó là quyết định thiết kế, không phải xui rủi. Một vài điều nên là tiêu chuẩn tối thiểu cho bất kỳ ví vận hành nào lưu giữ giá trị đáng kể:

  1. Giới hạn chi tiêu ngay trong logic ví. Ví nạp tiền thưởng không có lý do gì để có thể gửi toàn bộ số dư trong một giao dịch. Hãy giới hạn tốc độ trên chuỗi.
  2. Ký ngưỡng cho bất kỳ khoản nào vượt mức sàn. Các khoản thanh toán tự động nhỏ có thể là ví nóng. Bất cứ khoản nào trên 10 nghìn đô nên yêu cầu thêm một người ký. Safe multisig với ngưỡng thấp cho các chuyển khoản lớn không phải là điều khó.
  3. Cách ly khóa khỏi môi trường ứng dụng. Khóa ký cho ví vận hành không bao giờ được tồn tại ở nơi mà mã ứng dụng, các thư viện phụ thuộc, hay một CI runner bị xâm phạm có thể đọc được.
  4. Giám sát và cảnh báo người trực khi có dòng tiền ra bất thường. ZachXBT phát hiện điều này trước khi nhóm thông báo. Hệ thống cảnh báo của chính bạn nên làm tốt hơn một bên thứ ba đang theo dõi mempool.

Không có gì trong số này là mới. Đây là những thứ bị cắt bỏ khi nhóm đang ra mắt nhanh và chiếc ví "chỉ dùng cho phần thưởng."

Khoảng trống trong ngăn xếp kiểm toán mà không ai quản lý

Vấn đề sâu xa hơn mang tính pháp lý nội bộ. Bảo mật hợp đồng thông minh có chủ sở hữu rõ ràng: công ty kiểm toán. Bảo mật khóa vận hành thì... thuộc về người đã thiết lập ví, thường dưới áp lực thời gian, và thường không bao giờ được xem xét lại. Tôi đã viết về khoảng trống này trong bối cảnh ngăn xếp kiểm toán bị vỡ của DeFi, chứng nhận bao gồm các hợp đồng và dừng lại ở ranh giới hợp đồng. Mọi thứ liên quan đến vận hành đều nằm ngoài phạm vi và ngoài tầm quan tâm.

Cho đến khi một cơ quan quản lý hoặc công ty bảo hiểm buộc bảo mật vận hành phải là một hạng mục riêng với người chịu trách nhiệm, tình trạng này sẽ tiếp tục xảy ra. Bảo mật vận hành DeFi năm 2026 đang ở khoảng vị trí mà bảo mật hợp đồng thông minh từng ở vào năm 2019: được biết là quan trọng, không ai làm chủ, được cấp ngân sách sau cùng.

Polymarket sẽ ổn thôi. $660K là con số vẫn có thể chịu được với một nền tảng ở quy mô của họ, và đáng ghi nhận là họ đã thông báo nhanh chóng và minh bạch. Nhưng nhóm tiếp theo rơi vào tình huống này có thể không còn đủ nguồn lực để cầm cự. Vụ xâm phạm khóa thực sự nguy hiểm, loại có thể rút cạn cả kho bạc chứ không chỉ một ví thưởng, đang đến gần, và đó sẽ không phải là một lỗi Solidity. Đó sẽ là một chiếc khóa nằm trên laptop.

Nguồn