Skip to main content
RespondAgent 根據 AnalyzeAgent 產生的 ThreatVerdict 執行防禦性動作。它實施嚴格的安全規則、分級的升級階梯,以及完整的回復支援。

回應模組

Guard 包含 3 個主動回應模組,加上通知和日誌記錄:

1. IP 封鎖器

在防火牆層級封鎖惡意來源 IP。
欄位詳細資訊
動作block_ip
macOSpfctl(Packet Filter)
Linuxiptables
Windowsnetsh advfirewall
預設持續時間1 小時
重複違規者持續時間24 小時
自動解封是,在設定的持續時間後

2. 處理程序終止器

終止惡意處理程序。
欄位詳細資訊
動作kill_process
方法先 SIGTERM,5 秒後 SIGKILL
自我保護無法終止 Panguard Guard 處理程序本身
跨平台使用原生作業系統處理程序管理 API

3. 檔案隔離

透過將可疑檔案移至隔離目錄來隔離它們。
欄位詳細資訊
動作isolate_file
方法將檔案移至隔離目錄,記錄 SHA-256 雜湊值
中繼資料保留原始路徑、時間戳、裁決和雜湊值
復原可透過動作清單從隔離區恢復檔案

信心門檻

RespondAgent 使用基於信心的決策:
信心範圍行為
>= autoRespond(預設 90%)自動執行動作,事後通知
>= notifyAndWait(預設 70%)透過 Chat 發送確認請求,等待人工核准
< notifyAndWait記錄事件並發送資訊性通知
學習模式下,無論信心值如何,所有事件僅記錄不主動回應。

安全規則

RespondAgent 強制執行無法覆蓋的硬性安全限制:

白名單 IP

這些 IP 永遠不會被封鎖,即使觸發了偵測:
127.0.0.1, ::1, localhost, 0.0.0.0
可透過設定新增額外的 IP。

受保護的處理程序

這些處理程序永遠不會被終止:
sshd, systemd, init, launchd, node, panguard-guard,
kernel, kthreadd, dockerd, containerd

受保護的帳戶

這些帳戶永遠不會被停用:
root, Administrator, SYSTEM, LocalSystem, admin

網路隔離門檻

網路隔離(封鎖來自某 IP 的所有流量)需要信心值 >= 95。這可以防止因激進但不確定的偵測而意外鎖定。

升級階梯

RespondAgent 實施漸進式升級:
條件動作
來源的首次違規套用正常門檻
同一目標 3+ 次違規自動回應門檻降低 10%
重複違規者(先前被封鎖)封鎖持續時間增至 24 小時
這意味著持續性的攻擊者面臨越來越積極的回應,而首次異常則被保守地對待。

動作持久化與回復

所有執行的動作都持久化至 JSONL 清單檔案:
/var/panguard-guard/action-manifest.jsonl
每個條目記錄:
欄位描述
timestamp動作執行的時間
action動作類型(block_ip、kill_process、isolate_file)
targetIP 位址、PID 或檔案路徑
verdict觸發該動作的完整 ThreatVerdict
reversible該動作是否可以回復
rollbackCmd撤銷該動作的命令

回復範例

動作回復
block_ip 203.0.113.50持續時間到期後移除防火牆規則
isolate_file /tmp/payload從隔離區恢復檔案至原始路徑
kill_process 5678不可回復(處理程序已終止)

跨平台命令執行

所有作業系統命令透過 execFile(而非 exec)執行,以防止 shell 注入:
平台IP 封鎖命令IP 解封命令
macOSpfctl 規則新增pfctl 規則移除
Linuxiptables -A INPUT -s <ip> -j DROPiptables -D INPUT -s <ip> -j DROP
Windowsnetsh advfirewall firewall add rulenetsh advfirewall firewall delete rule
RespondAgent 從不使用 shell: true 或基於字串的命令建構。所有參數都以陣列引數傳遞給 execFile,以防止命令注入漏洞。