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驅動的自動化任務中減少誤操作和惡意攻擊的風險。