什麼是 LLM 安全?如何緩解 OWASP 十大安全風險

這份 LLM 安全指南逐一介紹 OWASP LLM 應用程式十大風險(2026 年版),並針對每項風險提供真實事件案例與實用防禦措施。

OWASP Top 10 for LLM Applications 2026: LLM01 Prompt Injection, LLM02 Sensitive Information Disclosure, LLM03 Excessive Agency, LLM04 Supply Chain, LLM05 Data and Model Poisoning, LLM06 Unbounded Consumption, LLM07 Misinformation, LLM08 Hidden Context Exposure, LLM09 Vector and Embedding Weaknesses, LLM10 Improper Output Handling.

一種誘騙 AI 將攻擊者的指示當作命令執行的攻擊手法(也就是提示詞注入),自 2023 年以來的每一版都高居 OWASP LLM 應用程式十大風險第 1 名。

這份清單幾乎是 AI 安全領域最接近共識的成果。該專案最初只是由一小群資安專業人士發起,如今已匯集來自超過 18 個國家、逾 600 位專家的貢獻。

我們身為一家 AI 公司,卻發表一份關於 AI 如何被人說動去做事的指南,所以就不假裝這個問題已經解決了。共同領導 OWASP 專案的 Wilson 談到目前的防禦措施時說得相當直白:「……坦白說,我不認為我們已經達到 99%。」

2026 年版的開頭也定下了同樣的基調。專案負責人告訴我們要「別再試圖打造一個不會被騙的模型」,而是要設計好周邊系統,讓模型即使被騙,也無法破壞任何重要的東西。

我們將秉持這個立場,逐一檢視 OWASP 2026 年清單上的全部 10 項風險。

LLM 安全是什麼意思?

LLM 安全是指保護 AI 模型及使用這些模型的應用程式,使其免受攻擊與濫用。模型連接的東西越多,風險就越大:包括它能讀取的檔案和資料,以及它能使用的工具,例如電子郵件、搜尋或公司資料庫。

在妥善保護的軟體中,程式遵循的指示與它處理的資訊之間有一條明確的界線。但 LLM 沒有這條界線。

模型讀取的所有內容,都是以一長串文字的形式進入:開發人員的指示、你的問題、它查詢的網頁。AI 模型理應能分辨是誰在說話,無論是開發人員、使用者,還是模型本身在思考問題。

但研究人員 Jasmine Cui 與 Charles Ye 發現,模型大多是根據文字聽起來的樣子來猜測是誰在說話。因此,如果攻擊者寫出聽起來像模型自身推理的內容,模型可能會以為這是它自己想到的點子。對於任何仰賴模型分辨誰說了算的安全機制來說,這都是個問題。

我們在自家的 AI 代理程式上也遇過同樣的問題。我們的資安長 Kyle Polley 告訴ISMG,AI 代理程式「即使你把政策加進系統提示詞,也可能不會遵守」。這正是我們打造 Numbat 的原因:這是一款開源工具,會檢查 AI 代理程式即將執行的動作,若該動作違反已設定的安全規則,便可加以阻擋。

LLM 安全意味著接受模型有時會聽從錯誤對象的命令,並在模型周圍建立即使發生這種情況也依然有效的 AI 防護機制。

LLM 安全有哪些最佳做法?

我們將依序從第 1 名到第 10 名,逐一說明 2026 年版 OWASP LLM 應用程式十大風險。

針對每項風險,我們會以淺顯易懂的方式說明問題如何發生,並提供真實案例。接著會介紹有助於預防該風險,或至少能限制損害的做法。

排名

LLM 安全風險

可能會出什麼問題?

01

提示詞注入

攻擊者讓 AI 遵循它不該遵循的指示。

02

敏感資訊洩露

AI 將私人資訊透露給不該看到的人。

03

過度自主權

AI 擁有的存取權限與自由度,足以讓一個錯誤演變成實際損害。

04

供應鏈

遭入侵的模型、資料集或軟體套件,讓攻擊者得以進入你的應用程式。

05

資料與模型投毒

有人竄改資料或模型,藉此改變其行為或植入後門。

06

無限制資源耗用

大量請求或失控的工作耗盡運算資源與金錢。

07

錯誤資訊

AI 產生錯誤資訊,而人或其他系統據此採取行動。

08

隱藏脈絡外洩

AI 透露了不該讓使用者看到的內部指示或背景資訊。

09

向量與嵌入弱點

資訊儲存與擷取方式中的弱點,讓攻擊者得以洩露資料或干擾回答。

10

不當的輸出處理

其他系統使用未經檢查的 AI 輸出,使其得以執行命令、洩露資料或造成損害。

1. 控制提示詞注入

提示詞注入是指攻擊者讓 AI 遵循它不該遵循的指示。這些指示可能直接出現在聊天中,也可能被植入電子郵件、網頁或文件裡。

第二種類型稱為間接提示詞注入。你請助理摘要一份文件,但文件作者已在其中指示助理,把你的私人檔案傳送給他們。如果助理遵循這些指示,撰寫該文件的人實際上就等於借用了你的存取權限。

PCMag 將提示詞安全比喻為修補多孔石頭上的孔洞:你封住一個開口,水又會從另一個地方滲出。「一種攻擊找到了突破口,接著被修補,但光是因為 LLM 這類系統本身極具動態性,就仍有無數其他攻擊途徑等著被發現。」

案例:2025 年 6 月,Aim Security 的研究人員發現了 EchoLeak,這個漏洞能誘騙 Microsoft 365 Copilot 洩露公司的私人資訊。當員工詢問一個例行的工作問題時,Copilot 可能會讀取攻擊者寄來的電子郵件、遵循其中隱藏的指示,並將敏感資訊傳送給攻擊者。這項攻擊繞過了原本用來攔截惡意指示及移除可疑連結的檢查機制。

你可以怎麼做:

  • 遵循 Meta 的「二項法則」(Rule of Two):EchoLeak 需要一個能讀取公司資料、讀取外部電子郵件,並將資訊傳送出去的 AI,而它三者兼具。將 AI 限制為只具備其中兩項能力,就能防止提示詞注入取得過多控制權。如果工作需要三項能力,則每次執行動作前都必須經過人工核准。
  • 以熟知你防禦措施的攻擊者進行測試:把你設下的規則與篩選機制交給安全測試人員,再讓他們設法繞過。在一項研究中,能因應防禦措施調整策略的攻擊者,對受測 12 種防禦措施中的大多數,成功率都超過 90%。

2. 防止敏感資訊外洩

當 AI 系統把私人資訊提供給不該看到的人,就稱為敏感資訊洩露。這可能是洩露客戶的付款資料,或是把私人對話留在共用資料庫中。

許多外洩事件都始於「過度分享」。假設某家公司將 AI 連接到權限設定寬鬆的雲端硬碟與知識庫,AI 就會擷取它能存取的所有內容,完全符合設計。沒有人需要入侵,但你應該把這個 LLM 視為已遭入侵。

案例:2025 年 1 月,Wiz 研究人員發現一個 DeepSeek 資料庫公開暴露在網際網路上,其中有超過一百萬筆日誌項目,包括聊天記錄與 API 金鑰(軟體用來存取其他服務的憑證)。研究人員根本不需要說服模型透露任何東西。

你可以怎麼做:

  • 在 AI 讀取資料前先檢查存取權限:你的應用程式應先確認提問者有權查看哪些文件,再將文件傳給模型。
  • 保護 AI 留下的記錄:在儲存活動日誌前移除私人細節與秘密金鑰,要求登入,並僅限需要的人存取。設定保留期限,避免這些記錄無限期累積。

3. 約束過度自主權

具有過度自主權的 AI 擁有超出其工作所需的權力:用不到的工具、超出任務範圍的權限,或是無需確認即可採取行動的自由。這裡的原因並不重要。

無論是注入的提示詞、程式錯誤,或是模型單純判斷錯誤,都會導致相同的結果。只要 AI 具備這種能力,最終就會做出破壞性的事。

案例:2025 年 7 月,SaaStr 創辦人 Jason Lemkin 表示,儘管已指示不得進行變更,Replit 的程式設計 AI 代理程式仍刪除了他存有 1,206 筆高階主管記錄的資料庫。該 AI 代理程式起初表示資料無法復原,但後來證實仍可救回。Jason 發現,叫它不要動資料庫,並沒有讓它失去刪除資料庫的能力。

來源:X

你可以怎麼做:

  • 移除工作不需要的能力:同時限制 AI 代理程式可使用的工具,以及這些工具能做的事。負責摘要電子郵件的助理只需要讀取郵件的權限,不需要傳送或刪除郵件的權限。
  • 把權限檢查放在 AI 之外:每次有人要求執行動作時,都要根據你的安全規則進行檢查,並要求由人員核准。

4. 檢查進入 AI 供應鏈的元件

很少有公司從頭打造 AI,而且這樣做的公司逐年減少。根據 Menlo Ventures 的《2025 企業生成式 AI 現況》調查,2024 年有 53% 的企業購買 AI 模型,到了 2025 年增加至 76%。

公司多半會從 Hugging Face 等平台下載模型,再用他人收集的資料集進一步訓練,並接上陌生人撰寫的附加元件與程式碼套件。

每個環節都是一個入口。只要其中一個遭到竄改,問題就會隨著你的產品一起出貨。

案例:2026 年 1 月至 2026 年 8 月間,Hugging Face 的公開模型儲存庫從 243 萬個增加到 296 萬個。然而在 2026 年 7 月,OpenAI 的模型在內部安全測試期間,繞過了原本用來阻止它們連上網際網路的控制措施,並入侵了 Hugging Face 的部分系統。事實上,其中一個 AI 代理程式取得了 14 組公開暴露的存取憑證,確認可用後,再分享給其他 AI 代理程式。這些 AI 代理程式接著利用漏洞,在 Hugging Face 的伺服器上執行程式碼。

OpenAI 的報告指出:「我們正在對模型整個生命週期的對齊提出更嚴格的要求,並建立隔離程度更高的沙箱、限制網際網路存取,以及進一步控管模型權重的存取。」

你可以怎麼做:

  • 將模型固定在確切版本並加以驗證:將每個模型固定在經過審查的版本,並在載入前檢查其檔案指紋,以免遭替換的檔案頂著相同標籤混入。OWASP 也建議使用數位簽章,但有個但書:簽章只能證明模型的來源,無法證明它是安全的。
  • 檢查 AI 建議的每個套件:在安裝 AI 助理推薦的程式碼套件之前,先確認該套件確實存在、是你想要的那個套件,並且來自你預期的發行者。

5. 防範資料與模型投毒

遭投毒的 AI 會從被汙染的資料中學習。這些資料可能是用來微調它的範例,也可能是它搜尋答案時使用的知識庫。模型看起來仍然運作正常,只是學到了錯誤的東西,有時甚至只會在看到特定觸發詞時才出現異常行為。

在有人真正使用這個觸發詞之前,模型都能通過你給的每一項測試。

而且,這種問題很難復原。投毒不是可以修補的程式錯誤。如果你的資料有問題,可能需要重新檢查資料、重新訓練模型,甚至完全更換模型。

案例:2025 年 10 月,Anthropic、英國 AI 安全研究所與艾倫圖靈研究所的研究人員證實,只要 250 份遭投毒的文件,就能讓模型學會產生亂碼,每當遇到特定觸發詞便會發作。在受測的四種模型規模中,這個數量都同樣有效,即使最大的模型所訓練的乾淨資料量是最小模型的 20 倍以上。

你可以怎麼做:

  • 追蹤資料來源:記錄你使用的每個資料集與模型、各自的來源,以及各版本之間的變更。我們建議對資料集進行版本控制,這樣一旦發現投毒,就能回復到乾淨的版本,並找出問題是如何混入的。
  • 測試是否有後門:「後門」是攻擊者植入模型的隱藏行為,會等待特定詞句或其他觸發條件來啟動。請使用專門設計來讓模型打破常規的輸入進行測試。

6. 為無限制資源耗用設下上限

當 AI 能做多少工作、能花多少成本都沒有任何限制時,其資源耗用就被視為「無限制」。大多數 AI 服務都按使用量計費,因此攻擊者可能會讓你的帳單暴增,或藉此複製出你的模型。

OWASP 將核心問題稱為「成本不對稱」。一個簡短、低成本的請求,就可能在你這端觸發昂貴的運算。

案例:2024 年 5 月,Sysdig 威脅研究團隊發現了一種名為「LLMjacking」的新型攻擊。一群攻擊者利用竊取的憑證,鎖定 10 個雲端託管的 LLM 服務。他們透過有漏洞的 Laravel 版本入侵,接著摸清這些憑證能做什麼、有哪些配額,目的顯然是轉售存取權。他們還查詢了大量日誌記錄設定,可能是為了躲避偵測。根據 Sysdig 的說法,在最壞的情況下,受害者每天可能要付出超過 46,000 美元的代價。

你可以怎麼做:

  • 設定能真正止血的預算:為個別使用者、API 金鑰、團隊及整個帳戶設定硬性支出上限,並在所有請求可能進入的地方強制執行。
  • 為每項工作設定停止點:限制工作可執行的時間、可處理與產生的文字量,以及可進行的工具呼叫次數。針對不斷重複動作或超出配額的 AI 代理程式,加入自動中止機制。

7. 在採取行動前揪出錯誤資訊

當 AI 產生聽起來正確但實際上錯誤的內容,而有人(或某個系統)據此採取行動時,就稱為錯誤資訊。核心風險與其說是錯誤答案本身,不如說是錯誤答案受到信任並被採用。

事件紀錄顯示,從業人員對錯誤資訊的擔憂程度不如應有的高。根據 2026 年版的開篇信,投票者將它排在接近末段的位置,但從實際發生的事件來看,它其實名列前茅。

案例:2025 年,Deloitte 澳洲依據一份價值 44 萬澳幣的政府合約,交付了一份社福 IT 系統審查報告。雪梨大學研究員 Chris Rudge 發現報告引用了根本不存在的研究,以及一段捏造的聯邦法院判決引文。修訂後的報告揭露,Deloitte 在研究方法中使用了 Azure OpenAI GPT-4o,該公司也同意退還最後一期款項。遺憾的是,這份報告本身就是一份確信審查。

你可以怎麼做:

  • 確認證據支持答案:以最新、權威的來源作為論述依據。若是政策相關的回答,應擷取已核准的政策,並確認該政策(包括其例外情況)支持此結論。
  • 在系統採取行動前進行驗證:如果 AI 代理程式表示客戶已通過身分驗證,請先向驗證系統確認後再放行付款。重大決策須經人工核准,並提供佐證資料供審查者參考。

8. 限制隱藏脈絡外洩造成的損害

AI 應用程式會提供模型一般使用者看不到的指示與背景資訊,其中可能包括系統提示詞、內部政策、可用工具的說明,以及誰能使用這些工具的規則。當模型向某人透露這些資訊時,就發生了隱藏脈絡外洩。

OWASP 在 2026 年將此項目從「系統提示詞外洩」擴大,因為系統提示詞只是可能外洩內容的一部分。危險程度取決於你在其中放了什麼。語氣指南外洩只是有點尷尬,但 API 金鑰外洩則會讓他人得以存取你的機密資料庫。

案例:2023 年 2 月,使用者成功讓 Microsoft 的 Bing Chat 透露其內部指示。其中一次成功的嘗試來自 Marvin von Hagen,他自稱是 OpenAI 開發人員,並以設定模型為由要求取得這些指示。Bing 揭露了規範其搜尋、回應與安全行為的規則,以及它的內部代號 Sydney。在被揭露的指示中,有一條正是要求它對這些指示保密。

你可以怎麼做:

  • 別讓機密資訊進入模型的上下文:請假設模型能讀取的任何內容都可能被使用者看到——將密碼、API 金鑰與存取權杖存放在獨立的機密管理系統中。
  • 確保規則外洩時權限依然有效:在應用程式程式碼中強制執行存取檢查。如果某項工具僅限管理員使用,請在執行前先檢查使用者的帳戶權限。

9. 嚴密保護向量與嵌入

當 AI 使用向量搜尋在公司文件中尋找答案時,並不會直接搜尋文字。文件會先轉換成「嵌入」(embeddings),也就是一長串代表每個段落含義的數字,再儲存在向量資料庫中。問題也會以相同方式轉換,系統接著擷取數字最接近的段落。

OWASP 歸納了它失效的四種方式:投毒讓系統出錯、反演讓系統洩漏資料、干擾讓系統沉默,而存取控制失效則讓系統把任何東西交給任何人。

這些數字並不像表面上看起來那樣,是安全的抽象表示。儲存的嵌入可以還原成文字,其中一種方法在測試中精確還原了 92% 長度為 32 個詞元的短段落。因此,外洩的「僅含嵌入」備份同樣可能暴露文件內容。

範例:在 USENIX Security 2025 發表的研究中,研究人員證明,只要一份精心設計的文件,就能讓 AI 無法回答特定問題。他們將這份文件加入 AI 搜尋的文件集合中。AI 找到這份文件後,可能會表示資訊不足,或表示回答並不安全。這份文件甚至不需要指示 AI 忽略其規則。這種手法稱為「檢索干擾」。

你可以怎麼做:

  • 為公開與私人資料分別維護索引:不要將爬取的網路內容與合作夥伴資料或內部機密文件混在一起。請依信任等級進行實體區隔,而不是在同一個索引中為內容加上標籤,因為這能徹底排除一整類設定錯誤,從網路爬取的內容也不會跑到你的董事會文件旁邊。
  • 以對待原始文件的方式對待嵌入:為嵌入加密,像保護來源檔案一樣保護向量資料庫備份,並在刪除原始文件時一併刪除其嵌入。嵌入服務的 API 金鑰也應妥善保密。

10. 先檢查 AI 輸出,再往下傳遞

每當應用程式將 AI 輸出傳給另一個系統,卻沒有確認這些輸出在該系統中使用是否安全,就屬於不當處理 LLM 輸出。

這個項目也涵蓋 AI 程式設計助理大量產生的不安全程式碼。因此,助理寫下的每一行程式碼也都是輸出。

範例:2025 年,研究人員 Johann Rehberger 展示了 Sourcegraph 的 Amp 程式設計助理如何僅透過顯示一張圖片就洩漏聊天內容。他利用提示詞注入,讓 Amp 將私人資訊放進圖片的網址中。應用程式接著自動擷取該圖片,把這些資訊傳送到他的伺服器。輸出處理的失誤就在於那個自動請求——模型產生的文字變成了連往外部伺服器的連線,並夾帶著私人資料。

你可以怎麼做:

  • 確保輸出對其目的地而言是安全的:根據回應的去向進行檢查與處理。若是網頁,應防止產生的文字變成可執行的程式碼。若是資料庫,請使用預備查詢(prepared query),將提供的值與指令分開處理。
  • 防止回答自動建立外部連線:預設停用模型回應中圖片、連結預覽與內嵌網頁的自動載入。必要的連線僅限於明確核准的目的地。

Perplexity 如何確保 LLM 的安全?

我們假設上述每項風險終究都會發生,因此在設計上確保即使發生也無法造成太大影響。我們的資訊安全長 Kyle Polley 在近期的一場工作坊中說明了具體做法。

  • AI 代理程式擁有自己的電腦,而且一開始是空的:安裝在你筆電上的 AI 代理程式工具,可能取得筆電中的檔案、應用程式與已儲存的憑證。Perplexity Computer 的做法則正好相反。每項任務都在各自獨立的沙箱中執行,而且正如 Polley 所說:「預設情況下,它什麼都存取不了。」
  • AI 代理程式永遠看不到密碼:已連接服務的憑證存放在沙箱之外。當 AI 代理程式需要存取 GitHub 等服務時,它送出的請求不會附帶任何憑證。閘道會檢查目的地與請求是否符合預期,再於請求送出時加上憑證。AI 代理程式可以使用連線,卻拿不到金鑰。
  • 你的權限會延續下去,而且還能進一步收緊:透過 OAuth 建立的連線會保留你在已連接服務中的存取權限。你看不到的內容,你的 AI 代理程式也看不到。
  • 每個網頁都被視為陌生人:我們為自家的代理式瀏覽器 Comet 打造了 BrowseSafe,因為我們測試過的工具在實際使用中無法滿足需求。瀏覽器會掃描網頁及其他外部內容(包括電子郵件),偵測是否有提示詞注入。我們已將模型與資料集一併開源。
  • 我們監控 AI 代理程式及其執行所在的機器:Numbat 介於 AI 代理程式決定採取行動與工具實際執行之間。Numbat 會記錄各個受支援的程式設計 AI 代理程式的活動,並能在違反所設定政策的動作執行前加以阻擋。Bumblebee 會盤點筆電、伺服器與建置管線上的軟體套件,並標記已知的惡意套件。兩者皆為開源軟體。
  • 模型供應商不會保留你的資料:我們與第三方 LLM 供應商簽訂了零資料保留協議。企業管理員也可以將 Perplexity 本身的資料保留期限設為最短 24 小時。

我們主動打造 Numbat,原因正如 Polley 的一句話總結:「你給 AI 代理程式的自主權越多,風險就越大。」

LLM 安全常見問題

最安全的 LLM 是哪一個?

沒有任何 LLM 能單憑自身讓應用程式變得安全——模型仍可能把應該閱讀的內容誤認為應該遵循的指令。在標準測試中看似強大的防禦措施,也可能在壓力下潰敗。

更好的問題是:針對你的使用情境,哪一種設定方式最安全。這代表要限制權限、讓憑證遠離模型、對高風險動作進行人工核准,並由熟悉你防禦措施的人員進行測試。

什麼是 LLM 漏洞?

LLM 漏洞是指讓 AI 系統可能遭到欺騙、洩漏資料或造成損害的弱點,無論起因是攻擊者還是系統本身的錯誤。

十大主要風險分別是:提示詞注入、敏感資訊揭露、過度代理權、供應鏈、資料與模型投毒、無限制資源耗用、錯誤資訊、隱藏上下文暴露、向量與嵌入弱點,以及不當輸出處理。

私有 LLM 安全嗎?

在某些方面是較安全的選擇,但並非預設就安全。如果你在自己的基礎架構或雲端環境中執行模型,就能對資料處理擁有更多掌控權。但沒有任何自動機制能防止提示詞注入、過度代理權、投毒或錯誤資訊。

自行託管時,你也必須為下載的模型負責,包括其供應鏈風險及所需的基礎架構。