在 DSH(DeepSeek Harness)環境中,Agent 通常具備對本地文件系統的讀寫權限。當需要操作敏感路徑(如密鑰、配置文件或私有數據)時,單純依靠提示詞無法保證安全。dsh-vault-wall 插件通過攔截層機制,讓 Agent 在面對特定路徑時無法感知文件存在,或直接拒絕訪問,或在訪問前通過人工審批。
插件概況¶
這是一個運行在 DSH 宿主上的客戶端插件,由 lxwallac 維護,採用 MIT 許可證。
- 核心定位:爲 DSH 的 agent 提供路徑隔離能力,使其感知不到、無法操作指定敏感路徑。
- 依賴要求:需要 DSH 宿主環境(DSH Desktop 或官方源碼版
dsh),以及 Node.js >= 22.0.0。
核心功能¶
插件通過配置規則集對文件路徑進行分級管控,主要包含以下能力:
1. 三種防護模式¶
- 隱藏模式:命中規則的路徑對 Agent 僞裝爲不存在(not-found),連路徑名都不透露。
- 拒絕模式:直接報錯並註明該處受規則保護,Agent 會明確知道不應觸碰該區域。
- 詢問模式:命中後不直接拒絕,而是通過官方審批通道彈出確認框。Agent 會看到路徑、規則、工具及風險等級,只有人工點擊“允許”後才放行。若沒有審批通道或用戶拒絕,則轉爲明確拒絕。
2. 風險與驗證機制¶
- 工具風險評級:內置
low(只讀)、medium(寫入)、high(執行/不可逆)、unknown(未識別,默認從嚴)四個等級。 - 執行後驗證:每次調用結束後進行兩層覈對:
- 授權一致性:比對 guard 當時做出的決策,防止插件內部邏輯導致“判了拒絕卻執行成功”。
- 泄漏掃描:檢查結果中是否包含受保護路徑,按
redact(替換爲佔位符)、audit(僅留痕)或block(整條阻斷)處理。
- 循環糾正:同一 Agent 反覆命中同一規則時,拒絕文案會追加策略提示,防止無意義的重試。
- 自我防護:規則文件、審計日誌、歷史文件對當前 Agent 隱藏,防止 Agent 自行修改牆或查看審計。
3. 規則管理與運維¶
- 護欄評估:通過
/wall report統計攔截/放行次數、審批結果、bypass 情況及漏報風險。 - 規則體檢:通過
/wall lint檢測規則是否存在覆蓋過寬、工具名不可達、路徑重複等問題。 - 可回滾:通過
/wall history和/wall rollback管理規則修訂歷史,支持回滾操作。
安裝與啓用¶
本插件非獨立程序,必須安裝在 DSH 宿主環境中。
- 前置條件:
- 已安裝 DSH 宿主(DSH Desktop 或官方源碼版
dsh)。 - Node.js 版本 >= 22.0.0。
- 已安裝 DSH 宿主(DSH Desktop 或官方源碼版
- 安裝命令:
使用以下命令將插件添加到指定 profile:
dsh plugin --profile <profile> add dsh-vault-wall
若網絡環境不穩定(如鏡像不同步),建議下載 tgz 文件後安裝:
dsh plugin --profile <profile> add ./dsh-vault-wall-0.4.0.tgz
- 生效:
安裝完成後重啓 DSH,在設置頁的“保險區 Vault Wall”中配置規則。
典型用法與示例¶
規則配置¶
在設置頁以 JSON 編輯規則,可指定路徑、模式和參數:
{
"version": 1,
"rules": [
{
"id": "keys",
"mode": "hidden",
"paths": ["C:\\keys"]
},
{
"id": "archive-ro",
"mode": "deny",
"paths": ["C:\\archive"],
"tools": ["write", "edit", "bash"]
},
{
"id": "wallet-ask",
"mode": "ask",
"paths": ["C:\\wallet"],
"minRisk": "medium",
"remember": true,
"borrowTtlMs": 600000
}
]
}
命令行操作示例¶
在 DSH 會話中,可使用 /wall 子命令進行管理:
# 測試某路徑的判定結果(不消耗借出、不改狀態)
/wall test C:\work\repo\**\.env read
# 查看護欄評估報告
/wall report
# 檢查規則是否有誤
/wall lint
# 臨時借出(授權整棵目錄,默認 10 分鐘)
/wall borrow add C:\Users\you\secret-box
運行效果¶
- 隱藏模式:Agent 讀取密鑰會得到
Error: cannot read "C:\keys\id_ed25519": not found。 - 拒絕模式:Agent 刪除歸檔目錄會得到
Error: [vault-wall] access to "C:\archive" is denied by rule "archive-ro"。 - 詢問模式:Agent 寫入錢包會彈出審批框,顯示風險等級和工具信息,需人工確認。
總結¶
dsh-vault-wall 通過在 DSH 架構內構建隔離層,解決了 Agent 在本地文件系統中的安全越界問題。它結合了顯式攔截、人工審批和事後驗證,能夠有效防止敏感數據泄露。配合 /wall 系列命令,運維人員可以清晰地掌握 Agent 的操作邊界。