-
Notifications
You must be signed in to change notification settings - Fork 5
Security and Operations
Mofesto edited this page Aug 7, 2026
·
1 revision
本專案可連接真實券商帳戶,安全邊界必須同時涵蓋 secrets、MCP Host、網路、工具授權、交易回讀與資料保存。
不得提交或公開:
.env- 登入密碼、API Key
- PFX 與憑證密碼
- 完整帳戶資料
- 含敏感 payload 的 log、cache、截圖或測試 fixture
.env.example 只放 placeholders。正式環境使用 secret manager,讓 server process 在啟動時取得必要值。
建議 MCP Host 建立兩種 policy:
| Lane | 允許工具 | 預設 |
|---|---|---|
| Read-only | market、account、reports、analysis、委託查詢 | 可在已授權資料範圍使用 |
| Trading write | 13 個 WRITE tools | 預設拒絕,逐次人工確認 |
單純允許 MCP server 不代表允許所有 tools。Prompt 也不能提升工具權限。
每次正式寫入前:
- 取得明確帳戶、商品、買賣別、數量、價格/價別與有效期間。
- 顯示即將執行的完整交易摘要。
- 檢查市場時段、庫存/餘額、單筆與單日限額。
- 送出一次並保存 correlation ID。
- 以券商委託與成交 API 回讀。
若 timeout 或連線中斷,狀態是 outcome_unknown;不得盲目 resend。
- stdio 是本機桌面 Host 的首選。
- Streamable HTTP 預設只監聽
127.0.0.1。 - 跨機部署需在 server 外層加 TLS、authentication、authorization、rate limit、network ACL 與 audit logging。
- stateless 不等於無須身分驗證,也不等於可公開暴露。
-
FUBON_DATA_DIR應使用受限 ACL。 - SQLite cache 是行情資料,不是完整交易稽核資料庫。
- callback buffer 可能包含帳戶與委託資訊;debug output 不應直接公開。
- 生產 log 應遮罩帳戶與 identifiers,並設定 retention。
- GitHub Issue 只附最小化、去識別化的錯誤訊息。
- 只安裝與平台相符、來源可信的
fubon_neowheel。 - 驗證 Python package build,不把 local artifacts 打入 wheel。
- 定期執行 dependency/security checks,例如 Bandit 與適用的漏洞掃描。
- MCP 與 SDK 升級時,以官方文件、installed runtime interfaces 與 contract tests 共同驗證。
最低限度監控:
- process 啟停與登入結果。
- realtime 初始化與 event callback。
- tool business status 分布與 latency。
- upstream flow-control、timeout 與 error rate。
- 寫入工具呼叫數、未知結果、最終 active/filled 狀態。
- SQLite 路徑、磁碟容量與更新日期。
監控資料本身也可能含金融敏感資訊,需依最小揭露原則保存。
發現憑證或 key 洩漏時:
- 停止相關 server process。
- 立即撤銷/輪換 key 與憑證。
- 檢查目前委託、成交與條件單。
- 清理 workspace、log、cache、CI artifacts 與 Git history 中的敏感內容。
- 確認外部平台已完成撤銷,而不只刪除本機文字。
安全問題請依儲存庫 SECURITY.md 的管道回報,不要建立公開 Issue 揭露秘密。
Fubon API MCP Server v2.2.8 · MCP 2026-07-28 · Repository · Issues · Apache-2.0
社群專案,非富邦證券官方產品。交易前請確認參數、帳戶權限與最終券商狀態。