manuelschipper/nah
a guard that blocks catastrophic agent actions
解決的問題
nah 防止 AI 編碼代理執行災難性操作——例如刪除整個檔案系統、竊取密鑰或清除 Git 歷史記錄——透過在執行前攔截工具呼叫來實現。它作為安全防護層,阻止可證明危險的命令,同時將非危險呼叫交由代理的現有執行時權限處理。
工作原理
nah 以靜態 Rust 二進位檔形式撰寫,不使用 LLM 做決策,而是確定性地運作。它將工具呼叫解析為「類型化效果」(例如檔案讀取、網路請求、程序行為),並與防護規則庫進行比對。
如果某條防護規則檢測到明確違規,將返回 阻斷 判定,告知代理該操作被拒絕的原因。若無規則被觸發,則返回 委派 判定,允許代理自身的沙箱或審批流程處理請求。使用者還可使用任意語言建構自訂擴充,新增專案特定的安全規則。
適用對象
使用 AI 編碼代理(如 Claude Code、Cursor 或 Devin)的開發者,希望獲得自動化的保護層,防止意外或惡意的破壞性命令執行。
亮點
- 確定性安全:使用 Rust 二進位檔而非 LLM 判定,確保微秒級回應時間與一致結果。
- 豐富的防護規則庫:內建 46 個防護規則,涵蓋執行劫持、密鑰竊取、檔案系統破壞和基礎設施拆除等場景。
- 廣泛整合:支援多種代理執行時,包括 Claude Code、Cursor 和 Copilot。
- fontenc-自我保護:阻止代理試圖停用 nah 或修改其設定。
- 可自訂:支援透過 TUI 或 CLI 切換特定防護規則,並可建立自訂防護程式。
相關
- 專案
- 專案
- 專案
- 專案
- 專案