dsh-alpha-guard:DeepSeek Harness 的策略層護欄

前言

在 DeepSeek Harness(DSH)裏,智能體會通過讀文件、跑 Shell、裝包、拉網頁等工具完成任務。這些能力一旦誤用或被提示注入牽着走,就可能讀到 SSH 私鑰、改系統目錄、或自作主張執行安裝。系統殺軟和沙箱管的是整機與進程,並不在「每一次工具調用執行前」做策略判斷。下面介紹的 dsh-alpha-guard(維護者 xiangshu2026,GitHub 分類 admin-security)是掛在 DSH 上的一層策略護欄:在工具真正執行前檢查讀路徑、寫路徑、命令、子代理權限、安裝動作,並對命中的可執行文件做靜態特徵打分。它定位是第一道減速帶,不是防病毒,也不能替代 Defender 或容器隔離。

這是什麼

插件全名 dsh-alpha-guard,版本 1.0.0(MIT 許可證),要求 Node.js >= 20。官方簡介概括爲:讀白名單、敏感路徑拒絕、危險命令攔截、子代理隔離、安裝審批(2 分鐘單次放行)與惡意文件靜態審計——first line of defense, not an antivirus。

策略配置與審計數據默認落在用戶目錄 %USERPROFILE%\.dsh\alpha-guard\(Linux/macOS 下爲 $HOME/.dsh/alpha-guard/)。插件以當前 DSH 進程權限運行;安裝前建議自行查看倉庫源碼與 LICENSE。社區目錄頁:https://www.skillhub.cn/plugins/xiangshu2026/dsh-alpha-guard ,源碼:https://github.com/xiangshu2026/dsh-alpha-guard 。

核心能力(執行前檢查)

下列能力均在 README 中逐項說明「能攔什麼」與「攔不住什麼」;預期應按「能攔一半」來理解,勿當作萬無一失。

讀取與敏感路徑

對 read / read_image / glob / grep:僅允許訪問配置中的 read.allowRoots 以及當前會話工作區。額外維護敏感區拒絕列表(如 .ssh、.aws、瀏覽器 Login Data、DSH 記憶與會話日誌、其他用戶目錄、UNC 共享等)。能攔住 AI 直接讀未加白目錄或明文敏感路徑;攔不住在 pwsh / run_code 裏用變量或編碼在運行時拼出的路徑。

寫入保護

禁止向系統目錄、憑據區、防護配置自身、DSH 安裝目錄、其他用戶目錄等寫入或刪除。能攔住工具層直接執行的刪改系統路徑;攔不住已在運行的腳本內部行爲。

危險命令

攔截格式化/分區、改引導、關機重啓、刪根、禁用 Defender/防火牆、加管理員、導出 SAM/LSASS、下載即執行、-EncodedCommand 等明文危險模式。攔不住 Base64 經第三方解碼執行或從文件讀入再執行的鏈路。

安裝審批

系統包管理器、Windows 安裝包、DSH 插件安裝、全局 npm/pip、下載可執行文件等默認拒絕,需主人手動放行(見下文配套腳本)。子代理不能使用安裝放行許可。

子代理隔離

子代理/隊友僅可讀寫「工作區 + 臨時目錄」,並禁用 memory、dtodo、de_channel_send 及再嵌套子代理。

外發審計

對 web_fetch / web_search / bcdp_navigate / de_channel_send 記審計(不阻斷)。web_fetch 禁止訪問 localhost、127.0.0.1 及內網 IP。

惡意文件靜態審計

當命令涉及磁盤上已存在的可執行文件時,只讀字節、不運行,按特徵組合打分;超過 malware.blockAt(默認 30)可攔截並移入隔離區(改 .bin 並設禁止執行 ACL)。能攔特徵明顯的樣本;攔不住加殼/加密、新樣本;遠程桌面、錄屏、遊戲加速器等可能誤報。

兩個硬限制與 README 一致:臨時關防護與放行一次安裝均爲 2 分鐘窗口,且安裝放行僅一次有效,防止長期關防護或永久放行。

安裝與啓用

推薦通過 DSH 插件命令安裝(desktop profile):

dsh plugin --profile desktop add github:xiangshu2026/dsh-alpha-guard

也可克隆倉庫後從本地路徑添加(README 原文):

git clone https://github.com/xiangshu2026/dsh-alpha-guard.git
dsh plugin --profile desktop add ./dsh-alpha-guard

裝完後重啓一次 DSH(host 側爲 Node 模塊,需重啓加載)。啓動日誌出現 [alpha-guard] active; config=<路徑> 即表示生效。首次運行會在 %USERPROFILE%\.dsh\alpha-guard\config.json 生成默認配置;修改後下一次工具調用即生效,無需重啓。

工作目錄不在用戶主目錄下時,可用環境變量擴展讀白名單根:

setx DSH_GUARD_EXTRA_ROOTS "E:\work;D:\projects"

自測策略邏輯(不驗證真實環境安全性):

node test/selftest.mjs

全部通過會打印 ALL SELFTESTS PASSED(README 稱 92 個用例)。

配置要點

完整字段見倉庫內 config.example.json。常用項如下。

字段 說明
read.allowRoots 讀取白名單根目錄
read.denyPaths 永遠拒絕讀取(優先於白名單)
read.denyNamePatterns 按文件名拒絕
write.denyPaths 禁止寫入/刪除
commands.mode deny(默認)或 warn(只記不攔)
subagent.allowWeb false 時子代理斷網
malware.blockAt 靜態審計攔截閾值,默認 30
malware.notifyOnly true 僅告警不攔
enabled false 停用插件
failClosed 插件內部異常時是否拒絕(默認 false)

config.json 在寫入保護列表中,工具不能直接改;需手動編輯。installApproval.windowSeconds 可改放行窗口,默認 120 秒爲設計意圖。

典型用法:主人手動腳本與審計

以下腳本位於倉庫 scripts/,須主人本地雙擊或手動運行,模型無法調用。

  1. pause-guard-2min.cmd:臨時關閉防護 2 分鐘,到期自動恢復;期間讀白名單、敏感路徑、危險命令、安裝審批、惡意審計均失效。恢復後寫入 pause.log。
  2. approve-one-install.cmd:寫入 %USERPROFILE%\.dsh\alpha-guard\install-approval.json,120 秒內有效且僅用一次,再讓 AI 執行安裝。

審計日誌:%USERPROFILE%\.dsh\alpha-guard\audit.jsonl,每行 JSON 記錄時間、會話、工具、deny/warn、原因等;超過 5 MB 輪轉爲 audit.jsonl.1。可用 bin/audit-ledger.mjs 做行號+sha256 賬本(先 --sync 再 --verify)。

隔離區:%USERPROFILE%\.dsh\alpha-guard\quarantine\,可用 bin/quarantine-cli.mjs list 等管理(路徑以 README 爲準)。

適用場景與注意

適合:個人在本機跑 DSH,希望減少 AI 誤操作、並保留「嘗試過什麼」的審計;作爲多層防護中的第一層過濾。

不適合:企業或多用戶共用機器(不區分操作者)、受監管數據、指望擋住針對性攻擊或替代殺軟/合規認證的場景。

務必保持系統自帶 Defender 等防護開啓;真正隔離應使用獨立用戶、容器或虛擬機。插件不做實時文件監控、不查病毒庫、不攔截已運行進程;提示注入與編碼繞過在 README 中明確列爲限制。安裝插件前請閱讀倉庫 README「它不是什麼」一節,避免錯誤預期。

結尾

dsh-alpha-guard 的價值在於:在 DSH 工具鏈上增加一道淺層策略檢查與可查閱的審計,而不是提供 AV 級安全。目錄與詳情:https://www.skillhub.cn/plugins/xiangshu2026/dsh-alpha-guard ;源碼與 issue:https://github.com/xiangshu2026/dsh-alpha-guard 。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜