AI News HubLIVE
站內改寫1 分鐘閱讀

Show HN:我為OpenCode構建了一個靜態驗證器,用於阻止不安全的AI工具呼叫

一位開發者構建了一個名為Guardians的靜態形式驗證外掛,用於OpenCode,以防止AI在執行工具呼叫時產生安全漏洞。該外掛實現了路徑包含檢查、秘密汙點分析和安全自動機狀態機,有效攔截危險操作。

來源Hacker News AI作者: abj908

近日,開發者Albert Joseph釋出了一個名為Guardians的開源外掛,為OpenCode專案提供靜態形式驗證能力,旨在防止AI在執行工具呼叫時發生不安全行為。該外掛基於Erik Meijer在CACM上發表的論文“Guardians of the Agents”中的思想,實現了程式碼與資料分離、Z3路徑包含分析、秘密汙點分析以及安全自動機狀態機。

Guardians的工作原理是在OpenCode的AI迴圈中插入一個驗證步驟。當AI提出工具呼叫(如bash、read、edit、write)時,OpenCode會觸發一個鉤子,將請求傳送到本地的Guardians Python驗證守護程序。該守護程序使用Z3求解器進行路徑包含檢查,防止路徑遍歷攻擊(例如../../../../etc/passwd)。同時,它還能檢測秘密檔案(如.env、credentials.json、id_rsa)的讀取請求,並防止這些敏感資訊被寫入其他檔案或命令字串中。此外,安全自動機強制執行操作順序,例如在允許編輯檔案之前必須先執行檔案讀取或列表操作。

如果驗證失敗,工具執行將被中止,並將違規資訊反饋給AI,使得AI可以調整其行為。如果驗證透過,工具正常執行。這樣的設計可以顯著增強AI工具呼叫的安全性,特別適合需要控制檔案系統訪問的自動化場景。

安裝過程相對簡單:使用者需要在opencode.json中註冊外掛,然後克隆專案並啟動Python驗證側車守護程序。該專案以MIT許可證開源,驗證核心依賴於上游的Guardians倉庫作為git子模組。

該外掛的推出,為OpenCode使用者提供了一道有效的安全防線,有望在AI驅動的自動化任務中減少誤操作和惡意攻擊的風險。