我掃描了AI智能體框架中具有破壞性/嚴重後果的操作,結果令人震驚
對25個AI智能體框架(23,476個文件)進行掃描,發現30個未經授權檢查即可由模型控制參數執行的嚴重後果操作,包括數據丟失、執行和出口操作。
一項最新研究對25個AI智能體框架中的23,476個文件進行了系統性掃描,重點尋找一種特定模式:模型可以到達的嚴重後果操作,其參數受模型控制,且路徑上沒有任何授權檢查。結果發現了30個這樣的操作,此外還有12個假陽性已在發佈前修復。
研究團隊開發了名為Actenon的掃描器,它可以檢測出類似以下的情況:一個工具函數(如purge_workspace)通過MCP裝飾器暴露,模型可以控制路徑參數,但沒有任何守衞檢查調用者是否有權限執行該操作。掃描結果顯示,最普遍的問題是網絡出口(15例),模型可以將數據發送到任意目的地;其次是文件寫入(7例)和shell執行(3例)。
該研究的核心洞見是:驗證不等於授權。許多AI智能體工具會檢查請求格式是否正確,但很少會在副作用實際發生的那一刻檢查當前調用者是否被允許執行此特定操作。這種區別在代碼審查中難以察覺,因為兩者看起來都像守衞。
為了確保可復現性,每個倉庫都通過提交哈希固定。研究還包含了5個非智能體的控制倉庫,其中未發現任何問題,驗證了掃描器的精度。儘管掃描結果有侷限性——例如無法覆蓋自定義智能體循環,也無法驗證經過加密綁定的授權——但研究團隊公開了所有方法和錯誤,包括最初81%的精確度以及後續改進。
掃描器本身無運行時依賴,無需上傳數據,可在本地運行。研究團隊強調,發現結果不等於漏洞,它僅僅表明在分析的路由徑上,一個模型控制的參數到達了嚴重後果操作,且沒有主導的授權檢查。真正的安全性還需要結合運行時檢查和外部可達性評估。
在初始運行中,掃描器的精確度為81%,63個發現中有12個是假陽性。團隊分析了三種失敗模式:Kubernetes規則匹配了搜索客户端、SQL規則捕捉了安全情況卻忽略了危險情況、以及遺漏了批量刪除調用。每個修復都包含永久迴歸測試,CI現在會確保所有發現都被處理。
掃描器目前覆蓋了MCP、LangChain和OpenAI的裝飾器,但無法處理自定義智能體循環或操作/觀察調度器。此外,對於攜帶簽名證明的加密綁定,靜態分析無法驗證。研究團隊建議,運行時檢查是必要的補充。
用户可以通過pipx run actenon-scan scan . 在本地運行掃描器,無需賬户或網絡調用。工具會清晰報告發現的行動類型和數量。