IOSOR 知識庫

沙箱流量絕不能打到錢包

測試機裡的 Live 金鑰就是事故。找出洩漏、凍結 hold,並在試點放量前完成輪換。

沙箱流量絕對禁止觸發 prepaid hold。若 Live 金鑰洩漏至測試環境,應立即視為安全事故處理,絕非提早觀察 DLR 的捷徑。IOSOR 規範要求測試車道必須與錢包完全隔離,一旦憑證外流,CI 腳本與重試機制將變成持續扣款的支出引擎,直接消耗 ledger 餘額。請務必在資金耗盡前完成金鑰輪換,確保生產憑證不會誤用於非生產流量。

在測試路徑上偵測 Live 金鑰

按固定節奏掃描 CI secrets、staging 主機與本地 .env 的 Live 前綴。任一命中即開事故單:當日完成 revoke、rotate,並確認該金鑰無未結 hold。

把共享 runner 與遺忘的 cron 容器納入範圍——它們比筆電更久地保存舊金鑰。公佈掃描負責人,避免工單在研發與 fraud ops 之間跳一整天。

凍結由洩漏 Live 流量產生的 hold

若測試作業已在錢包上打開 hold,先暫停並匯出帶時間戳的卡住列。調查金鑰路徑期間,禁止 harness 繼續向 Live 扣款重試。

把每條卡住的 hold 對應到產生它的 job id。財務追問「真實試點還是洩漏金鑰在燒 prepaid」時,這張圖就是證據。

區分濫用尖峰與沙箱誤配

濫用尖峰要硬停且不得偽造成功。測試裡的 Live 金鑰在 ledger 上很像——同樣需要硬停。給事故打標籤,避免 fraud ops 與研發各說各話:濫用 vs 憑證洩漏 vs staging 綁錯環境。

錯誤標籤會燒掉一整天聊天,而 hold 仍在錢包上老化。財務收到第一條狀態更新前,把標籤寫進工單標題。

輪換後再次證明隔離

revoke 與 rotate 之後,只用沙箱金鑰重跑沙箱 OTP 證明。匯出該視窗零 hold。然後才恢復指向沙箱憑證的 staging 自動化與 CI secrets。

若證明仍出現 hold——停:路徑裡還有另一把 Live 金鑰。ledger 再次平坦且掃描乾淨之前,不要重開量。

相關維運路徑

從 IOSOR 開始

掃描每台測試主機上的 Live 金鑰。吊銷洩漏、匯出未結 hold,並把 CI 只綁回沙箱。發送一封沙箱 OTP,證明 ledger 保持平坦後再重啟自動化——並把掃描留在每週維運清單,並指定具名負責人負責追蹤。

IOSOR 要點

當開發者在測試腳本中誤用 Live 金鑰時,這已構成實質的系統性風險,必須立即啟動緊急應變程序。第一步是強制撤銷該組金鑰並執行金鑰輪換,同時在後台管理介面凍結所有處理中的 hold 交易,以確保資金安全。在恢復任何 CI 自動化部署之前,操作員必須在完全隔離的環境中重新執行沙箱 OTP 驗證,並確認 ledger 帳本處於零餘額狀態。嚴禁在暫存主機(staging host)上保留任何正式環境的秘密資訊,即便僅是為了測試 DLR 狀態或 webhook 的連通性。請參考 /learn/sandbox-security 內的最新隔離規範,確保所有 JIT 權限在測試任務完成後自動失效。此外,營運團隊應立即從控制台匯出詳細的交易日誌,並以 UTC 時間戳記為基準,逐筆核對是否有非預期的 USD 扣款紀錄。在確認所有測試流量已導回正確的沙箱車道前,不得重啟任何正式環境的試點交易量。若發現任何異常,請務必依據標準作業程序,在系統紀錄中標註此事故的影響範圍與修復進度。

這篇指南有幫助嗎?

相關指南