當攻擊者取得系統使用的 API Key(或其他長期憑證)後,就能在未授權情況下重放(replay)請求,模擬合法使用者的行為。
常見外洩向量
- 憑證硬編在前端或行動 App;
- 不小心將 key 提交到公開 Git 倉庫或 code snippet;
- CI/CD、第三方外包或測試環境管理不當(明文 secrets);
- 伺服器日誌、錯誤回傳包含 header;
- 開發者機器、瀏覽器擴充或內部人員被入侵。
典型攻擊模式
-
簡單重放:直接複製 header(如
x-api-key
)並呼叫 webhook,觸發 workflow。
-
腳本化濫用:自動化並行請求以大量抓取資料或引發 DoS。
-
橫向滲透:用被盜 key 存取其他內部 API,擴大攻擊面。
-
掩飾痕跡:以合法憑證操作,使事件看似正當行為,延誤回應。
偵測指標(IOC)
- 單一 key 呼叫量突增或異常流量;
- 來自不尋常 IP、AS 或地理位置的請求;
- 非工作時間出現大量操作;
- 功能與角色不符(例如只讀 key 有寫入行為);
- 同一 key 同時在多個 user-agent / IP 使用;
- 速率限制或錯誤率異常上升。
結語
API Key 被竊與重放雖然技術門檻低,但影響深遠。結合最小權限、短期憑證、重放檢查(timestamp+nonce+HMAC)與完善日誌告警,能顯著降低風險並提升事件偵測與回應速度。