在數字化轉型的浪潮中,大語言模型(以下統稱LLM)已成為企業技術棧中不可或缺的智能組件,這種強大的AI技術同時也帶來了前所未有的安全挑戰。它輸出的內容如同雙面刃,一面閃耀著效率與創新的光芒,另一面卻隱藏著"幻覺"與不確定性的風險。此類"高度自信的錯誤"比明顯謬誤更危險,因為它們偽裝成可靠信息,傳統信任模型在面對高度智能化的AI系統輸出時,正面臨著嚴峻的適應性挑戰和局限性。
LLM 輸出處理風險
想象一下,你剛剛聘請了一位博學多才的新員工。他懂多國語言,能寫代碼,能分析數據,還能寫詩作畫。聽起來完美,對吧?但這位新員工有個問題:他時不時會"口無遮攔",可能會不經思考地泄露公司機密,或者在公共場合說些不恰當的話。這位"員工"就是你的 LLM,而它的"口誤"可能會讓你的企業付出慘重代價。OWASP 在其 LLM 應用程序 Top 10 風險榜單上,將不安全的輸出處理列為關鍵漏洞。這一漏洞源于LLM生成的輸出內容傳遞到下游組件或者呈現給用戶之前,未對其進行充分驗證、清洗和處理。當 LLM 生成的內容未經適當審查就被直接使用時,用戶實際上是在玩一場危險的俄羅斯輪盤賭。這些"口誤"可能會變成:
跨站腳本攻擊(XSS):就像是 LLM不小心在你的網站上涂鴉了惡意代碼,訪客一點擊就被感染。
幻覺(Hallucination):想象 LLM在周一準確地完成一份季度報告,卻在周二突然熱情洋溢地宣布"地球是平的",還引經據典作為佐證。
服務器端請求偽造(SSRF):LLM誤把內部網絡的地圖分享給了外部訪客。
權限提升:LLM好心地給普通用戶提供了管理員指令的"備忘錄"。
遠程代碼執行:最危險的"口誤",LLM不經意間為黑客提供了一把打開你服務器的萬能鑰匙。
這些漏洞往往源于一個看似合理但實際危險的假設:“LLM生成的內容應該是安全的”,開發人員經常忽視強大清洗機制的必要性,或者高估了模型的"自我約束"能力開發人員經常忽視強大清洗機制的必要性,或者高估了模型的"自我約束"能力。常見的不安全輸出漏洞與傳統Web安全有較多重疊之處,下面結合具體案例進行分析。
解碼AI的危險獨白
"善變的演員":提示注入與輸入操縱
提示注入是一種數字版的"社會工程學",攻擊者通過巧妙設計輸入內容,讓 LLM"越獄"——突破其原本設定的安全邊界。這就像是黑客找到了 AI 的"后門密碼",能讓它執行原本不允許的操作。雖然現代 LLM 通常會抵抗這種簡單的嘗試,但更復雜的技術已經被開發出來。研究表明,某些特定的"對抗性后綴"幾乎可以百分百地繞過主流 LLM 的安全機制,就像是找到了安全系統的"萬能鑰匙"。
風險因素包括:
輸入驗證的"篩子":許多系統對用戶輸入的驗證就像是一個漏洞百出的篩子,無法攔截精心設計的惡意提示。
上下文管理的"健忘癥":LLM 在處理長對話時容易"忘記"早期設定的安全約束,給了攻擊者可乘之機。
過度依賴 LLM 的"自律":僅僅依靠模型內置的安全機制,就像是把家門鑰匙藏在門墊下,看似方便實則危險。
"貪吃的信息收集者":過度依賴外部數據和 RAG
現代 LLM 越來越依賴 RAG(檢索增強生成)技術來提供最新、最準確的信息。然而,這種依賴也帶來了新的風險維度。如果 RAG 系統從不可靠的來源檢索信息,或者被"數據投毒"攻擊所影響,LLM 可能會自信滿滿地輸出錯誤或有害信息,就像是一個被錯誤資料誤導的專家。
風險因素包括:
數據來源的"不設防":對外部數據源缺乏足夠的審查,就像是在不檢查食材來源的情況下制作食物。
實時驗證的"缺席":沒有實時驗證機制來確認數據的準確性和安全性,等同于在沒有質檢的情況下生產產品。
成的"松散接口":檢索系統和 LLM 之間的集成不良,就像是兩個部門之間缺乏有效溝通,導致重要信息被錯誤傳達。
ConfusedPilot就是一種專門針對廣泛使用RAG系統的攻擊手法,攻擊者只需要具備向組織的文檔庫添加文件的基本權限,就能通過在文檔中嵌入精心設計的"指令字符串",操縱AI的響應內容。與傳統安全中的SQL注入類似,文檔中的特定字符串被AI系統錯誤地解讀為"指令",進而導致響應可能被錯誤地歸因于合法來源,增加其可信度。這種攻擊的危害不僅在于它能改變AI的輸出,更在于它能夠繞過現有的大多數安全措施,因為從系統角度看,這些文檔是"合法"添加的。
夢游的數字大腦:AI幻覺與不確定性解析
大模型安全語義下的幻覺從技術分類角度可以分為兩種類型:-
上下文內幻覺:指模型輸出與提供給它的上下文或源內容不一致。例如,當你向模型提供一篇文章并要求其總結時,如果總結中包含文章中不存在的內容,就屬于上下文內幻覺。這類幻覺相對容易檢測,因為我們可以直接將輸出與給定的上下文進行比對。
-
外在幻覺:指模型輸出與其預訓練數據集中的世界知識不一致。這類幻覺更難檢測,因為預訓練數據集規模龐大,無法為每次生成都進行完整的知識沖突檢查。如果將預訓練數據看作是"世界知識的象征",這本質上是在要求模型輸出必須是事實性的,可以通過外部權威知識源驗證。
在準確率要求非常高的場景下幻覺是不可接受的,比如金融領域、醫療領域、能源領域等。幻覺現象背后隱藏著一個更深層次的技術問題——模型不確定性。從本質上講,LLM是一個龐大的概率預測系統,它的任務是:給定前面的文字,預測下一個最可能出現的詞。
雖然幻覺問題可能無法完全消除,目前已開發出多種有效的緩解策略來對抗幻覺:
檢索增強生成(RAG):將LLM與外部知識庫結合,使模型能夠"查閱"事實而非僅依賴參數記憶。
** 不確定性顯式量化:**訓練模型輸出置信度分數,并在低置信度時主動表達不確定性,或者同時給出多個LLM的結果與置信度分數給終端用戶。
** 對抗訓練**:通過故意訓練模型識別和拒絕生成虛假信息,增強其區分事實與非事實的能力。
案例研究
案例1: Vanna.AI 命令執行漏洞
Vanna.AI 是一款開源AI工具,在Github上擁有13.9K stars,旨在簡化與 SQL 數據庫的交互。通過自然語言處理技術,用戶可以用日常語言提問,Vanna.AI 會自動將這些問題轉換為 SQL 查詢,并返回相應的數據結果。很容易聯想到,將LLM直接聯入SQL查詢可能會導致嚴重的SQL注入問題,而且Vanna提供了數據可視化功能,在執行SQL查詢后,Vanna會將結果通過Python 的圖形庫Plotly以圖表形式呈現結果。Plotly代碼是由LLM Prompt與代碼評估動態生成的,通過類似SQL注入的技巧可以繞過系統的預定義約束,從而實現完整的 RCE。
下載項目,跟蹤到ask方法,可以看到如果visualize被設置為True,則plotly_code字符串將通過 generate_plotly_code 方法生成,該方法會調用 LLM 以生成有效的 Plotly 代碼,如下所示:
submit_prompt函數負責通過包含用戶輸入的Prompt來生成代碼,然后將代碼傳遞到Python的exec方法中,該方法將執行由提示生成的動態 Python 代碼。
復雜問題簡單化,主要能控制傳入參數并正確格式化到generate_plotly_code中,便能實現RCE。
案例2: Manus 越獄漏洞
近期,AI 領域出現一款備受矚目的智能體——Manus。它被認為是 Deepseek 之后又一匹“當紅炸子雞”,迅速在技術社區中引起廣泛關注,其邀請碼甚至被炒十萬元。盡管該系統在技術實現上展現了不少創新,但其安全設計卻暴露出了嚴重的問題。近期,有用戶報告稱,通過簡單的指令請求,就能獲取Manus系統的內部工作機制、事件流處理方式、代理循環邏輯等敏感信息。
- 獲取難度極低:相比于其他系統,獲取Manus的系統提示不需要復雜的"越獄"技術,只需通過自然語言詢問系統其內部結構和工作方式。這表明系統對提示注入攻擊幾乎沒有任何防御措施。
- 泄露信息的完整性:泄露的信息包含了完整的系統架構、工具使用邏輯、文件處理規則、瀏覽器交互方式以及事件處理流程。這些信息足以讓攻擊者理解系統的決策流程和限制條件。
- 模塊化架構暴露:泄露顯示Manus使用了一個包含事件流(Event Stream)、計劃者(Planner)、知識(Knowledge)和數據源(Datasource)等多個模塊的架構,這種設計本身很先進,但當其細節被暴露后,卻成為了攻擊者的路線圖。
這類信息泄露極大地降低了系統的安全性,因為攻擊者可以基于這些信息設計針對性的提示注入,從而更容易繞過系統的安全限制。
案例3: ChatGPT 混淆代理漏洞
隨著LLM應用生態的快速發展,各種插件大大擴展了AI助手的能力邊界。然而,強大的功能擴展也帶來了新的安全風險維度。2023年6月,安全研究人員揭示了ChatGPT插件系統中的一個嚴重安全漏洞,這一漏洞允許攻擊者通過惡意網站竊取用戶的私有代碼,甚至操縱用戶的Github倉庫權限。這一安全事件的核心問題是所謂的"混淆代理"(Confused Deputy)問題,這是一種特殊類型的權限提升漏洞。在LLM插件生態系統中,插件可以作為用戶的代理,訪問用戶授權的第三方服務(如Github、Google Drive等),而插件在處理請求時缺乏有效的身份驗證和權限控制,從而可能被攻擊者利用執行未授權操作。
插件獲取的 OAuth 令牌在整個會話期間保持有效,沒有基于操作類型的動態校驗,僅驗證用戶初始授權,而不驗證每個后續操作是否符合用戶意圖。而插件 API 調用基于 HTTP,缺乏操作連續性驗證,無法檢測到異常操作序列,LLM平臺本身缺少輸入源驗證機制,允許非用戶輸入的內容觸發與用戶輸入相同的執行路徑。這種多層次的技術缺陷組合,最終導致攻擊者能夠通過注入惡意提示,利用用戶已授權的 OAuth 插件執行未經用戶確認的高權限操作,形成了一個完整的混淆代理漏洞利用鏈。
"零信任":AI時代的新安全范式
現代網絡安全架構已經從傳統的邊界防御模型轉向了零信任網絡訪問(ZTNA)模型。這一理念在LLM應用安全中同樣適用,但需要進一步擴展為**雙向零信任原則**:即對輸入和輸出實施同等嚴格的驗證機制。這種方法論要求在整個LLM交互流程中實施持續性認證、最小權限原則和多因素驗證。在AI技術的浪潮中,安全問題既不應被夸大為末日威脅,也不能被低估為小概率事件。通過建立健全的零信任機制,企業可以釋放LLM的創新潛力,同時將風險控制在可接受范圍內。
Reference
●https://confusedpilot.info/ConfusedPilot_Site.pdf●https://learn.microsoft.com/en-us/copilot/microsoft-365/microsoft-365-copilot-ai-security
●https://genai.owasp.org/resource/owasp-top-10-for-llm-applications-2025/
●https://www.symmetry-systems.com/blog/confused-pilot-attack/
●https://arxiv.org/html/2408.04870v2
●https://jfrog.com/blog/prompt-injection-attack-code-execution-in-vanna-ai-cve-2024-5565/#vanna-ai-cve-2024-5565
●https://embracethered.com/blog/posts/2023/chatgpt-plugin-vulns-chat-with-code/