資安 · API 安全

Binance API Key 安全設定
禁 Withdraw、IP 白名單、2FA

2026-06-03·9 分鐘閱讀·必讀

要用 bot / SaaS / 自動化工具的第一件事就是建 API Key。 但 90% 的人會犯同一個錯:權限給太多。本文講三個關鍵設定, 降低你 API Key 被駭時的最大損失。

看完你會知道:① 為什麼一定要禁 Withdraw、② IP 白名單怎麼設、 ③ 哪些 SaaS 可以信、④ 萬一外洩怎麼處理。

1. 為什麼 API Key 比帳號密碼更危險

API Key 跟密碼最大差別:

  • 密碼:登入時要過 2FA、要過 KYC 風控、提幣會發 email 確認,多重防線
  • API Key:被駭者拿到就能直接調用 API, 繞過 2FA、繞過 email 驗證

所以 API Key 等於把鑰匙交給機器人。鑰匙能開多少門, 就是你決定要給多少權限。

2. 三大關鍵設定

① 禁用 Withdraw 權限 ⭐ 最重要

Binance 建 API Key 時,預設會問你要不要勾以下權限:

  • Enable Reading(看帳戶、看部位)→ 一定要
  • Enable Spot & Margin Trading → 自動交易要勾,純看盤可不勾
  • Enable Futures → 想下期貨單要勾
  • Enable Withdrawals絕對不要勾!
  • Permits Universal Transfer → 帳戶間轉錢,建議不勾
為什麼禁 Withdraw 那麼重要
就算 API Key 100% 外洩,駭客只能拿你的 key 下單 — 賣 BTC 換 USDT、 開假倉位刷量等。但不能把錢搬走。 這給你時間發現異常並停用 key,損失可控。 開了 Withdraw 等於把保險箱鑰匙也給駭客。

② IP 白名單

Binance API Key 設定頁可以填「Restrict access to trusted IPs only」。 填了之後只有來自這些 IP 的請求會被接受。

場景:

  • 自己架機器人在 VPS → 填 VPS 的固定 IP
  • 用 SaaS 平台 → 填平台公告的 IP(TVSBot 會在儀表板顯示)
  • 自己電腦測試 → 你的家用 IP(會變動,不建議)
IP 白名單沒填會怎樣
Binance 仍可以用,但沒這層保護。 全球任何 IP 拿到 key 都能打 API。 建議至少對「生產用 key」設白名單,測試 key 可放寬。

③ 主帳號帳戶開 2FA

這跟 API 沒直接關係,但相關。建議:

  • 主帳號 2FA 用 YubiKey 或 Google Authenticator,不要用 SMS(會被 SIM swap)
  • API Key 建立時要過 2FA 驗證
  • 提幣地址要白名單(限制只能提到你預設地址)
  • 啟用「異常登入郵件通知

3. 建 API Key 完整步驟

以 Binance 為例(OKX、Bybit 等流程類似):

  1. 登入 Binance → 右上頭像 → API Management
  2. Create API → 選 System generated(HMAC,最常用)
  3. Label 填名稱(例如 tvsbot-prod) 方便日後辨識
  4. 完成 2FA 驗證
  5. 拿到 API KeySecret KeySecret 只會顯示一次,立刻複製存到密碼管理工具 (如 1Password / Bitwarden)
  6. 點該 Key 旁邊 Edit restrictions
    • ✅ Enable Reading(一定要)
    • ✅ Enable Spot & Margin Trading(自動下現貨/槓桿)
    • ✅ Enable Futures(自動下期貨)
    • ❌ Enable Withdrawals(一定不要)
    • ❌ Permits Universal Transfer(不需要就不勾)
  7. Restrict access to trusted IPs only → 填 SaaS 平台 IP (或 VPS IP)
  8. Save changes

4. 怎麼挑可信 SaaS 平台

重點看兩個架構選擇:

維度託管型(差)非託管型(好)
API Key 儲存平台明文 / 弱加密強加密(如 Fernet AES-128)
資金流資金存平台錢包資金永遠在你交易所帳戶
單點失敗平台被駭 → 全部用戶遭殃平台被駭 → 只洩漏加密的 key(仍需 master key 解密)
代表案例3Commas(被駭 $22M)TVSBot、TradingView 內建 trading panel
2022 3Commas 事件給的教訓
託管型 SaaS 把100 萬把 API key 集中存, 被駭後 10 萬把外洩,44 名受害者實證損失 $14.8M。 詳細分析見 為什麼 3Commas 被偷 $22M

5. 紅綠燈:可信平台的檢查清單

用以下問題快速評估一個 SaaS 安不安全:

  • 🟢 文件有寫加密方式(Fernet / KMS / HSM)?
  • 🟢 有 IP 白名單可填?
  • 🟢 有 Withdraw 權限警告(提醒用戶不要開)?
  • 🟢 有 Bug bounty 計畫?
  • 🟢 有公開安全頁面 / 第三方審計報告?
  • 🔴 要你給 Withdraw 權限?— 直接走人
  • 🔴 帳戶資金在「平台錢包」而非交易所?— 託管型,高風險
  • 🔴 沒提加密只說「我們很安全」?— 不要信

6. API Key 萬一外洩怎麼辦

發現 API Key 可能外洩(電腦中毒、SaaS 平台被駭、自己 push 到 Github),立刻:

  1. Binance API Management → 找到該 Key → Delete
  2. 檢查近期訂單 / 提幣紀錄是否有異常
  3. 如果有 Withdraw 權限且發現可疑提幣 → 立刻聯絡 Binance 客服 + 報警
  4. 建立新 Key(這次確保禁 Withdraw + IP 白名單)
  5. 用密碼管理工具存新 key,不要再貼進文件 / Slack / Email

7. 進階:多 Key 分倉

一個進階做法:把資金分散到多個帳戶 / 子帳戶,每個用獨立 API Key。 這樣單一 key 出問題只影響該帳戶資金。

  • 主帳號:存大部分資金,不建 API Key
  • 子帳號 A:跑策略 1,獨立 key + 獨立 IP 白名單
  • 子帳號 B:跑策略 2,另一把 key
  • 子帳號之間用 Universal Transfer(手動)轉資金

這對小資金來說 overkill,但對 6 位數美元以上資金強烈建議。

Get started

想把今天學到的東西自動化跑起來?

TVSBot 是非託管架構 — 你的 API key 用 Fernet AES-128 加密儲存,平台從不直接持有資金。完整安全頁見 /security。

免費註冊 TVSBot

8. TVSBot 的安全機制(透明披露)

我們做的具體事:

  • Fernet AES-128 加密:API key 在 DB 內全程加密, master key 只存環境變數,跟 DB 物理分離
  • Withdraw 偵測:定期掃描你 key 的權限, 一旦發現 Withdraw 被開立刻禁用該 key + email 通知
  • Order-only 推薦:所有教學文件強調禁 Withdraw
  • Bug bounty:報告嚴重安全漏洞最高 $5,000 獎金

細節見 /security 頁。