資安 · 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 等流程類似):
- 登入 Binance → 右上頭像 →
API Management Create API→ 選System generated(HMAC,最常用)Label填名稱(例如tvsbot-prod) 方便日後辨識- 完成 2FA 驗證
- 拿到
API Key跟Secret Key。Secret 只會顯示一次,立刻複製存到密碼管理工具 (如 1Password / Bitwarden) - 點該 Key 旁邊
Edit restrictions:- ✅ Enable Reading(一定要)
- ✅ Enable Spot & Margin Trading(自動下現貨/槓桿)
- ✅ Enable Futures(自動下期貨)
- ❌ Enable Withdrawals(一定不要)
- ❌ Permits Universal Transfer(不需要就不勾)
Restrict access to trusted IPs only→ 填 SaaS 平台 IP (或 VPS IP)- 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),立刻:
- Binance API Management → 找到該 Key →
Delete - 檢查近期訂單 / 提幣紀錄是否有異常
- 如果有 Withdraw 權限且發現可疑提幣 → 立刻聯絡 Binance 客服 + 報警
- 建立新 Key(這次確保禁 Withdraw + IP 白名單)
- 用密碼管理工具存新 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。
免費註冊 TVSBot8. TVSBot 的安全機制(透明披露)
我們做的具體事:
- Fernet AES-128 加密:API key 在 DB 內全程加密, master key 只存環境變數,跟 DB 物理分離
- Withdraw 偵測:定期掃描你 key 的權限, 一旦發現 Withdraw 被開立刻禁用該 key + email 通知
- Order-only 推薦:所有教學文件強調禁 Withdraw
- Bug bounty:報告嚴重安全漏洞最高 $5,000 獎金
細節見 /security 頁。