Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Frist Draft Translations ro /zh-TW #493

Closed
wants to merge 4 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions 2_0_vulns/translations/zh-TW/LLM00_Preface.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
## 專案負責團隊的信

「OWASP 大型語言模型應用 Top 10」自 2023 年起,即以社群驅動的方式著手突顯並解決 AI 應用中特有的安全議題。隨著這項技術不斷拓展至各行各業與程式應用場景,其伴隨的風險也同步增加。如今,大型語言模型(LLM)已從顧客互動到內部營運的各方面都已有深度的應用,開發者與資安專家也不斷發現新的弱點及相對應的防範策略。

2023 年的名單在提升安全意識並奠定安全使用 LLM 的基礎方面取得了不小的成就,但自那之後,我們又學到了更多。在全新的 2025 年版本中,我們與更多元且更廣泛的全球貢獻者合作,透過腦力激盪、投票,以及吸收來自實務環境中專業人士的回饋和意見,進行了項目的更新與修正。在這之中,每位貢獻者的聲音都相當重要,也使本次更新更為完整、實用。

### 2025 年新版的焦點

2025 年的名單更清晰地呈現了對現有風險更加深層的理解,同時也針對 LLM 在真實世界中在應用層面所面臨的最新挑戰進行關鍵更新。舉例來說,**無上限消耗(Unbounded Consumption)** 一條在前版本原屬於「阻斷服務(Denial of Service)」的議題上,現已擴大範疇並將資源管理及意料之外的成本風險納入,對於大規模佈署 LLM 的環境尤其迫切。

**向量與嵌入(Vector and Embeddings)** 項目則回應社群對於強化檢索增強式生成(RAG)及其他嵌入技術上安全性建議的呼聲,因為這些方法如今已成為確保模型輸出更為實務化的核心技術。

我們也新增了**系統提示洩漏(System Prompt Leakage)**項目,以反應社群在真實世界中看到高度重複發生的實際案例。許多應用原以為提示(Prompt)內容能安全隔離,但近期事件顯示,開發者不應輕易假設提示中的資訊能夠被完整的保護。

**過度授權(Excessive Agency)**亦已擴充,呼應現在愈發普及的代理式(Agentic)架構在 LLM 應用中的使用。當 LLM 作為代理或透過外掛進行作業時,若未妥善限制和確認其授權,便可能帶來意料之外或高風險的行為,因此此項目比以往更為重要。

**展望未來**

如同技術本身的進化,這份名單的產出依舊仰賴開源社群的見解與實務經驗,來自各行各業的開發者、資料科學家與資安專家的貢獻,皆以共同建立更安全的 AI 應用為目標。我們很榮幸能在此與您分享 2025 年版的名單,並期望這份資料能為您提供更有效保障 LLM 安全的工具與知識。

感謝所有為此專案付出心力的人,以及所有持續使用並改進這份名單的成員。我們深感榮幸能與您一起推進這個專案。


###@ Steve Wilson
專案負責人
OWASP 大型語言模型應用 Top 10
LinkedIn: https://www.linkedin.com/in/wilsonsd/

###@ Ads Dawson
技術負責人與弱點項目負責人
OWASP 大型語言模型應用 Top 10
LinkedIn: https://www.linkedin.com/in/adamdawson0/
107 changes: 107 additions & 0 deletions 2_0_vulns/translations/zh-TW/LLM01_PromptInjection.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
## LLM01:2025 Prompt Injection

### 描述

**Prompt Injection Vulnerability**(提示注入漏洞)是指使用者所提供的提示能以意料之外的方式改變 LLM(Large Language Model,大型語言模型)的行為或輸出結果。這些輸入可能影響模型,即使對人類使用者而言該提示並不明顯可見。因此,Prompt Injection 並不需要被人類清晰辨讀,只要該內容可被模型解析便可造成影響。

Prompt Injection Vulnerabilities 存在於模型處理提示的方式,以及輸入資料在模型內部流程中可能有不正確傳遞的管道。這些不正確的傳遞有可能導致模型違反原則、產生有害內容、啟用未經授權的存取,或影響關鍵決策。儘管像是 Retrieval Augmented Generation (RAG) 與微調(fine-tuning)等技術旨在使 LLM 的輸出更加相關且準確,但研究顯示這些方法仍無法完全阻止 Prompt Injection Vulnerability。

在 LLM 安全議題中,Prompt Injection 與 jailbreaking(越獄)概念有密切關聯,兩者常被交替使用。Prompt Injection 指透過特定的輸入來操縱模型回應,以改變其行為,包括繞過安全措施;而 jailbreaking 則是 Prompt Injection 的一種型態,攻擊者提供的輸入使得模型完全無視其安全協議。開發者可在系統提示與輸入處理中建立防護機制以減輕 Prompt Injection 攻擊的影響,但要完全防範 jailbreaking,必須持續更新模型的訓練與安全機制。

### Prompt Injection Vulnerability 的類型

#### Direct Prompt Injections
Direct Prompt Injections(直接提示注入)發生在使用者的提示輸入直接、以非預期的方式改變模型行為。該輸入可能是蓄意(惡意攻擊者精心設計的提示)或非蓄意(使用者無意中提供而觸發意外行為)。

#### Indirect Prompt Injections
Indirect Prompt Injections(間接提示注入)發生於 LLM 從外部來源(如網站或檔案)接收輸入時。這些外部內容中隱含的資訊在模型解讀後,會以非預期方式改變模型行為。與直接注入相同,間接注入可為蓄意或非蓄意。

成功的 Prompt Injection 攻擊對模型所在的業務情境與模型架構設計的細節有高度依賴性,影響範圍與嚴重度差異甚大。一般而言,Prompt Injection 可能導致許多未預期後果,包括但不限於:

- 洩漏敏感資訊
- 洩漏 AI 系統基礎設施或系統提示的敏感資訊
- 操縱內容導致不正確或有偏見的輸出
- 提供未經授權的存取以使用 LLM 可用的功能
- 在連結的系統中執行任意指令
- 操縱關鍵決策流程

隨著能同時處理多種資料型態的多模態 AI(Multimodal AI)興起,Prompt Injection 風險也隨之增加。惡意攻擊者可能利用不同模態間的互動(例如在伴隨良性文字的圖像中隱藏指令)。這些系統的複雜度增加了攻擊面,且多模態模型可能受到難以偵測或以現行技術難以緩解的跨模態攻擊。為多模態特性量身訂製的強健防禦將是未來研究與發展的重要領域。

### 預防與緩解策略

由於生成式 AI 的本質特性,Prompt Injection Vulnerabilities 實際上難以有萬全的預防方法。然而,下列措施可減輕 Prompt Injection 的影響:

#### 1. 限制模型行為
在系統提示中為模型提供明確角色、功能與限制的說明。強制模型嚴格遵守脈絡限制,將回應侷限於特定任務或主題,並指示模型忽略試圖修改核心指令的要求。

#### 2. 定義與驗證預期的輸出格式
明確指定清楚的輸出格式,要求詳細的推理過程與來源引用,並使用確定性的程式碼(deterministic code)驗證其是否符合這些格式。

#### 3. 實施輸入與輸出過濾
定義敏感內容的範疇並建立辨識與處理該類內容的規則。運用語義過濾與字串檢查來掃描不允許的內容。透過 RAG Triad(評估脈絡相關性、依據來源的可信度,以及問答的相關性)評估回應,以辨識潛在惡意的輸出。

#### 4. 強制權限控管與最小特權存取
為應用程式本身提供專屬的 API 代碼(token)以擴充功能,並在程式碼中處理這些功能,而非直接交付給模型。將模型的存取權限限制在執行預期操作所需的最低限度。

#### 5. 對高風險動作要求人工審核
針對特權操作實施人類審查流程(human-in-the-loop),以避免未經授權的動作。

#### 6. 區隔並標示外部內容
對不受信任的內容進行分離與清楚標示,以減少其對使用者提示的影響。

#### 7. 執行對抗性測試與攻擊模擬
定期進行滲透測試與入侵模擬,將模型視為不受信任的使用者,以檢驗信任邊界與存取控制的有效性。

### 攻擊情境範例

#### 情境 #1:Direct Injection
攻擊者對客服聊天機器人埋入特定提示,指示其忽略先前的指令、查詢私有資料庫並寄送電子郵件,最終導致未經授權的存取與權限提升。

#### 情境 #2:Indirect Injection
使用者使用 LLM 摘要某一網頁,而該網頁中隱藏指令,使 LLM 在回應中插入一個連結至特定 URL 的圖像,導致私有對話內容外洩。

#### 情境 #3:Unintentional Injection
一家公司在職缺描述中加入指令,要求辨識 AI 生成的應徵文件。一位求職者不知情地使用 LLM 優化其履歷,意外觸發該 AI 檢測機制。

#### 情境 #4:Intentional Model Influence
攻擊者修改 RAG 應用程式使用之文件庫中的檔案內容。當使用者查詢後回傳的內容已遭篡改,惡意指令因此影響 LLM 的輸出並產生誤導結果。

#### 情境 #5:Code Injection
攻擊者利用 LLM 驅動的電子郵件助理中存在的漏洞(CVE-2024-5184),透過注入惡意 Prompt,使得助理能存取敏感資訊並操控電子郵件內容。

#### 情境 #6:Payload Splitting
攻擊者上傳分割的惡意提示至履歷中。當使用 LLM 評估此應徵者時,分散的提示合併後操縱模型的回應,導致儘管履歷內容不符,仍給予正面推薦。

#### 情境 #7:Multimodal Injection
攻擊者將惡意的 Prompt 隱藏於一張伴隨良性文字的圖像中。當多模態 AI 同時處理該圖像與文字時,隱藏的 Prompt 影響模型行為,可能導致未經授權行為或敏感資訊洩漏。

#### 情境 #8:Adversarial Suffix
攻擊者在提示中附加看似無意義的字元串,但這串字元卻能以惡意方式影響 LLM 的輸出,繞過安全措施。

#### 情境 #9:Multilingual/Obfuscated Attack
攻擊者使用多種語言或以 Base64、表情符號(emoji)等方式編碼惡意指令,以避開過濾機制並操控 LLM 的行為。

### 參考連結

1. [ChatGPT Plugin Vulnerabilities - Chat with Code](https://embracethered.com/blog/posts/2023/chatgpt-plugin-vulns-chat-with-code/) **Embrace the Red**
2. [ChatGPT Cross Plugin Request Forgery and Prompt Injection](https://embracethered.com/blog/posts/2023/chatgpt-cross-plugin-request-forgery-and-prompt-injection./) **Embrace the Red**
3. [Not what you’ve signed up for: Compromising Real-World LLM-Integrated Applications with Indirect Prompt Injection](https://arxiv.org/pdf/2302.12173.pdf) **Arxiv**
4. [Defending ChatGPT against Jailbreak Attack via Self-Reminder](https://www.researchsquare.com/article/rs-2873090/v1) **Research Square**
5. [Prompt Injection attack against LLM-integrated Applications](https://arxiv.org/abs/2306.05499) **Cornell University**
6. [Inject My PDF: Prompt Injection for your Resume](https://kai-greshake.de/posts/inject-my-pdf) **Kai Greshake**
8. [Not what you’ve signed up for: Compromising Real-World LLM-Integrated Applications with Indirect Prompt Injection](https://arxiv.org/pdf/2302.12173.pdf) **Cornell University**
9. [Threat Modeling LLM Applications](https://aivillage.org/large%20language%20models/threat-modeling-llm/) **AI Village**
10. [Reducing The Impact of Prompt Injection Attacks Through Design](https://research.kudelskisecurity.com/2023/05/25/reducing-the-impact-of-prompt-injection-attacks-through-design/) **Kudelski Security**
11. [Adversarial Machine Learning: A Taxonomy and Terminology of Attacks and Mitigations (nist.gov)](https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.100-2e2023.pdf)
12. [2407.07403 A Survey of Attacks on Large Vision-Language Models: Resources, Advances, and Future Trends (arxiv.org)](https://arxiv.org/abs/2407.07403)
13. [Exploiting Programmatic Behavior of LLMs: Dual-Use Through Standard Security Attacks](https://ieeexplore.ieee.org/document/10579515)
14. [Universal and Transferable Adversarial Attacks on Aligned Language Models (arxiv.org)](https://arxiv.org/abs/2307.15043)
15. [From ChatGPT to ThreatGPT: Impact of Generative AI in Cybersecurity and Privacy (arxiv.org)](https://arxiv.org/abs/2307.00691)

### 相關框架與分類法

請參考此區內容,以取得關於基礎架構部署、應用環境控管以及其他最佳實務的完整資訊、案例與策略。

- [AML.T0051.000 - LLM Prompt Injection: Direct](https://atlas.mitre.org/techniques/AML.T0051.000) **MITRE ATLAS**
- [AML.T0051.001 - LLM Prompt Injection: Indirect](https://atlas.mitre.org/techniques/AML.T0051.001) **MITRE ATLAS**
- [AML.T0054 - LLM Jailbreak Injection: Direct](https://atlas.mitre.org/techniques/AML.T0054) **MITRE ATLAS**
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
## LLM02:2025 Sensitive Information Disclosure

### 描述

**Sensitive Information**(敏感資訊)可能同時影響 LLM 與其應用程式情境,包括個人可識別資訊(PII)、財務細節、健康紀錄、商業機密資料、安全認證資訊以及法律文件。對於專有的模型而言,獨特的訓練方法與程式碼也屬於敏感資訊,特別是在閉源或基礎(foundation)模型中。

當 LLM 被嵌入應用程式時,可能有風險透過輸出結果而暴露敏感資料、專有演算法或機密細節,導致未經授權存取、隱私侵害與智慧財產權洩漏。使用者應瞭解如何安全與 LLM 互動,並認知在不經意情況下提供的敏感資料可能在往後的模型輸出中被洩漏的風險。

為降低風險,LLM 應用程式應進行適當的資料淨化(data sanitization),以防止使用者資料進入訓練模型。應用程式的所有者也應提供清楚的使用條款,讓使用者可選擇不將其資料納入訓練模型中。此外,在系統提示中加入關於 LLM 不應回傳哪些類型資料的限制可作為減輕敏感資訊洩漏的措施。然而,此類限制並不一定會被模型嚴格遵守,可能仍可透過 Prompt Injection 或其他方法被繞過。

### 常見漏洞實例

#### 1. PII Leakage
個人可識別資訊(PII)可能在與 LLM 互動的過程中被洩漏。
#### 2. Proprietary Algorithm Exposure
設定不當的模型輸出可導致專有演算法或資料外洩。公開訓練資料可能使模型遭受 inversion attacks(反向推導攻擊),攻擊者可擷取敏感資訊或重建輸入內容。例如,在 "Proof Pudding" 攻擊(CVE-2019-20634)中,所披露的訓練資料助長了模型擷取與反向推導攻擊,使攻擊者能繞過機器學習演算法的安全控制並避開電子郵件過濾機制。
#### 3. Sensitive Business Data Disclosure
產生的回應中可能不經意包含公司機密的商業資訊。

### 預防與緩解策略

###@ Sanitization:

#### 1. Integrate Data Sanitization Techniques
實施資料淨化(data sanitization)技術,以防止使用者資料進入訓練模型。例如在訓練前對敏感內容進行遮蔽或刪除。
#### 2. Robust Input Validation
採用嚴格的輸入驗證方法,以偵測並過濾潛在有害或敏感的輸入資料,確保其不會影響模型。

###@ Access Controls:

#### 1. Enforce Strict Access Controls
根據最小特權原則限制敏感資料的存取,僅允許必要的使用者或流程存取所需的資料。
#### 2. Restrict Data Sources
限制模型存取外部資料來源,並確保執行階段的資料協調(runtime data orchestration)受到安全管理,以避免非預期的資料洩漏。

###@ Federated Learning and Privacy Techniques:

#### 1. Utilize Federated Learning
使用 Federated Learning(聯邦學習)在多台伺服器或裝置上進行去中心化訓練,減少集中式資料收集並降低風險。
#### 2. Incorporate Differential Privacy
採用 Differential Privacy(差分隱私)技術,透過在資料或輸出中加入雜訊,使攻擊者難以反向推導單一資料點。

###@ User Education and Transparency:

#### 1. Educate Users on Safe LLM Usage
教育使用者避免輸入敏感資訊,並提供安全與 LLM 互動的最佳實務訓練。
#### 2. Ensure Transparency in Data Usage
維持關於資料保留、使用與刪除的清晰政策,並允許使用者選擇是否將其資料納入訓練流程。

###@ Secure System Configuration:

#### 1. Conceal System Preamble
限制使用者改寫或存取系統初始設定的能力,降低內部設定遭洩漏的風險。
#### 2. Reference Security Misconfiguration Best Practices
遵守如 "OWASP API8:2023 Security Misconfiguration" 等指南,以防止透過錯誤訊息或設定細節洩漏敏感資訊。
(參考連結:[OWASP API8:2023 Security Misconfiguration](https://owasp.org/API-Security/editions/2023/en/0xa8-security-misconfiguration/))

###@ Advanced Techniques:

#### 1. Homomorphic Encryption
使用 Homomorphic Encryption(同態加密)進行安全資料分析與隱私保護的機器學習,確保資料在模型處理期間仍保持機密。
#### 2. Tokenization and Redaction
實施 Tokenization(代幣化)以在處理前預先處理並淨化敏感資訊。利用模式比對(pattern matching)等技術在處理前遮蔽機密內容。

### 攻擊情境範例

#### 情境 #1:Unintentional Data Exposure
使用者收到的回應中包含其他使用者的個人資料,原因是資料淨化不足。
#### 情境 #2:Targeted Prompt Injection
攻擊者繞過輸入過濾機制以取得敏感資訊。
#### 情境 #3:Data Leak via Training Data
因不慎將敏感資料納入訓練過程,導致敏感資訊外洩。

### 參考連結

1. [Lessons learned from ChatGPT’s Samsung leak](https://cybernews.com/security/chatgpt-samsung-leak-explained-lessons/):**Cybernews**
2. [AI data leak crisis: New tool prevents company secrets from being fed to ChatGPT](https://www.foxbusiness.com/politics/ai-data-leak-crisis-prevent-company-secrets-chatgpt):**Fox Business**
3. [ChatGPT Spit Out Sensitive Data When Told to Repeat ‘Poem’ Forever](https://www.wired.com/story/chatgpt-poem-forever-security-roundup/):**Wired**
4. [Using Differential Privacy to Build Secure Models](https://neptune.ai/blog/using-differential-privacy-to-build-secure-models-tools-methods-best-practices):**Neptune Blog**
5. [Proof Pudding (CVE-2019-20634)](https://avidml.org/database/avid-2023-v009/) **AVID** (`moohax` & `monoxgas`)

### 相關框架與分類法

請參考此區內容,以獲得有關基礎架構部署、應用環境管控及其他最佳實務的完整資訊與案例策略。

- [AML.T0024.000 - Infer Training Data Membership](https://atlas.mitre.org/techniques/AML.T0024.000) **MITRE ATLAS**
- [AML.T0024.001 - Invert ML Model](https://atlas.mitre.org/techniques/AML.T0024.001) **MITRE ATLAS**
- [AML.T0024.002 - Extract ML Model](https://atlas.mitre.org/techniques/AML.T0024.002) **MITRE ATLAS**
Loading