A

agent-guard

展示 HN:一個在執行前阻止 AI 代理執行破壞性命令的保護程式

訪問官網
依共同標籤和關鍵字推薦Leviathheadless-terminalToolbay Stack
show-hnagentaiai assistantautomation

工具概覽

agent-guard 是面向編碼智慧體的 shell 鉤子,在破壞性命令執行之前將其攔截。它被描述為一個約 60 行的 shell 鉤子,用於阻止無法撤銷的命令。它在智慧體提出的每條 shell 命令執行前執行,以退出碼 2 表示拒絕,並把原因寫入 stderr;智慧體 CLI 會把 stderr 反饋回迴圈中,使智慧體不再重試,而是把該命令交給人處理。它可配合 Claude Code 的 PreToolUse 鉤子使用,也適用於任何在工具呼叫前執行 shell 鉤子並遵循其退出碼的智慧體 CLI。它需要 bash、grep -E 和 python3。

被攔截的命令包括 git reset --hard、rm -rf、git clean -f/-x、git checkout .、git filter-branch、對 main/master/production 的強制推送、DROP TABLE、TRUNCATE、FLUSHALL、aws delete-* / terminate-*、kubectl delete、terraform destroy、docker … prune、chmod 777、curl … | sh,以及對 /dev/sd* 的原始寫入。規則集中在指令碼頂部的一個數組中,以 label@@regex 成對形式存放。使用者可以編輯規則並新增測試用例,包括新模式不應攔截的無害命令。

該專案宣告,它能阻止一個自信的智慧體以明文提出不可逆命令,但無法阻止任何刻意規避它的行為,例如混淆的命令、通過 eval 執行的 base64 載荷、shell 指令碼或別名。它採用故障關閉策略:如果無法從鉤子載荷中讀出命令,就會攔截。它不能替代服務端分支保護、最小許可權憑據和備份。採用 MIT 許可證。

定價

目錄尚未確認完整價格方案,請至官網查看目前額度、限制及計費方式。

訪問官網

價格與限制可能變動,請以官網為準,並確認幣別、付款週期、最低席位數和用量上限。

應用場景

  • 團隊用 agent-guard 阻止編碼智慧體執行無法撤銷的命令。
  • 團隊用 agent-guard 拒絕提出的 shell 命令,並把原因返回給智慧體迴圈。
  • 團隊用 agent-guard 阻止對 main、master 或 production 分支的強制推送。
  • 團隊用 agent-guard 阻止 DROP TABLE、TRUNCATE 和 FLUSHALL 等破壞性資料庫命令。
  • 團隊用 agent-guard 阻止 aws delete/terminate、kubectl delete 和 terraform destroy 等雲與基礎設施破壞性命令。
  • 團隊用 agent-guard 新增自定義 label@@regex 規則,並用無害命令測試它們。
  • 團隊用 agent-guard 在無法讀取鉤子載荷時故障關閉。
  • 團隊將 agent-guard 與服務端分支保護、最小許可權憑據和備份配合使用。

功能特色

在代理執行前檢查命令

攔截破壞性 Shell 命令

拒絕時返回退出碼 2

通過標準錯誤輸出攔截原因

將拒絕原因反饋給代理

可在瀏覽器中測試命令

規則在本地執行且無需依賴

使用者評論

還沒有評論,來分享你的使用體驗吧

相關榜單與專題