跑量化、對接 TradingView 報警、用第三方面板檢視持倉的人,繞不開 幣安官網 的 API key 配置。這是一根連線你賬戶和外部指令碼的電纜,幣安官方APP 上能查到所有 API 的最近呼叫情況,iPhone 使用者參考 iOS 安裝教程 裝好客戶端後隨時可以撤銷可疑 API。
A:保護 API key 的三條鐵律——許可權最小化(只開"讀",提幣永遠關閉)、繫結固定出口 IP、定期 90 天輪換。三件做到一件不漏,賬戶被搬空的機率降到接近零。
API key 是怎麼被搬空的
A:現實中 99% 的搬空案例不是幣安系統漏洞,而是 API key 在使用者側被洩露——存放程式碼倉庫、寫在配置檔案被其他程式竊取、用了存在漏洞的第三方面板。
真實洩露場景
- GitHub 公開倉庫——把
config.json連同 API key 一起 push 上去,沒幾小時就被爬蟲抓走 - Discord/Telegram 群聊截圖——分享指令碼截圖時 API key 沒打碼
- 瀏覽器擴充套件程式——裝了惡意外掛,監聽到你輸入的 Secret
- 第三方量化平臺跑路——你把 API key 給了某個量化平臺,平臺被攻破或者直接捲款跑了
- 本地電腦被入侵——木馬讀取你的
.env檔案 - 鍵盤記錄器——你登入某個面板時輸入 API key 被記錄
- Wi-Fi 中間人攻擊——公共 Wi-Fi 下傳輸 API key 沒走 HTTPS
- 客服釣魚——假客服騙你提供 API 資訊
一旦洩露,如果你開了"提幣許可權",攻擊者會立刻把所有幣種全部提到他的地址;如果你開了"合約交易",他會用你的餘額開 100 倍槓桿反向交易把賬戶爆倉;如果你只開了"現貨交易",他會用市場價快速買入然後高價賣出對敲洗錢。
第一步:建立 API key 時只開必要許可權
A:每一個 API key 都要按"用途"單獨建立,永遠不要建一個"全能 key"。
許可權分類
- 讀取(Read Only)——能查詢餘額、查詢訂單、查詢歷史,不能下單不能轉賬
- 現貨 / 槓桿交易(Enable Spot & Margin Trading)——能下現貨和槓桿訂單
- 合約交易(Enable Futures)——能開合約倉位
- 提幣(Enable Withdrawals)——能把幣轉到外部地址
- 通用轉賬(Enable Universal Transfer)——能在你賬戶內不同錢包間轉移
- 白名單提幣(Permits Universal Transfer to Whitelisted Wallets Only)——只允許提到白名單
各類需求的最小許可權
| 用途 | 應開許可權 | 必須關閉 |
|---|---|---|
| 僅檢視餘額 / 持倉監控面板 | 僅 Read | 其他全關 |
| 報稅軟體計算盈虧 | 僅 Read | 其他全關 |
| 量化策略下單(現貨) | Read + Spot Trading | 提幣、合約、轉賬 |
| 合約量化 | Read + Futures Trading | 提幣、現貨、轉賬 |
| 自動轉賬到冷錢包 | Read + Withdrawal(強烈建議改用人工) | 不建議自動化 |
| TradingView 報警下單 | Read + Spot Trading | 提幣、合約 |
絕對不要給任何 API 開提幣許可權——除非你有非常特殊的業務流程,且配合 IP 白名單 + 提幣白名單地址鎖死。普通使用者的最佳實踐是:API 永遠不開提幣,提幣只用人工操作。
第二步:必須繫結 IP 白名單
A:不綁 IP 的 API key 等於裸奔的鑰匙——任何拿到 key 的人從任何地方都能用。
怎麼獲取自己的 IP
- 部署在雲伺服器上的指令碼:登入伺服器執行
curl ifconfig.me,記下返回的公網 IP - 部署在家裡的 PC/樹莓派:訪問
https://ip.sb或https://whatismyipaddress.com - 用了靜態 IP 服務的:填寫 ISP 給你的固定 IP
- 用了 VPN 的:填寫 VPN 出口 IP
在幣安繫結 IP
- 建立 API 時勾選「Restrict access to trusted IPs only」
- 輸入 IP 地址(最多 30 個)
- 多個 IP 用空格分隔
- 不要填寫
0.0.0.0/0——那等於不限制 - 儲存
如果你的 IP 是動態的怎麼辦
家庭寬頻通常是動態 IP,每次撥號或者每隔幾天會變。三個解決方案:
- 租一臺雲伺服器(阿里雲/騰訊雲/AWS 入門級 $5/月)——上面跑 API 呼叫,雲伺服器 IP 是固定的
- 用雲函式 + 固定出口——AWS Lambda、Cloudflare Workers 配合 NAT 閘道器
- 找 ISP 申請固定 IP——部分運營商提供,每月幾十塊加錢
強烈不推薦"不綁 IP 因為我家 IP 會變"——這等於完全放棄了一道關鍵防線。
第三步:API key 的儲存
A:API key 的 Secret 只在建立那一刻顯示一次,關掉頁面就再也看不到了。儲存位置直接決定洩露機率。
推薦的儲存方式
- 環境變數(推薦)——
.env檔案加入.gitignore,執行時process.env.BINANCE_API_KEY讀取 - 伺服器金鑰管理服務——AWS Secrets Manager、Google Secret Manager、HashiCorp Vault
- 本地加密儲存——用 1Password、Bitwarden 這種密碼管理器存
- 硬體安全模組(HSM)——大額機構才需要
絕對不要這樣存
- 寫在原始碼裡直接 commit 到 Git
- 截圖分享給"教學"的人
- 存在
~/Downloads/binance-api.txt - 透過郵件、微信、Telegram 發給團隊成員
- 寫在 Notion、語雀、有道雲等雲筆記裡
- 複製貼上到 ChatGPT 讓它幫你寫程式碼
Git 提交檢查清單
每次 commit 前:
git diff --staged | grep -i "api\|secret\|key"
發現疑似 key 立刻 unstage。已經誤傳到 GitHub 的 key 即使刪掉提交也算洩露——Git 歷史裡還在,必須立刻去幣安撤銷那個 key。
第四步:定期輪換 API key
A:再安全的 key 也要 90 天輪換一次,這是行業標準做法。
輪換流程
- 建立一個新的 API key(新 key 用新名字
bot_v2_2026Q2) - 配置同樣的許可權和 IP 白名單
- 在你的指令碼/平臺裡替換成新 key
- 測試新 key 工作正常
- 回到幣安撤銷舊 key(點「Delete」)
必須立刻輪換的觸發場景
- 收到幣安「您的 API 在 XX 時間從 XX IP 呼叫」的異常告警
- 你的伺服器換了運營商或遷移
- 團隊成員離職(如果 key 共享過)
- 第三方平臺你不再使用了
- 你升級了量化框架版本,舊 key 用過的程式碼不再可信
第五步:監控 API 呼叫日誌
A:幣安 API 管理頁面有"最近呼叫"記錄,每週看一次能在第一時間發現異常。
關注的指標
- 呼叫頻次突然飆升——可能被攻擊者批次下單
- 呼叫 IP 偏離白名單——除非你換了伺服器,否則不應該出現新 IP
- 失敗次數異常增加——可能有人在試錯許可權
- 大額訂單被拒絕——可能攻擊者嘗試超出餘額的下單
異常處理
- 立刻撤銷可疑 API key
- 檢視賬戶其他設定有無被改
- 給客服開工單
- 檢查所有其他 API key 是不是也有類似異常
不同場景的 API 安全配置對比
| 場景 | 許可權組合 | IP 限制 | 輪換週期 | 風險等級 |
|---|---|---|---|---|
| 個人現貨量化 | Read + Spot | 必須 | 90 天 | 中 |
| 個人合約量化 | Read + Futures | 必須 | 60 天 | 高 |
| 多平臺行情聚合 | 僅 Read | 推薦 | 180 天 | 低 |
| 報稅軟體對接 | 僅 Read | 推薦 | 365 天 | 低 |
| 多賬戶機構操作 | Read + Spot + 子賬戶隔離 | 必須 | 30 天 | 高 |
| 跨鏈橋自動化 | 自動提幣(不推薦) | 必須 + 白名單地址 | 30 天 | 極高 |
常見問題
Q:API key 洩露了能不能聯絡幣安凍結? A:能但慢。最快的處理是你自己進 API 管理直接「Delete」該 key,立刻失效。同時給客服開工單要求賬戶安全稽核。幣安客服處理 API 洩露事件比處理賬戶被盜效率更高,因為 API 行為有完整日誌。
Q:API 限流是怎麼算的? A:幣安 API 限流分兩類——按 weight(每分鐘 6000 weight)和按 order count(每 10 秒 50 單、每天 16 萬單)。普通量化策略不會觸及限流,但如果你跑高頻策略,會接近上限。被限流時返回 429 / 418 錯誤,超過太多會被臨時封 IP。
Q:Testnet 和正式環境的 API key 通用嗎?
A:不通用。幣安提供 Testnet(測試網)用於開發除錯,地址是 testnet.binance.vision,發的是測試幣沒有真實價值。Testnet 的 API key 不能用於正式環境,反之亦然。開發新策略一定先在 Testnet 跑通再上正式。
Q:HMAC 簽名是怎麼回事,不籤會怎樣?
A:幣安 API 的私有介面(賬戶、下單、提幣)必須用 API Secret 對請求引數做 HMAC-SHA256 簽名,簽名錯就拒絕。這是防止篡改和重放的關鍵機制。所有正規 SDK(如官方 python-binance、node-binance-api)都自動處理簽名,自己寫 HTTP 請求也必須實現。不籤的請求幣安直接 401。
Q:API 呼叫走的是什麼協議,HTTP 還是 HTTPS? A:必須是 HTTPS。幣安 REST API 全部強制 HTTPS(TLS 1.2+),WebSocket 是 WSS。任何 HTTP 呼叫都會被拒絕。這能確保你和幣安之間的傳輸不被中間人嗅探到 API key。
Q:移動端 APP 可以建立 API key 嗎? A:可以檢視和刪除,但建立必須在網頁端完成。這是幣安故意的——建立 key 涉及輸入 2FA + 郵箱驗證 + IP 配置等多步操作,移動端容易被肩窺或截圖洩露。建議養成習慣:API key 操作只在私人 PC 上做,移動端只用於緊急撤銷。
Q:第三方平臺(比如某量化網站)要我提供 API key,給嗎? A:要看平臺。如果是 Coinglass、TradingView 等大型可信平臺,且只索取 Read 許可權,可以考慮給。但永遠不給任何平臺開提幣許可權。給之前查清楚平臺口碑、是否有大規模使用者、有沒有過資金事故。給完之後定期檢查 API 呼叫日誌,發現異常立刻撤銷。