將發現對應至 OWASP LLM Top 10
將 AI 紅隊發現對應至 OWASP LLM 應用程式 Top 10 的實作詳解,涵蓋分類指引、報告範本與緩解對應。
OWASP LLM 應用程式 Top 10 已是 AI 安全漏洞分類的事實標準。將紅隊發現對應至 OWASP 類別可加入業界認可的脈絡,幫助客戶理解漏洞在整體樣貌中的位置,也能滿足期待標準化分類的稽核人員。然而對應關係並非總是一對一:許多 AI 發現跨越多個類別,部分發現也可能無法乾淨地歸入任何類別。本詳解提供系統化的指引,協助產出準確且有價值的 OWASP 對應。
本詳解所參照為 OWASP LLM 應用程式 Top 10 的 2025 年版本(v2.0)。類別編號與描述在日後版本可能會有差異。
步驟一:熟悉 OWASP LLM Top 10 各類別
快速參照表
| 編號 | 類別 | 核心風險 | 常見發現類型 |
|---|---|---|---|
| LLM01 | 提示詞注入(Prompt Injection) | 不受信任的輸入操控模型行為 | 直接注入、間接注入、越獄 |
| LLM02 | 敏感資訊外洩(Sensitive Information Disclosure) | 模型洩漏機密資料 | 系統提示詞萃取、PII 外洩、訓練資料外洩 |
| LLM03 | 供應鏈漏洞(Supply Chain Vulnerabilities) | AI 流水線中元件遭破壞 | 受污染模型、惡意外掛、受污染訓練資料 |
| LLM04 | 資料與模型投毒(Data and Model Poisoning) | 遭竄改的訓練或微調資料 | 後門注入、偏見注入、知識庫投毒 |
| LLM05 | 輸出處理不當(Improper Output Handling) | 不安全地使用模型輸出 | 透過輸出達成 XSS、透過工具呼叫達成 SQL 注入、SSRF |
| LLM06 | 過度代理(Excessive Agency) | 模型執行未授權動作 | 無限制的函式呼叫、權限過大、自主行動 |
| LLM07 | 系統提示詞外洩(System Prompt Leakage) | 系統指令被揭露給使用者 | 直接萃取、推論式萃取、錯誤訊息洩漏 |
| LLM08 | 向量與嵌入弱點(Vector and Embedding Weaknesses) | RAG/嵌入系統的漏洞 | 資料外洩、存取控制繞過、嵌入反演 |
| LLM09 | 散布假訊息(Misinformation) | 模型產生不實或誤導內容 | 幻覺利用、權威假冒、偽造引用 |
| LLM10 | 無節制消耗(Unbounded Consumption) | 資源耗盡攻擊 | 符元耗盡、算力濫用、阻斷服務 |
步驟二:將發現對應至類別
對應決策流程
對每項發現依以下決策流程判斷:
- 是否透過輸入操控模型行為?若是,對應至 LLM01 提示詞注入,並判斷屬於直接注入(使用者輸入)或間接注入(外部資料)。
- 模型是否洩漏機密資訊?若是,對應至 LLM02 敏感資訊外洩;若特別是系統提示詞被洩漏,也應檢查 LLM07。
- 是否涉及受破壞的第三方元件?若是,對應至 LLM03 供應鏈漏洞。
- 是否涉及遭竄改的訓練或微調資料?若是,對應至 LLM04 資料與模型投毒。
- 應用程式是否不安全地處理模型輸出?若是,對應至 LLM05 輸出處理不當,例如輸出被渲染為 HTML、用於 SQL、傳入 shell。
- 模型是否採取超出預期範圍的動作?若是,對應至 LLM06 過度代理,例如未授權的函式呼叫、權限過大。
- 是否揭露了系統提示詞內容?若是,對應至 LLM07 系統提示詞外洩。
- 是否涉及 RAG 或嵌入漏洞?若是,對應至 LLM08 向量與嵌入弱點。
- 模型是否產生不實或誤導資訊?若是,對應至 LLM09 散布假訊息。
- 是否涉及資源耗盡?若是,對應至 LLM10 無節制消耗。
常見的多類別發現
許多發現合理地橫跨多個類別。請記錄主要與次要類別:
| 發現描述 | 主要類別 | 次要類別 | 判斷理由 |
|---|---|---|---|
| 提示詞注入萃取系統提示詞 | LLM01 | LLM07 | 注入為手法、系統提示詞外洩為衝擊 |
| 注入導致未授權函式呼叫 | LLM01 | LLM06 | 注入造就過度代理 |
| RAG 取出跨租戶文件 | LLM08 | LLM02 | 嵌入弱點造成資訊外洩 |
| 輸出渲染為 HTML 導致 XSS | LLM05 | LLM01 | 輸出處理缺陷,可能由注入促成 |
| 越獄產生有害的不實資訊 | LLM01 | LLM09 | 繞過促成不實資訊產出 |
| 以特製提示詞造成符元耗盡 | LLM01 | LLM10 | 注入手法造成無節制消耗 |
步驟三:建立 OWASP 對應表
發現對 OWASP 的對應範本
建議在報告中列出對應摘要表格,欄位包含 OWASP 類別、對應到的發現 ID、以及最高嚴重性。例如:LLM01 對應 F-001、F-002、F-003,最高嚴重性為 Critical;LLM02 對應 F-004、F-007,最高嚴重性為 High;LLM03 無發現;LLM04 不在範圍內;LLM05 對應 F-008(Medium);LLM06 對應 F-005(High);LLM07 對應 F-004(High);LLM08 對應 F-007(High);LLM09 對應 F-010(Low);LLM10 對應 F-009(Medium)。
在「涵蓋評估」段落可補充:已測試並有發現的類別數、已測試但無發現的類別數,以及不在範圍內的類別數(並說明理由,例如無訓練流水線存取權)。
每項發現的詳細對應
建議為每項發現記錄:主要類別、次要類別、以及 子類別(如直接提示詞注入屬於使用者輸入)。
「OWASP 描述對齊」段落應說明該發現如何對齊該類別,例如:攻擊向量是覆寫系統指令的使用者提示詞;漏洞在於輸入驗證與模型指令遵循不足;衝擊為繞過內容安全政策、可能產出有害內容。
「OWASP 緩解指引(改寫)」段落可依 OWASP LLM01 的建議逐條檢視,例如:對 LLM 存取後端系統實施權限控制(適用)、為高風險動作加入人機迴圈(對工具使用適用)、將外部內容與使用者提示詞分隔(適用)、在 LLM 與外部來源間建立信任邊界(適用)。
「針對本次演練的具體建議」段落補上以 OWASP 指引為基礎、但針對此次情境的建議。
步驟四:處理邊界情況
無法乾淨對應的發現
部分 AI 安全發現無法整齊地歸入 OWASP 類別。請將這類發現標示為「補充發現」。
例如 F-011「模型指紋識別」:AI 系統在被直接詢問時會揭露其底層模型身份、版本與組態。最接近的 OWASP 類別為 LLM02(資訊外洩),但無法完全契合:LLM02 著重於敏感資料外洩(PII、機密資料),而模型身份外洩屬於偵察類發現,能促成更精準的後續攻擊,但本身並非資料外洩事件。分類為「補充發現 - 偵察促成」,嚴重性 Low。
類別消歧
若對應有歧義,可採以下規則:
| 情境 | 規則 | 範例 |
|---|---|---|
| 攻擊手法 vs. 衝擊 | 以 衝擊 類別為主 | 注入(手法)導致資料外洩(衝擊)→ LLM02 為主 |
| 類別重疊 | 選擇 最具體 的類別 | 系統提示詞外洩 → LLM07(具體)優於 LLM02(廣泛) |
| 漏洞連鎖 | 對每一環對應自己的類別 | 注入 → 代理 → 輸出 = LLM01 + LLM06 + LLM05 |
| 類別無法測試 | 標註為「不在範圍」 | 無訓練存取時的訓練資料投毒 |
步驟五:運用 OWASP 強化緩解指引
OWASP 為每個類別提供緩解指引。將你的建議對應至 OWASP 指引可獲得更高的權威性。
緩解交叉參照
以 F-001(直接提示詞注入,對應 LLM01)為例,可建立表格列出 OWASP 建議控制、現況狀態、以及本次建議。例如:「將模型行為限定在明確邊界內」目前部分實作(系統提示詞),建議實作多層強制;「驗證並清理所有輸入」目前有基本過濾器但可繞過,建議加強並支援多語言;「採用縱深防禦」目前僅單層防禦,建議加上輸出過濾作為第二層;「輸入/輸出長度限制」已實作,適當、無須變動;「輸出內容過濾」尚未實作,建議實作輸出內容審核。
以 F-005(未授權函式呼叫,對應 LLM06)為例,OWASP 控制「限制 LLM 可用的函式」目前全部函式皆可呼叫,建議實作以角色為基礎的函式存取;「避免開放式函式呼叫」目前函式接受任意參數,建議加上嚴格的參數結構描述;「對高衝擊動作需人工核准」目前無人機迴圈,建議為破壞性動作加入核准流程;「對函式呼叫實施速率限制」目前無函式層級的速率限制,建議加上每函式速率限制;「記錄所有函式呼叫」目前僅基本日誌,建議強化為完整記錄參數與結果。
步驟六:產出報告的 OWASP 摘要段落
報告應包含 OWASP 對應段落,提供一目了然的分類。
報告段落範本
這段內容應說明本次評估依照 OWASP LLM 應用程式 Top 10(v2.0, 2025)檢視目標系統。接著以表格摘錄每個類別的「是否測試」、「發現數」與「最高嚴重性」。例如:LLM01 已測試,3 項發現、Critical;LLM02 已測試,2 項發現、High;LLM03 部分測試,0 項發現;LLM04 未測試(標示星號),0 項發現;LLM05 已測試,1 項發現、Medium;LLM06 已測試,1 項發現、High;LLM07 已測試,1 項發現、High;LLM08 已測試,1 項發現、High;LLM09 已測試,1 項發現、Low;LLM10 已測試,1 項發現、Medium。
註解中說明 LLM04 未測試的原因(評估範圍未包含訓練或微調流水線)。
「關鍵觀察」段落應指出:系統風險最集中在 LLM01 提示詞注入,共有三項發現、其中一項評為 Critical;LLM06 過度代理 的發現被 LLM01 弱點放大,因為提示詞注入促成未授權函式呼叫;系統對 LLM03 供應鏈 風險展現較強的抵抗力,因其採用具備完善相依性管理的成熟 AI 供應商。
常見的 OWASP 對應錯誤
-
強迫每項發現只歸入單一類別:許多發現合理地跨越兩到三個 OWASP 類別。請採用主要/次要分類,而非強迫單一對應。
-
以攻擊手法而非衝擊對應:一個導致資料外洩的提示詞注入,主要類別應為 LLM02(衝擊)、次要類別為 LLM01(手法)。客戶關注衝擊更甚於技術。
-
忽略範圍外的類別:若未測試供應鏈漏洞,請明白寫出來。空白格子若無說明,看起來會像評估漏掉某個類別,而非有意排除。
-
使用過時的 OWASP 版本:OWASP LLM Top 10 已多次更新。請註明所對應的版本,並確認類別描述與之對齊。
-
把 OWASP 對應當合規檢核:OWASP 是分類框架,不是合規標準。對應 OWASP 類別能加上脈絡,但不能取代針對每次演練量身進行的完整測試與分析。
紅隊發現顯示一次提示詞注入導致 AI 呼叫資料庫函式,並回傳另一租戶帳號的資料。此發現應對應至哪些 OWASP LLM 類別?
相關主題
- 對應至 MITRE ATLAS -- 互補的攻擊對應框架
- 發現嚴重性分類 -- OWASP 對應中引用的嚴重性分級
- NIST AI RMF 評估 -- 另一個 AI 風險的標準框架
- EU AI Act 合規測試 -- 參考 OWASP 的法規合規