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

Cerberus – AI代理工具調用的本地防火牆

Cerberus是一個本地優先的安全網關,攔截並風險評分AI編碼代理(如Claude Code、Codex、Cursor和Cline)的工具調用,防止秘密泄露、危險命令和提示注入攻擊。它完全在用户機器上運行,無需外部API。

來源Hacker News AI作者: cerberussec

Cerberus是一個本地優先的安全網關,專為自主AI編碼代理設計,如Claude Code、Codex、Cursor和Cline。它位於代理和你的機器之間,在執行前攔截每一次工具調用,通過四個信號進行風險評分,然後決定允許、審計、請求人工批准或阻止——所有這些都在本地進行,無需外部API,數據不會離開你的設備。

解決的問題

自主編碼代理以機器速度代表你執行shell命令、編輯文件和發起網絡調用,通常無需人工監督。一個錯誤的步驟(如rm -rf、意外的git push、泄露的.env文件或欺騙代理竊取秘密的惡意README)可能導致嚴重後果,而過程中沒有人為干預。Cerberus在工具邊界上設置了檢查點,即代理實際執行操作的環節。

工作原理

Cerberus的流程為:PreToolUse → 攔截 → 策略+行為+內容+注入 → 風險引擎 → 允許/審計/請求人工批准/阻止。PostToolUse則用於檢查秘密和注入檢測,更新會話污染狀態。四個確定性信號聚合為一個加權風險分數,並設有絕對禁止無法覆蓋的硬性下限。

防護範圍

  • 秘密泄露:檢測加載到上下文中的秘密,然後內容匹配出站負載;攔截實際攜帶密鑰的調用(包括原始、base64、hex、URL編碼),並記錄來源(如.env:4 · sha256:… · 97%),但從不記錄秘密本身。
  • 權限過度:每個調用都經過檢查;未知工具默認拒絕;敏感路徑(~/.ssh、~/.aws、憑據、/etc/passwd)被攔截;破壞性命令(rm -rf、Remove-Item -Recurse、chmod 777、kill -9)被阻止或暫緩。
  • 危險出站:基於目的地的策略:可信主機(註冊表、GitHub、OpenAI/Anthropic)自動允許;粘貼站點、webhook捕獲器、原始IP目的地被暫緩。
  • 工具濫用:檢測失控循環和工具調用速率/重複。
  • 提示注入:檢測工具結果中的注入,並攔截下一個出站調用(啓發式分類器;可選本地DeBERTa模型)。它看到的是工具調用,而非LLM提示,因此捕獲的是注入的利用(出站),而非注入本身。

主要特性

  • 終端優先審批:被暫緩的調用會顯示在代理的原生權限提示中(Claude Code/Cursor),或通過cerberus approve/本地儀表盤處理。
  • 取證儀表盤:每個會話的時間線、風險因素細分以及回放功能,逐步展示會話風險如何累積。
  • 多代理支持:一個適配器層服務Claude Code、Codex、Cursor和Cline。
  • 策略即數據:規則和風險權重可通過YAML編輯,無需修改代碼。
  • 本地優先:綁定到127.0.0.1,無外部API,無遙測;秘密值永遠不會寫入磁盤或日誌。

快速開始

全局安裝:npm i -g @cerberussec/core,然後運行cerberus init將Cerberus接入代理(支持Claude Code、Codex、Cursor、Cline)。啓動網關和儀表盤:cerberus engine,然後打開http://127.0.0.1:9000/。使用代理如常——工具調用現在通過Cerberus路由。默認情況下,被暫緩的調用會通過Claude Code的原生權限提示獲得批准,無需離開會話。

架構

PreToolUse鈎子 → /intercept是唯一的硬性執行點(允許/拒絕/請求批准;或請求人工批准時保持套接字開放直到決定)。PostToolUse鈎子 → /inspect是隻讀的:更新會話污染狀態,以便下一個動作在完整上下文中被判斷。引擎核心與代理無關,只有適配器層(--agent)因代理而異。

定位與侷限

Cerberus是工具邊界上的運行時網關,最強項是秘密泄露防護和權限檢查點。由於它看到的是工具調用(而非LLM提示),因此捕獲的是提示注入的利用,而非注入本身;它不覆蓋數據管道/RAG投毒。秘密匹配具有高置信度但非絕對(新穎的秘密格式、跨調用編碼)。堅持誠實默認,不做虛假保證。

本地優先與許可證

無外部API、無API密鑰、無數據離開機器。可選的注入模型(@cerberussec/injection-model,基於ProtectAI DeBERTa,Apache-2.0)可升級內置啓發式分類器。核心是開源清潔的(Apache/MIT兼容依賴);Meta Prompt-Guard因Llama許可證被有意排除。