OWASP Top 10 for LLM Applications (下篇)

在上一篇(參考:OWASP Top 10 for LLM Applications (上篇),我們深入探討了LLM01~LLM05的主要風險,相信各位對LLM應用的潛在威脅已有更清晰的認識。在本篇中,我們將繼續解析OWASP Top 10 for LLM Applications中的LLM06~LLM10,進一步拆解其攻擊手法與實際案例。

LLM06: Excessive Agency 過度代理

攻擊手法

當LLM系統功能過多、權限過高或自主性過強,在面對惡意攻擊者、受污染的程式或Prompt Injection時,可能執行非預期的行為,進而影響機密性(Confidentiality)、完整性(Integrity)與可用性(Availability),危及系統內所有可存取的資源。

案例 – AssitAI助手

讓我們用一個情境來說明「過度代理」的風險程度。AssitAI是一個基於 LLM開發的企業內部助手,旨在協助各部門完成他們的工作,如協助整理報表、查找資料、分析資料等。

然而,若AssitAI並未對使用者的請求進行控管,且自身被授予存取公司資料的權限超自身的業務範圍時,攻擊者可透過結合prompt injection的技巧要求AssitAI對公司的機敏資料進行存取、更新、甚至刪除。這將導致公司的機敏資料外洩,甚至財產損失。從AssitAI的情境中可以看出,過度代理可能帶來嚴重的安全風險。當LLM應用具備過多的存取權限,且缺乏適當的請求控管,攻擊者便能誘使系統執行未經授權的操作。

LLM07: System Prompt Leakage 系統提示洩漏

攻擊手法

當系統指令或資訊存在未預期暴露的敏感內容(如憑證、連線資訊、系統設定等),攻擊者可透過內容分析,推測系統缺陷,進而識別防護機制漏洞或權限管理不當,造成進一步攻擊風險。

  1. 憑證與密鑰洩露:系統回應中包含授權憑證,可能導致未授權存取
  2. 系統資訊暴露:錯誤訊息或日誌中顯示內部架構,助長攻擊面分析
  3. 過濾機制洩露:回應內容揭露LLM防禦邏輯,使攻擊者得以規避

案例 – Flowise遭竊取system prompts等資訊

Flowise是一個drag-and-drop的LLM開發工具,其可讓開發者快速整合企業內部的LLM架構。並且可透過AI代理進行任務自動化執行,通常Flowise會整合AWS Bedrock、Confluence、Github或OpenAI API等外部服務。

圖片來源:https://flowiseai.com/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Flogo-color-high.e60de2f8.png&w=256&q=75

在2024年,資安服務商Legit針對959台Flowise建構的伺服器,並且發現其中有45%的伺服器存在繞過憑證驗證的弱點CVE-2024-31621。然而透過此弱點,Legit從438台伺服器中取得了Github的access tokens、OpenAI API keys與Flowise相關的密碼、設定值、system prompts提示等。這些洩漏資訊足以讓駭客輕而易舉存取企業內部大部分的資訊,甚至導致企業或客戶的機敏資料外洩。

LLM08: Vector and Embedding Weaknesses 向量與嵌入弱點

攻擊手法

在Retrieval Augmented Generation (RAG)架構下,LLM透過檢索外部知識庫來增強回應內容。然而,若向量生成、儲存或檢索機制存在漏洞,攻擊者可藉此影響模型行為,可能導致輸出操控、敏感資料洩露,甚至影響決策準確性。

案例 – ConfusedPilot侵蝕Copilot決策模型

2024年,有一個針對Copilot這類模型Retrieval-Augmented Generation (RAG)的新型態攻擊手法ConfusedPilot問世,該系統是由Symmetry Systems 執行長 Mohit Tiwari 教授所領導的研究團隊揭露。

圖片來源:https://confusedpilot.info/logo.jpg

ConfusedPilot攻擊目的在於將Copilot變成一個搞破壞的助手。首先,攻擊者會對LLM用於決策判斷的相關文件或簡報等進行汙染。一旦LLM對這些污染文件進行查詢時,便會影響LLM的判斷並僅回覆使用者經受汙染的資訊。然而,這些文件內容並無法透過刪除便能解決威脅,其所造成的汙染已侵蝕了LLM的決策模型。這也表明,LLM模型的向量與嵌入已遭受汙染。

LLM09: Misinformation 誤導

手法

使用者對LLM過度信任(Overreliance),在開發、業務決策、學習、法律諮詢等情境下,可能因錯誤資訊而做出不當決策,進而暴露於風險之中。其中「幻覺」(Hallucination)是主要成因之一,即模型生成內容看似合理,但實際上是憑空編造,可能導致錯誤建議、誤導性決策,甚至影響企業與個人安全。

案例美國律師受LLM「幻覺」影響

近期,LLM在法律領域的應用引起了社會大眾的關注,特別在LLM回覆資訊時,會產生大量虛構案例,即是所謂的「幻覺」。而有數名律師因對內容過度信任而導致面臨制裁。以下是相關案例的彙整:

在2025年,美國知名個人傷害律師事務所Morgan & Morgan的兩位律師,在對沃爾瑪公司的案件中引用了LLM所產生的虛構案例,因故將會面臨制裁。並且在同年2月,其中一位律師承認使用了AI程式,並為此錯誤道歉。過去兩年中,至少有七起類似案例,法院對律師引用AI生成的虛構案例表示關切或進行紀律處分。

LLM10: Unbounded Consumption 無約束的資源消耗

攻擊手法

LLM在推理過程中若未設定適當限制,可能陷入無限資源消耗模式,進而成為拒絕服務攻擊(DoS)的目標。攻擊者可透過過量請求或複雜計算,讓系統資源耗盡,導致服務品質下降、營運成本增加,甚至進一步影響模型與資料的安全性。

案例 – Red Hat Enterprise Linux AI遭受DoS攻擊

2024年,Red Hat Enterprise Linux AI(未知版本)被發現存在一個被分類為問題性的漏洞。這個漏洞影響了ilab Model Serve組件中的vllm JSON web API。當攻擊者於參數best_of中輸入未知不當內容時,webAPI可成功實現阻斷服務攻擊攻擊(DoS)。

圖片來源:https://www.redhat.com/rhdc/managed-files/rhel-ai-hero-graphic_0.png

本項攻擊的重點在於,此API主要用處理LLM的聊天內容,並以一個best_of參數從多個選項中取得最佳的結果。然而,一旦參數設定較大,會出現API無法正確運作,造成處理耗時或資源耗盡的威脅。主因為LLM並未適當地對系統資源進行控管,導致LLM被賦予消耗大量資源的權限,使系統無法正常運作,影響其他正常使用者的訪問服務。

透過本篇文章,我們完整解析了OWASP Top 10 for LLM Applications的後五項風險(LLM06~LLM10)。至此,我們已經完整梳理了LLM應用可能面臨的十大風險,幫助企業與開發者在導入LLM技術時做好安全防護。然而,LLM技術仍在快速演進,新的安全問題也可能隨之出現。未來,我們將持續關注LLM的發展,並分享更多與LLM安全相關的最佳實踐,確保大家能夠在創新應用的同時,降低風險,安全地釋放LLM的潛力。

【參考資料】

By Jared

OWASP Top 10 for LLM Applications (上篇)

根據上一篇的內容(參考:LLM 架構解析),想必各位對LLM模型的架構已經有了初步的認識。本期我們將深入解析OWASP Top 10 for LLM Applications中的10項資安風險與弱點。

或許大家迫不及待想要一次了解所有威脅,但為了讓各位能夠更透徹地理解每個資安風險,我們將逐一剖析每項威脅的攻擊手法與實際案例。今天,我們將率先介紹LLM01~LLM05,其餘五項風險則將在下一篇揭曉!

LLM01: Prompt Injections 提示詞注入

攻擊手法

攻擊者可透過精心設計的LLM提示詞(prompt)來竊取敏感資訊或影響模型的判斷,進而執行惡意行為。這類攻擊可分為兩種模式:

  1. 直接提示詞插入 (Direct Prompt Injection)
    • 此類攻擊是利用惡意提示詞影響LLM的回應邏輯,讓模型執行不當行為。
    • 攻擊者可能試圖透過提示詞繞過安全限制,甚至存取後端系統的敏感資訊。
  2. 間接提示詞插入 (Indirect Prompt Injection)
    • 此類攻擊是針對LLM參考的外部資料來源(如網頁、文件)進行內容篡改,讓模型在讀取該資訊時產生非預期的行為。
    • 攻擊者可在這些資料來源中注入惡意內容,從而影響LLM的回應,甚至進一步存取或控制後端系統。

案例:Jailbreaks

Jailbreak是一種突破大型語言模型用途限制的技術,當輸入繞過模型內建的安全限制,其將會輸出本不應提供的資訊,如非法內容、濫用指引或其他違規資訊。其中,已經被發現的Jailbreak prompt已多達數十種,以下提供Evil-Bot Prompt範例供參考。

當模型被上述的Prompt誘導進入如「EvilBOT」的角色時,它可能會開始提供本應受限制的資訊,進一步加劇濫用風險。詳細越獄結果可參考下圖,每當攻擊者提出LLM原先無法處理或受限的請求時,模型起初會回應無法滿足該請求的說明,但隨後便透過角色扮演「EvilBOT」的方式,提供違法資訊,從而繞過安全機制。

圖片來源:https://gist.github.com/sertdfyguhi/4e291776fe95b975becf468e762a28e7?permalink_comment_id=4516928

LLM02: Sensitive Information Disclosure 敏感資訊揭露

攻擊手法

LLM在許多應用場景中可能涉及機敏訊息,如:

  1. 個人識別資訊(PII):姓名、身分證字號、聯絡資訊等。
  2. 財務資料:信用卡資訊、銀行帳戶、交易紀錄等。
  3. 健康紀錄:病歷、醫療診斷、保險資料等。
  4. 商業機密:公司內部文件、專利技術、客戶資料等。

如果未妥善管理,這些機敏資訊可能會因未經授權的存取而遭到洩露,導致:

  1. 敏感資料與機密資訊的暴露
  2. 隱私權侵害(Privacy Violation)
  3. 知識產權(IP)侵犯

這類風險通常發生在LLM agent將機敏資料回傳至application service 或plugins/extensions,導致機密資訊被意外存取或利用。

案例 – OmniGPT資料外洩

OmniGPT是一個由多個熱門且常見的LLM模型所構建而成,如下圖所示。

圖片來源:https://omnigpt.co/

在2025年2月,BreachForums的論壇上有人聲稱掌握了OmniGPT大量的機敏資料,包含30K的使用者信箱和手機號碼與34M的聊天訊息,並且外洩的資料也包含了大量的API keys、憑證與帳單等內容,詳細資訊可參考下圖。

根據Cyble的研究團隊調查結果,這些資料分成了四份文件,分別為:

  1. File.txt:記錄了使用者上傳檔案的連結,並且部分內容屬於機敏資料。
  2. Messages.txt:包含了使用者與OmniGPT聊天所使用的prompt,並且部分內容屬於機敏資料。
  3. User_Email_Only.txt:儲存了使用者的信箱地址。
  4. UserID_Phone_Number.txt:記載了大量使用者帳號信箱與聯絡電話。

其中在File.txt和Messages.txt的資料中儲存了tokens、API keys、credentials、帳號密碼等關鍵資訊,這導致惡意攻擊這可進一步利用這些資訊發動攻擊。並且,User_Email_Only.txt與UserID_Phone_Number.txt中的資料看似無害,但這些資料可被駭客用於進行釣魚攻擊、身分竊取或是社交工程等。

LLM03: Supply Chain 供應鏈威脅

攻擊手法

LLM供應鏈的每個環節都有可能成為攻擊目標,影響訓練資料、模型完整性、部署平台,甚至導致不正確的回應、安全漏洞或系統故障。這些風險可能來自:

  1. 軟體層面:程式碼漏洞,如Python內建函式的安全弱點、外部或供應鏈中的API套件、搭建LLM的平台等。
  2. 機器學習模型層面:由供應鏈所提供的參考資料或訓練資料已被污染,如惡意或低品質資料影響模型學習、受汙染或竄改的資料儲存系統。

這些問題可能讓攻擊者操控LLM的行為,進而影響企業運作或造成資訊洩露。

案例 – DeppSeek tokens竊取

DeepSeek作為2025年間備受矚目的LLM模型,其一上線即引起全球的關注。

圖片來源:https://www.deepseek.com/

2024年12月26日,DeepSeek發布了DeepSeek-V3版本,但僅在發布後數天內,駭客就取得了該模型的完整存取權限。根據Nexus-AI的說明,本次攻擊的駭客被稱為LLM Hijackers。此次攻擊是由於Nexus-AI雲端託管平台的零時差漏洞所致,駭客利用這一漏洞盜取了tokens,並通過這些tokens合法地存取DeepSeek-V3的完整功能。Nexus-AI還表示,此次事件已威脅到DeepSeek-V3的部分功能。

此外,駭客還在黑市上販售這些tokens以獲取非法利益,這些tokens的價格低至30美元,可以提供30天的訪問權限。這些非法販售的tokens在地下論壇和某些平台上廣告,吸引了大量買家。此案例主因為供應鏈中的Nexus-AI雲端託管平台存在漏洞,致使DeepSeek遭受攻擊。

LLM04: Data and Model Poisoning 資料和模型中毒

攻擊手法

在預訓練(Pre-training)、微調(Fine-tuning)或嵌入(Embedding)過程中,惡意攻擊者可針對內容發動攻擊,導致模型性能下降、產生偏見與有害內容,甚至植入漏洞與後門,最終使使用者與下游服務暴露於安全威脅之中。

案例醫療用資料集The Pile汙染

2025年1月,Nature Medicine發布了一篇最新有關如何利用資料汙染嚴重影響LLM模型輸出結果的正確性。

圖片來源:https://www.nature.com/articles/s41591-024-03445-1

首先,研究團隊針對醫療領域常用於訓練的The Pile資料進行攻擊,然而他們僅汙染0.001%的訓練資料為錯誤的醫療訊息,便成功使得1.3B的參數模型增加了7.2%的錯誤率。並且,團隊嘗試將汙染資料提高到0.01%進行實驗,此時錯誤內容則飆升到了11.2%。這項研究表明,即使是極小比例的資料汙染,也能顯著影響大型語言模型的準確性。更令人擔憂的是,進行這種攻擊的金錢成本非常低。研究團隊指出,僅需約5美元的成本便能生成足夠的錯誤資料來進行有效的資料汙染攻擊,這對於依賴這些模型進行醫療診斷和決策的應用程序尤為重要。

LLM05: Improper Output Handling 輸出處理不當

攻擊手法

當LLM處理完資料後,未經驗證或過濾即直接回傳資訊給使用者或下游服務,可能導致以下風險:

  1. 跨站腳本攻擊(XSS)
  2. 跨站請求偽造(CSRF)
  3. 伺服端請求偽造(SSRF)
  4. 提權攻擊
  5. 遠端程式碼執行(RCE)

這類攻擊可能使使用者與下游服務暴露在嚴重的安全威脅之中。

案例 – ChatGPT遭受駭客組織濫用

2024年,OpenAI發布了有關ChatGPT遭到濫用的研究報告,其中說明了駭客組織利用ChatGPT輔佐惡意活動進行,如資料蒐集或生成惡意程式,這些行為屬LLM模型對於輸出的管理與過濾不當。

圖片來源:https://zh.wikipedia.org/zh-tw/OpenAI

接下來,我們以大陸「SweetSpecter」與伊朗「CyberAv3ngers」駭客組織的案例進行說明。

  • SweetSpecter:該組織利用了ChatGPT進行惡意攻擊的準備。此次攻擊涵蓋的對象包含中東、非洲與亞洲的政府機關與OpenAI員工。經深入調查該組織在ChatGPT的使用者行為,發現SweetSpecter利用多個ChatGPT輔佐進行了惡意程式的腳本與弱點分析等。
  • CyberAv3ngers:該組織透過ChatGPT針對工業控制系統(ICS)與可程式邏輯控制器(PLCs)進行攻擊。經過調查分析,該組織利用ChatGPT協助了偵查、取得預設帳號密碼與協助開發惡意程式等。

從上述案例可以看出,駭客組織已經將LLM技術作為輔助工具,以提升攻擊的精確度與自動化程度。這些案例反映出LLM在輸出管理與內容過濾上的挑戰,尤其當駭客透過繞過限制或提示工程的方式,誘導模型生成有害內容時,現有的防範機制仍存在漏洞。

在本次粉絲文中,我們介紹了OWASP Top 10 for LLM Applications的前五項安全風險(LLM01~LLM05),並透過實際案例剖析了可能的攻擊方式。這些風險揭示了LLM於應用時的潛在風險,提醒開發者與使用者在部署LLM時必須提高警覺。然而,這僅僅是LLM安全挑戰的一部分,還有更多潛在風險值得我們關注。在下一篇粉絲文中,我們將進一步解析剩餘的五大風險(LLM06~LLM10),幫助大家全面掌握LLM應用的安全防護要點。

【參考資料】

By Jared

LLM 架構解析

隨著ChatGPT、Claude、Copilot等人工智慧工具的廣泛應用,許多領域已與大型語言模型深度融合,顯著提升整體服務品質與營運效能,為各行各業帶來前所未有的變革與發展機遇。然而,資訊技術的發展總伴隨著資訊安全的潛在風險,這已成為不可忽視的重要議題。

國際知名的資訊安全組織OWASP(參考:OWASP Top 10 2021入門介紹)在2023年即啟動了Large Language Model Applications計畫,專門研究大型語言模型(LLM)應用可能面臨的資安風險,類似於之前粉絲文中所介紹Web風險弱點。該計畫聚焦於各領域在LLM模型開發、設計與應用階段時應關注的威脅與資安弱點。目前,該計畫最新的版本 – OWASP Top 10 for LLM Applications 2025,已於2024年11月17日正式發布。

為了讓大家更清楚了解LLM的潛在風險,本系列內容將分為三個部分進行介紹:

  1. LLM架構解析:首先,我們將介紹LLM的基本架構,幫助大家理解其運作原理,包括使用者輸入、模型運行、外部服務交互以及模型更新等關鍵流程。
  2. OWASP Top 10 for LLM Applications (上篇):接著,我們將剖析OWASP Top 10 for LLM Applications中的LLM01~LLM05,詳細說明每項風險的定義、攻擊手法、實際案例與對應的防範措施。
  3. OWASP Top 10 for LLM Applications (下篇):最後,我們將進一步解析 LLM06~LLM10,補充更多與LLM應用安全相關的風險,確保大家能夠全面認識LLM的潛在威脅,降低LLM系統的安全隱患。

隨著LLM技術的快速發展,資訊安全風險也隨之提升。希望透過本系列的介紹,幫助大家更有系統地理解LLM資安議題,進而強化應用防護,確保系統穩定與安全!

LLM架構

從下圖中,我們可以看到一個簡易的LLM架構。儘管整體框架看起來較為複雜,但我們先認識每個元件的功能與意義,其核心運作方式將會透過簡單的情境來理解。

  • End User:LLM模型的使用者。
  • Application Service:Core/GreenField: 供使用者的應用程式服務,如ChatGPT的服務介面。
  • LLM Production Services:
    • LLM Automation(Agents): 負責調用、管理、交互。
    • LLM Model: 負責內容理解、分析、推理、生成。
  • Plugins/Extensions:LLM串接的應用功能。
  • Downstream Services:根據LLM結果,進一步處理或應用於其他系統。
  • Training Dataset & Preprocessing 
    • Training Data: 用於建立模型基本能力,包括語言理解、分析、推理、生成之資料集。
    • Fine-tuning Data: 用於微調模型的資料集,以適應特定任務或行業需求。
  • External Data Sources:提供模型即時查詢的資料、文件、知識庫。

接下來,將為大家講述一個直觀的案例,幫助大家更輕鬆地掌握LLM的基本概念與應用方式。

  1. 使用者輸入:End user透過application service(ChatGPT、Claude、Copilot)輸入對話內容(prompt),類似我們開啟ChatGPT頁面進行提問的方式。
  2. 模型運作:Application service會將問題傳送至LLM production services,模型隨後執行理解、分析、推理與生成等處理程序。根據需求,模型可能會採取以下處理方式:
    • 無需額外擴充功能:系統直接在LLM production services內部生成回覆,並回傳至application service,供使用者查看結果。
  • 需額外擴充功能:若LLM需要額外工具來處理請求,如計算、程式碼執行,則可能透過Plugin/Extension機制進行額外運算,完成後回傳結果至 Application Service。
  • 需下游服務:若系統需要存取外部資料,如企業資料庫、核心應用程式或網站,則可透過plugin轉發請求至 downstream services。
  1. 模型訓練與微調:Training Dataset & Preprocessing是 LLM 訓練與優化的核心流程,其資料來源可分為:
    • 使用者輸入的內容可能會被收集來優化未來模型版本,但不會直接影響當前模型。
    • 外部資料庫,如維基百科、新聞、學術論文等,可作為 LLM 訓練時的基礎資料。

透過本篇文章,我們解析了LLM的基本架構,從使用者輸入到模型運行,再到外部服務交互與模型更新,讓大家對LLM的運作方式有了更清晰的理解。然而,除了技術架構外,LLM應用的安全性也是不可忽視的重要課題。在下一篇文章中,我們將聚焦於OWASP Top 10 for LLM Applications,探討LLM應用可能面臨的前五大安全風險,並解析對應的攻擊手法。

【參考資料】

By Jared