AAlphaBot
Blog

Từ chối cứng khóa API được bật rút tiền: bài phân tích sâu về kỹ thuật

2026-05-06 · ~7 phút đọc

Hầu hết các nền tảng giao dịch chấp nhận khóa API với quyền rút tiền được bật. Họ hiển thị một bảng cảnh báo màu vàng, hỏi quý khách gõ "Tôi hiểu", và lưu trữ khóa dù sao. Chúng tôi không làm điều đó. Nếu khóa của quý khách có quyền rút tiền, chúng tôi từ chối nó khi onboarding và không bao giờ lưu trữ nó. Bài viết này giải thích tại sao, cách thế nào, và cách thay thế thực sự có chi phí cho quý khách.

Mô hình mối đe dọa trong một đoạn

Bất kỳ hệ thống nào nắm giữ khóa API được bật rút tiền là một rò rỉ thông tin xác thực cách để làm trống tài khoản người dùng. Rò rỉ không phải là một vi phạm cơ sở dữ liệu — nó có thể là một máy tính xách tay nhân viên bị xâm phạm, một bản sao lưu được định cấu hình sai, một kênh phụ trong phụ thuộc của bên thứ ba, hoặc một xả bộ nhớ quá trình trong một nhật ký được mã hóa. Mỗi một trong số đó đã xảy ra với các công ty lớn hơn chúng tôi. Phòng ngừa bền vững duy nhất là: không có khóa cho quỹ của bất kỳ ai ở vị trí đầu tiên.

Cách phát hiện hoạt động

Khi gọi được xác thực đầu tiên sau khi người dùng dán khóa, chúng tôi tạo một cuộc gọi introspection quyền cụ thể cho sàn giao dịch. Hầu hết các địa điểm chính lộ ra:

  • Một điểm cuối "query API key info" chuyên dụng trả về tập hợp quyền như một trường có cấu trúc, hoặc
  • Một điểm cuối tài khoản-info nơi phạm vi quyền của khóa được bao gồm như một phần của tải trọng phản hồi.

Chúng tôi tìm kiếm bất kỳ cờ nào cấp rút tiền, chuyển giao nội bộ, chuyển giao tài khoản phụ hoặc chuyển giao phổ quát — các địa điểm sử dụng các tên khác nhau cho cùng một ý tưởng. Nếu bất kỳ trong số đó hiện diện, chúng tôi loại bỏ bí mật trong bộ nhớ ngay lập tức, trả lại một lỗi có cấu trúc cho giao diện người dùng, và không bao giờ viết khóa vào cơ sở dữ liệu của chúng tôi.

Tại sao từ chối cứng thay vì cảnh báo

Cảnh báo được nhấp qua. Chúng tôi đã xem dữ liệu về điều này trong nhiều năm trên các sản phẩm khác nhau. Tỷ lệ cơ bản của người dùng gõ "Tôi hiểu" mà không đọc một từ nào ở trên đó là một nơi nào đó ở phía bắc 80%. Cảnh báo mà 80% người dùng bỏ qua không phải là một kiểm soát bảo mật; nó là một lá chắn trách nhiệm pháp lý.

Từ chối cứng là đối lập. Nó đặt ma sát ở nơi đúng: người dùng quay lại sàn giao dịch, tạo khóa mới với chỉ quyền giao dịch, quay lại, và dán khóa đó. Toàn bộ vòng lặp có chi phí cho người dùng có lẽ hai phút. Nó có chi phí cho kẻ tấn công — trong tình huống vi phạm thông tin xác thực tồi tệ nhất — toàn bộ tài khoản.

Cách cảnh báo-thay vì-từ chối đường dẫn thực sự có chi phí cho quý khách

Mô hình cảnh báo-và-lưu trữ trông thân thiện với người dùng cho đến khi quý khách hỏi: trường hợp tồi tệ nhất trông như thế nào? Quý khách nhận được một nhân viên thù địch, một sự thỏa hiệp chuỗi cung ứng, một kênh phụ trong phụ thuộc của bên thứ ba, một nhật ký được đặt sai phạm, và câu trả lời là khóa được bật rút tiền chính xác như tốt như người yếu nhất và mã yếu nhất mà từng chạm vào chúng.

Từ chối cứng lật lại phép tính. Ngay cả trong một sự thỏa hiệp cơ sở dữ liệu đầy đủ tồi tệ nhất, kẻ tấn công bỏ đi với khóa read+trade. Các khóa chỉ giao dịch có thể gây hại — chúng có thể phá vỡ các vị trí, churn phí, bán các vị trí mở vào các cặp không lỏng — nhưng chúng không thể rút tiền. Các quỹ ở lại sàn giao dịch. Đó không phải là rủi ro không, nhưng nó là rủi ro mà quý khách ký kết khi quý khách kết nối một tác nhân giao dịch tự động ở vị trí đầu tiên.

Điều gì chúng tôi vẫn không thể phòng chống

Chúng tôi không giả vờ từ chối cứng là một bộ khung bảo mật hoàn chỉnh. Đó là một kiểm soát. Tập hợp đầy đủ được ghi trong trang bảo mật của chúng tôi: mã hóa phong bì KMS với các khóa dữ liệu riêng lẻ của người dùng, bí mật giải mã nằm chỉ trong bộ nhớ quá trình và chỉ trong thời gian của lệnh gọi API, nhật ký kiểm toán nối thêm chuỗi băm, cách ly xuyên người dùng được kiểm tra CI, và một chương trình tiết lộ lỗ hổng. Từ chối cứng quyền rút tiền chỉ là phần hiển thị nhất của ngăn xếp đó — và phần dễ nhất để xác minh chính mình, vì quý khách có thể xem chúng tôi từ chối khóa được bật rút tiền trong thời gian thực khi onboarding.