tool

Perplexity 開源 AI 安全利器 Numbat:即時監控並封鎖 AI Agent 異常行為

August 13, 2026
Updated Aug 13
2 min read
Perplexity 開源 AI 安全利器 Numbat:即時監控並封鎖 AI Agent 異常行為

透過 Numbat 掌握 AI 代理安全性:監控與偵測工具

隨著 AI 代理(AI Agents)接手更多高度自治的工作流程(例如自動編程、API 調用與環境操作),使用者開始擔憂這些軟體代理在端點自動執行惡意指令或越權存取敏感資料的潛在風險。在多模態與高權限代理普及的背景下,保持活動的完全透明度已成為端點安全的首要任務。

Perplexity 團隊開源的 Numbat 是一款專門為端點設計的 AI 代理安全防護與可見性(Visibility)監控工具。它就像是一台專為 AI 代理設計的安保鏡頭,協助安全團隊與開發人員進行實時監看、本地異常檢測、主動攔截以及事後取證重建。

圖片來源: GitHub - perplexityai/numbat: Visibility into AI agent activity on endpoints, with on-device detection, optional pre-action blocking, and forensic reconstruction. · GitHub

什麼是 Numbat?

Numbat 是一款專注於端點可見性(Endpoint Visibility)的輕量級安全監控工具。它的覆蓋範圍廣泛,能夠觀測與支持包括桌面應用、CLI 命令行工具、IDE 外掛(例如 Codex、Claude Code)以及各類代理閘道器(Gateway)。

Numbat 透過多種管道收集活動數據:

  • 本地鉤子(Local Hooks)與外掛
  • OTLP/HTTP 日誌匯出器(Log Exporters)
  • 磁碟留存的會話不活動歷史檔案(On-disk Session Artifacts)

這些分散且格式各異的代理活動數據會被統一規格化(Normalized)為標準事件模型(Unified Event Model),並由其核心的 CEL(Common Expression Language,通用表達式語言)規則引擎進行本機高效評估。所有判斷與檢測邏輯均在本地端點執行,絕不將敏感日誌上傳至外部雲端。

核心技術優化與功能解構

與傳統的靜態網絡過濾或進程監控相比,Numbat 具備以下核心技術優勢:

  • 實時監控與事件標準化(Structured NDJSON):透過主動安裝鉤子或接收 OTLP 日誌,Numbat 能實時將代理的各種高風險動作(例如網絡訪問、命令執行、文件寫入)捕捉並標準化。其輸出的日誌、發現(Findings)與執法決策,均採用結構化的**版本化 NDJSON(Newline Delimited JSON)**記錄,完全兼容企業級 SIEM 系統(如 Splunk、ELK)與日誌分析流水線。
  • 多步驟序列關聯檢測(Multi-step Sequence Rules):本地 CEL 引擎不只能做單一事件的特徵匹配,還支持複雜的狀態化多步驟序列規則。例如,它能關聯並識別出「代理在同一個會話中,先讀取了含敏感憑證的檔案,隨後發起網絡連接試圖外傳(如 chain.secret_read_then_egress 鏈路)」等複雜攻擊行為,大幅降低單一行為的誤報率。
  • 主動阻擋機制(Opt-in Pre-action Blocking):Numbat 預設採用安全無害的「監控模式」(Monitor-only)。但針對高風險場景,開發者可啟用「阻擋模式」(Enforce Mode)。當檢測到匹配 enforce: true 的自定義規則時,Numbat 會在代理將指令提交給操作系統或執行高風險 API 之前進行同步前置攔截(Pre-action Deny)
  • 離線取證重建(Forensic Reconstruction):即便未預先部署 Numbat 進行實時監聽,當安全事件發生時,Numbat 仍能自動掃描與解析磁碟中殘留的代理會話歷史遺留檔案(如日誌、緩存、操作歷史),在無需對代理程式進行任何代碼插樁(Instrumentation)的情況下,還原出完整的事件時間線(Session Timeline)。
  • 可移植案例包(Portable Case Bundles):為了方便安全響應人員進行調查,Numbat 支持將發現的威脅事件、相關日誌與上下文證據打包為「可移植案例包(Case Bundles)」,並自動生成包含 SHA-256 哈希值清單(Manifests) 的完整性驗證文件,確保取證鏈條(Chain of Custody)的安全且不可篡改。

開發者快速上手

Numbat 採用單一靜態二進位制(Single-binary)分發,無需 cgo 依賴,支援 macOS、Linux 和 Windows。

1. 安裝環境

開發者可以直接下載官方編譯好的 Release 版本(隨附 SHA-256 校驗和)。若想從源碼編譯,需確保系統中安裝了 Go 1.26.5 或更高版本

# 透過 Go 直接本機安裝
go install github.com/perplexityai/numbat/cmd/numbat@latest

# 或者克隆倉庫後編譯為靜態二進位文件
CGO_ENABLED=0 go build -trimpath -o numbat ./cmd/numbat

2. 唯讀資產盤點與安全掃描

在不對現有系統做出任何修改(不變更代理配置、不寫入系統鉤子)的前提下,可執行以下 read-only 命令:

# 自動探測當前系統中已安裝的 AI 代理清單
numbat agents

# 自動掃描當前硬碟中所有受支持代理的歷史殘留會話,進行威脅檢測
numbat scan

# 僅針對特定代理(例如 Codex)進行文件與會話掃描
numbat scan --agent codex

3. 部署實時監控與強制執法

若要對特定代理進行實時觀測(以 Codex 為例):

# 安裝 Codex 的實時監控鉤子,並將事件與決策導出至本地 NDJSON 檔案
numbat hook install --agent codex --emit all

# 檢查鉤子配置與運行狀態
numbat hook status --agent codex
  • 啟用主動攔截(Blocking):官方自帶的默認規則均為安全審計(Monitor-only)。若要強制攔截某一危險動作,您需將目標 YAML 規則複製到本地自定義目錄中,將版本號升級並將屬性改為 enforce: true,然後載入執行:
    # 驗證本地策略語法是否正確
    numbat rules check --rules-dir ./numbat-policy
    
    # 載入自定義規則目錄,並以 enforce 模式啟動實時攔截
    numbat hook install --agent codex --emit all --rules-dir ./numbat-policy --enforce
    

技術常見問答

問:Numbat 在監控時會導致敏感數據與商業機密泄露嗎? 答:不會。 為了徹底保護端點隱私,Numbat 內建了高可靠性的敏感信息遮罩與紅線過濾機制(Secret Redaction)。在標準日誌輸出(NDJSON 串流)中,模型永遠不會包含完整的原始文件內容或完整的對話轉錄副本。只有當安全人員在確認威脅後,手動選擇並授權(Opt-in)時,系統才會將原始證據打包到用於調查的「案例資料包(Case Bundle)」中。

問:主動阻擋(Pre-action Blocking)會對 AI 代理的日常業務造成干擾嗎? 答:主動阻擋默認是關閉的。 只有當開發者顯式安裝了配置為 enforce: true 的自定義規則(如限制 SSH 授權文件 authorized_keys 的非法寫入)時,才會觸發同步攔截。官方強烈建議,在將自定義規則集部署到生產環境前,應先在沙盒測試環境中充分驗證,以防誤攔截正常的業務代理指令。

問:編寫 Numbat 的自定義安全規則是否困難? 答:門檻非常低。 規則文件採用極具可讀性的 YAML 格式編寫,核心檢測邏輯使用標準的 CEL(Common Expression Language)表達式。您可以直接參考官方提供的內建規則目錄(Built-in rule catalog)作為模版,快速修改並派生出符合自身企業安全合規要求的安全策略。

結語

隨著自回歸代理、自主 Coding 代理(如 Claude Code)對開發環境讀寫權限的進一步擴大,端點安全屏障不容失守。Perplexity 的 Numbat 提供了一種非侵入式、隱私優先、且極具擴展性的監控手段。如果您經常使用 AI 輔助日常開發或操作本地環境,強烈建議將 Numbat 作為您 AI 工具鏈中必備的端點安全防線。

分享至:
Featured Partners

© 2026 Communeify. All rights reserved.