Security

你的資金,永遠在你自己手上

自動化交易 SaaS 的最大致命傷是 API key 集中託管的單點失靈。這頁說明 TVSBot 怎麼設計避開這個風險,以及你可以如何驗證。

🔓
非託管
平台從不持有你的錢。資金始終在你交易所帳戶,我們只能傳訊號 + 下單。
🔐
Fernet 加密
你 API key 用 AES-128-CBC 加密儲存,金鑰存 Fly secrets,連我們資料庫也讀不到明文。
🛑
強制 Order-only
系統自動偵測並停用任何帶有 Withdraw(提幣)權限的 API key,杜絕提幣風險。

為什麼我們要特別寫這頁

2022 年 12 月,加密自動交易最大品牌 3Commas 發生史上最嚴重的 API key 外洩事件。當時他們託管 超過 100 萬把 交易所 API key,外洩約 10 萬把,鏈上分析師 ZachXBT 驗證 44 名受害者損失 $14.8M、總被盜估計約 $22M。CEO 起初否認,後公開承認,請求 Binance / OKX / KuCoin 撤銷 key — 因為 key 屬於別人的平台,3Commas 無法單方修復。

這事件揭露了一個結構性問題:「託管型 bot 平台」的單一資料庫一旦被打穿,所有用戶資金同時暴露。TVSBot 的設計從第一天起就為了避開這個失靈模式。

我們的架構是什麼

1. Fernet AES-128-CBC 加密儲存

你的 API key + secret 一進資料庫就用 Fernet 對稱加密 包起來。Fernet 是 Python cryptography 函式庫提供的 AEAD scheme(含 AES-128-CBC + HMAC-SHA256),業界廣泛使用。

加密金鑰 FERNET_MASTER_KEY 存在 Fly secrets,**不會進 git,不會進 DB backup,不會存任何 log**。

GitHub 開源 PoC(部分):app/services/crypto.py 可審核。

2. 強制 Order-only 權限

我們每天掃所有 active API key,呼叫交易所 API 確認權限。任何帶有 Withdraw(提幣)旗標的 key 自動停用,並 TG 通知你。

這代表即使 key 被偷,攻擊者也無法提幣轉走你的資金 — 只能下單交易,最壞情況是 wash trade 損失少量手續費。

3. IP 白名單建議

各交易所 API 都支援 IP 白名單。我們文件建議用戶設定為 TVSBot 的 Fly egress IP,進一步限縮 blast radius。設了之後就算 key 完全外洩,沒在白名單也呼叫不了。

4. 訊號不經 secret URL

每個用戶的 webhook URL 帶獨立 token,payload 內另帶 secret 雙重驗證。一個外洩無法繞過另一個。

我們承諾的透明度

  • 事件揭露:任何安全事件 72 小時內公開揭露,包含影響範圍、技術原因、修復狀況。
  • 加密實作公開:我們不靠 obscurity 安全。加密演算法、key derivation、儲存方式都列在這頁。
  • 第三方稽核(規劃中):2026 Q3 安排第一次外部安全稽核。
  • Bug bounty(規劃中):見下方獨立區塊。

Bug Bounty 計畫

歡迎 ethical security researchers 回報漏洞。我們提供合理獎勵。

範圍(in scope)

  • tvsbot.com 及子網域
  • 後端 API(api.tvsbot.com)
  • Webhook 端點(防 replay / spoofing)
  • API key 加密儲存與解密路徑
  • 權限提升 / IDOR / SQLi / XSS

範圍外(out of scope)

  • DDoS / 流量類攻擊
  • 純社交工程
  • 第三方服務(Stripe / Supabase / Fly)— 直接回報給該廠商
  • 已知問題 / 既有揭露

獎勵級距(USD,視嚴重度)

Critical(任意用戶資金損失)$500 – $2000
High(API key 外洩 / 權限提升)$200 – $500
Medium(IDOR / 邊界繞過)$50 – $200
Low(資訊洩漏 / 配置錯誤)名譽榜上榜

如何回報

兩種方式都會收到。我們承諾 48 小時內初步回覆。

方式 2:用表單預組信件

填表單會自動組好結構化的信件,打開你的 email app 等你按送出。

⚠️ 請勿利用漏洞影響其他用戶。第一次回報的 researcher 優先獎勵。獎金以 USDT TRC20 或 PayPal 支付。

跟託管型平台的對比

面向TVSBot(非託管)託管型 bot
資金持有你交易所帳戶平台代為持有
DB 被打穿的後果加密 key 攻擊者拿不到明文 + 無提幣權限100 萬把 key 同時暴露(3Commas 2022)
提幣風險0(系統自動停用提幣 key)若有 Withdraw 權限,鏈上一筆轉走
平台跑路風險你重設 API key 就完事資金回不來
加密透明度演算法 / key derivation 公開多數不公開實作

進一步閱讀