AI News HubLIVE
站内改写2 分鐘閱讀

阻止AI代理通過自身內存被武器化(OWASP)

OWASP發佈了Agent Memory Guard,這是一個開源運行時防禦層,可防止AI代理內存中毒攻擊。它介於代理和內存存儲之間,通過一系列檢測器和YAML策略監控讀寫操作。基準測試顯示召回率92.5%,精確率100%,零誤報,中位延遲59微秒。

來源Hacker News AI作者: vgudur297

2026年6月1日,OWASP發佈了Agent Memory Guard,這是一個開源運行時防禦層,旨在防止AI代理內存中毒攻擊。AI代理在會話之間保持記憶,包括對話歷史、向量存儲、草稿板和RAG索引。攻擊者可以在這些存儲中植入惡意文本,從而覆蓋代理指令、提取用户數據或操縱未來的工具調用,且效果會跨會話持續。

Agent Memory Guard作為代理與其內存存儲之間的中間層,通過一系列檢測器和YAML策略監控每一次讀寫操作。它包含五種核心檢測類別:SHA-256基線識別不可變鍵的篡改;內置檢測器查找提示注入標記、秘密和PII泄露、受保護鍵修改以及大小異常。YAML策略將每個發現映射為允許、編輯、隔離或阻止等操作。每個決策都會生成結構化的SecurityEvent,並且時間點快照允許操作者將內存回滾到已知良好狀態。該工具還提供了LangChain的集成聊天曆史類和用於篩選模型輸入、輸出及工具輸出的中間件包。

基準測試在五個檢測器上運行了55個測試用例,包括40個攻擊載荷(覆蓋四類)和15個良性樣本。召回率達到92.5%,精確率100%,誤報率為零,中位延遲僅59微秒。提示注入和受保護鍵篡改的檢出率均為100%,敏感數據泄露為83%,大小異常為80%。混淆矩陣顯示37個真陽性、3個假陰性、零假陽性。

項目創建者Vaishnavi Gudur向Help Net Security透露,敏感數據類別的兩個漏報是由於API令牌長度略超出固定長度正則表達式模式:一個GitHub個人訪問令牌在ghp_前綴後有37個字符(檢測器預期36個),一個Google API密鑰在AIza前綴後有38個字符(預期35個)。泄露檢測器使用固定長度量詞,這是為了優先保證精確率並減少隨機字母數字字符串的誤報,但代價是在提供商擴展令牌格式時失效。第三個漏報是一個嵌套JSON結構序列化為58,913字節,剛好低於64KB閾值。Gudur表示,更高召回率的正則表達式變體和自適應閾值校準計劃在v0.3.0中推出。

由於代碼開源且YAML策略可見,攻擊者可以讀取規則。但受保護鍵檢查基於鍵路徑,瞭解規則也無法繞過;SHA-256完整性會對任何篡改產生確定性不匹配。敏感數據匹配更易暴露,因為base64編碼、字符拆分或同形字可以繞過缺乏歸一化的檢測器。計劃中的自適應規避測試將增加基於已知規則的規避感知載荷集。防禦方面,v0.4.0將添加基於語義特徵的ML異常檢測,v0.3.0將添加自定義檢測器的插件接口,這些可避開公開YAML。

Gudur表示,GitHub Copilot用於測試設置、CI/CD配置和pyproject.toml文件等樣板代碼,以及正則表達式草稿和README部分。檢測器管道架構、策略引擎分離、MemoryStore協議、快照和回滾機制以及源類來源系統均針對OWASP ASI06威脅模型進行人工設計。40個基準測試載荷也由人工整理。她強調,智力貢獻在於識別攻擊面、設計防禦並針對精心策劃的對抗語料庫進行驗證,而使用Copilot編寫樣板是標準實踐。

OWASP Agent Memory Guard已在GitHub上免費提供。