紅隊發現 → 修復建議
如何將攻擊端發現對應到防禦建議、AI 漏洞的嚴重性評分、可執行的修復指引,以及「報告到修復」的完整流程。
找出漏洞只完成工作的一半。另一半是將這些發現轉化為防禦方能理解、排序並落實的修復。本頁涵蓋從原始發現到驗證完成的整個流程。
「發現到修復」的流程
發掘 → 分類 → 嚴重性評分 → 修復對應 → 報告 → 修復 → 驗證
每個階段都需要結構化的思考:
階段 1:分類
以一致的分類法對發現分類。OWASP Top 10 for LLM Applications 提供標準框架:
| OWASP LLM 類別 | 發現範例 | 典型修復層級 |
|---|---|---|
| LLM01:提示注入 | 透過分隔符逸出覆蓋系統提示 | 輸入過濾 + 指令階層 |
| LLM02:不安全輸出處理 | 模型產生 HTML 造成 XSS | 輸出消毒 + CSP |
| LLM03:訓練資料投毒 | 微調資料中的後門 | 資料驗證管線 |
| LLM04:模型拒絕服務 | 以大型輸入耗盡上下文視窗 | 速率限制 + 輸入大小上限 |
| LLM05:供應鏈漏洞 | HuggingFace Hub 上的惡意模型 | 模型來源驗證 |
| LLM06:敏感資訊洩漏 | 系統提示擷取 | 提示設計 + 輸出過濾 |
| LLM07:不安全外掛設計 | 經由工具呼叫參數的 SQL 注入 | 工具層輸入驗證 |
| LLM08:過度授權 | 模型執行非預期的工具呼叫 | 最小權限 + 審批關卡 |
| LLM09:過度信任 | 使用者信任錯誤的模型輸出 | 信心指標 + 免責聲明 |
| LLM10:模型竊取 | 透過 API 擷取模型權重 | 速率限制 + 浮水印 |
階段 2:嚴重性評分
AI 漏洞無法整齊地對應傳統 CVSS 評分。請改用調整後的框架:
| 因素 | 權重 | 低 (1) | 中 (2) | 高 (3) | 嚴重 (4) |
|---|---|---|---|---|---|
| 可利用性 | 30% | 需模型存取權 | 需內部知識 | 自動化、低技術 | 自動化、零技術 |
| 影響 | 30% | 輕微違反政策 | 資料洩漏(非敏感) | 敏感資料暴露 | 安全危害、法律責任 |
| 可重現性 | 20% | 成功率 <10% | 成功率 10–50% | 成功率 50–90% | 成功率 >90% |
| 範圍 | 20% | 單一使用者受影響 | 多位使用者受影響 | 某一功能的全部使用者 | 整個應用皆受影響 |
綜合分數 = 加權總和,對應至嚴重性:
- 1.0–1.5:低
- 1.6–2.5:中
- 2.6–3.5:高
- 3.6–4.0:嚴重
修復對應
對每一類發現,對應至具體的防禦控管:
提示注入類發現
| 發現 | 建議修復 |
|---|---|
| 直接指令覆蓋 | 1. 在輸入端部署 prompt shield(Azure/Lakera) 2. 於模型組態中實作指令階層 3. 對系統提示內容加入輸出過濾器 |
| 分隔符逸出 | 1. 每次 session 使用獨特、隨機化的分隔符 2. 加入分隔符完整性驗證 3. 對使用者輸入中分隔符字元進行消毒 |
| 系統提示擷取 | 1. 將敏感內容降到最低放入系統提示 2. 對系統提示片段加入輸出過濾器 3. 部署金絲雀 token 以偵測擷取 |
資料暴露類發現
| 發現 | 建議修復 |
|---|---|
| 模型輸出中含 PII | 1. 於輸出部署 PII 偵測(regex + NER) 2. 送出前遮蔽 3. 稽核訓練資料是否含 PII |
| 訓練資料擷取 | 1. 實作輸出多樣性要求 2. 加入記憶化偵測 3. 對相同主題的重複查詢實施速率限制 |
| RAG 上下文洩漏 | 1. 納入前先過濾檢索文件 2. 在檢索層加入存取控制 3. 驗證回應維持於授權上下文內 |
代理/工具類發現
| 發現 | 建議修復 |
|---|---|
| 未授權工具執行 | 1. 實作工具呼叫審批關卡 2. 對工具存取套用最小權限 3. 記錄並監控所有工具呼叫 |
| 工具參數注入 | 1. 依綱要驗證工具參數 2. 工具輸入使用參數化(不以字串串接) 3. 沙箱化工具執行環境 |
| 經由工具的提權 | 1. 強制工具層級的權限邊界 2. 驗證工具鏈順序 3. 實作 session 範圍的工具權限 |
撰寫有效的修復指引
要具體,勿泛泛
差:「改善輸入過濾。」好:「在 /api/chat 端點部署 Azure Prompt Shield,靈敏度設為中。此項可封鎖 Finding #3 示範的分隔符逸出手法。」
附上落實工作量估計
每條建議標註估計工作量:Quick Win(小時)、Moderate(天)、Significant(週)。有助防禦方排序。
提供驗證條件
對每項修復指明如何驗證生效:「部署 prompt shield 後,重跑 F3-1 至 F3-7 的測試案例,全部皆應回傳封鎖回應。」
分層提出建議
提供短期緩解(本週部署過濾器)與長期修復(下一季重新設計提示架構)。
修復優先順序矩陣
當防禦方面臨 20 項以上發現時,需要排序框架:
| 容易修復 | 困難修復 | |
|---|---|---|
| 高嚴重性 | 立即修復(Quick Wins) | 排進下一次衝刺 |
| 低嚴重性 | 有空再修 | 接受風險或延後 |
追蹤發現直到結案
「報告到修復」流程不止於交付。追蹤的最佳實務:
- 發現登錄冊 —— 維護發現資料庫,含狀態(open、in-progress、fixed、verified、accepted-risk)
- 重測週期 —— 於回報修復後 2–4 週排程重測,確認修復有效且未引入退化
- 退化監控 —— 將成功的 exploit payload 加入持續測試套件,以自動偵測退化
- 指標 —— 追蹤各嚴重性層級的平均修復時間(MTTR),可顯示組織防禦姿態是否正在改善
延伸閱讀
- LLM 應用的縱深防禦 -- 全面修復的分層防禦策略
- 以防禦者視角思考 -- 理解防禦者優先順序以改善報告接收度
- 報告撰寫 -- 整體紅隊報告的結構設計
相關主題
- LLM 應用的縱深防禦 - 全面修復的分層防禦策略
- 以防禦者視角思考 - 理解防禦者優先順序以改善報告接收度
- 防護機制與安全層架構 - 撰寫具體修復建議所需的架構知識
- AI 威脅模型 - 為嚴重性評估提供威脅建模脈絡
參考資料
- "OWASP Top 10 for LLM Applications" - OWASP(2025)- 分類 AI 特有發現的標準漏洞分類法
- "CVSS v4.0 Specification" - FIRST(2023)- 針對 AI 漏洞嚴重性評估調整後的 CVSS
- "NIST AI Risk Management Framework (AI RMF 1.0)" - NIST(2023)- 為 AI 安全發現與修復排序的風險框架
- "Penetration Testing Report Writing Guide" - SANS Institute(2023)- 安全發現與修復指引的結構最佳實務
你找到了一個成功率 80%、能讓模型洩漏其 RAG 上下文中 PII 的提示注入繞過。依嚴重性框架,哪些因素會將此推向嚴重等級?