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應用安全的關鍵實踐。通過系統的攻擊模擬和修復,組織可以在攻擊者利用漏洞前加固系統。