AI紅隊測試完全指南(附Garak教程)
本文詳細介紹了AI紅隊測試的概念、攻擊型別(如提示注入、敏感資訊洩露、過度授權)、評估框架(OWASP Top 10 for LLM)以及常用工具(Garak、PyRIT、DeepTeam等),並提供了使用Garak進行紅隊測試的實戰步驟。
今年早些時候,一個自主AI代理利用一個老舊的SQL隱碼攻擊漏洞突破了麥肯錫的內部AI平臺,無需憑證或人工指導,在不到兩小時內就接觸到了生產系統,暴露了數百萬條聊天訊息和數十萬份檔案。這一事件表明,AI安全已經發生改變,傳統的假設不再成立。
紅隊測試是指在自己的AI系統被外部攻擊者發現之前主動尋找漏洞。這一概念源於軍事領域,紅隊扮演攻擊者,藍隊扮演防禦者。對於大型語言模型(LLM),紅隊測試意味著向模型輸入最惡劣的提示,觀察其行為:是否洩露隱私?是否會同意本應拒絕的請求?能否操縱其超出設計範圍?與常規測試不同,紅隊測試檢查的是當有人積極嘗試破壞系統時會發生什麼。
紅隊測試透過將“不知道”轉變為“知道並已修復”來降低風險。測試人員主動攻擊自己的AI系統,一旦發現問題,不僅修復具體提示,還會修復根本原因,並在每次變更後重新測試,確保問題不會悄然重現。
OWASP Top 10 for LLM是組織常見AI安全風險的標準清單,包括提示注入、敏感資訊洩露、供應鏈安全、資料汙染、不當輸出處理、過度授權、系統提示洩露、向量和嵌入弱點、虛假資訊以及無限制消耗。其中,提示注入是最常見的攻擊型別,出現在近四分之三的審計AI部署中。
實際攻擊型別包括:
- 提示注入:模型無法區分指令和資料,攻擊者的文本被視為命令。分為直接提示注入、間接提示注入和越獄三類。
- 敏感資訊洩露:模型洩露不應公開的資料,包括系統提示、訓練資料中的真實姓名和郵箱,以及因不安全的端點導致的合法訪問洩露。麥肯錫事件即是此類。
- 過度授權:模型或代理擁有超出任務所需的工具、許可權或自主權,導致功能過多、許可權過大或自主性過高。
紅隊測試的方法包括:領域特定測試(針對應用風險)、利用LLM生成攻擊提示、開放式紅隊測試(無清單自由嘗試)、測試新模態(影像、音訊中的隱藏指令)以及眾包紅隊測試(邀請外部專家)。
常用工具包括:
- Garak(NVIDIA):內建100多個攻擊探測,覆蓋編碼技巧、訓練資料提取等,是最快的入門工具。
- PyRIT(微軟):適用於複雜多輪攻擊,功能更強大。
- DeepTeam(Confident AI):對映OWASP Top 10,輸出可作合規報告,適合需要文件的場景。
- Promptfoo(原獨立開源,2026年3月被OpenAI收購):通用測試框架,支援迴歸測試和紅隊測試。
- Giskard:覆蓋LLM安全和傳統ML測試,RAGET工具專為RAG應用設計。
紅隊測試的實際工作流程包括:選擇攻擊類別和技術,由工具利用LLM生成攻擊提示;向模型傳送攻擊並記錄響應;評估結果,標記成功攻擊;修復漏洞並重新測試。
總之,AI紅隊測試是保障LLM應用安全的關鍵實踐。透過系統的攻擊模擬和修復,組織可以在攻擊者利用漏洞前加固系統。