前言¶
在 DeepSeek Harness(DSH)裏跑多模型、做安全評測時,常見兩類摩擦:宿主會在 system 側注入身份與人格前綴,模型不一定按你寫的提示詞執行;紅隊類能力若拆成多個插件,還容易重複註冊、配置分散。社區目錄 skillhub.cn 上的 huahua-purge(維護者 azure5100,分類 admin-security)把「破甲(purge)」和「演練臺(redteam)」打成一個 bundle 宿主插件,面向同一套 DSH 環境。下面介紹它做什麼、怎麼裝、怎麼用,以及使用邊界。
這是什麼¶
huahua-purge 是 DSH 的 bundle 插件:通過 cordis.patch.yml 掛載宿主側邏輯與 Web 客戶端,一次安裝同時提供破甲引擎與可落盤的紅隊工作臺。名字裏的 purge 指清洗宿主注入的身份與人格,不是刪除用戶數據;官方說明稱相關動作可逆、可關閉。
本倉庫在 dsh-purge 1.1.71(MIT)基礎上衍生,許可證仍爲 MIT。插件以當前 DSH 進程權限運行,安裝前建議通讀 GitHub 倉庫 源碼與 NOTICE.md。
核心功能¶
破甲(purge)¶
- 身份清洗:關閉
includeHarnessIdentity、清空personaPrefix,保留工作目錄類提示。 - 逐模型提示詞:按模型名配置不同破甲提示詞,切換模型時自動切換。
- Hooks 防繞過:
hooksDenyBypass避免 Stop/steer 類 hook 被模型繞開。 - 重試與續寫:請求被拒可自動重試(默認最多 3 次);可選長任務自動續寫。
- 能力協議:
capabilityProtocol用於主會話與子角色之間的能力交接。
演練臺(redteam)¶
- 五角色編排:主會話配合信息收集、資產梳理、漏洞發現、漏洞利用、內網滲透;併發上限 3。
- 資產庫:攻防資產寫入
$DSH_HOME/huahua-purge下 SQLite,可查詢、可導出。 - 技能庫:
skills/redteam/共 23 個.md實戰技能,按階段與目標條件掛載。 - HTTP 橋:
POST /redteam/api,連接界面與宿主側數據。
若曾安裝 dsh-redteam-mode、dsh-redteam-store、dsh-redteam-ui,本插件 patch 會將其設爲禁用,避免重複註冊。
環境要求¶
DSH ≥ 0.2.1-rc.2
Node ≥ 20
peer: @deepseek-ai/cordis ^4.0.1
桌面端或 Web 端均可;bundle 插件改完後需完整重啓宿主(僅 Ctrl+R 刷新前端不夠)。
安裝與啓用¶
官方 Quick start 命令如下。DSH 生態採用「一切皆插件」;skillhub.cn 爲社區獨立目錄,與 DeepSeek / 幻方無官方從屬關係。
dsh plugin --profile desktop add "github:azure5100/huahua-purge"
# restart the host afterwards — bundle plugins need a full restart
裝完後建議覈對三件事(路徑以你的 $DSH_HOME 與 profile 名爲準):
<DSH_HOME>/profiles/<name>/package.json的dependencies["huahua-purge"]已指向安裝來源。- 同一文件裏
dsh.profile.bundles包含huahua-purge。 node_modules/huahua-purge/cordis.patch.yml存在。
文檔提醒:dsh plugin add 若使用 file: 依賴會重新解包本地包,操作前可備份 profile 的 package.json。離線環境可用 tarball 方式:dsh plugin --profile desktop add "file:/path/to/huahua-purge-<version>.tgz"(路徑替換爲實際文件)。
經過上面的步驟後重啓宿主,設置中應出現 huahua-purge 與 huahua-purge 演練臺 兩個入口。
典型用法¶
破甲¶
入口:設置 → huahua-purge。
最小可用配置可參考官方手冊:
| 鍵 | 建議值 | 說明 |
|---|---|---|
enabled |
true |
破甲總開關 |
autoApplyOnStart |
true |
啓動自動生效 |
stripMnemon |
true |
清洗記憶注入片段 |
autoRetry |
true,retryMax: 3 |
被拒自動重試 |
hooksDenyBypass |
true |
Hook 防繞過 |
完整配置項默認值見倉庫 README.zh-CN(如 injectOnce、postPrompt、autoContinue 等)。
演練臺¶
- 授權邊界:首次運行需在
$DSH_HOME/huahua-purge/drill-grant確認授權範圍;未授權時不做主動掃描。 - 靶標:在主會話直接發送靶標名稱或域名;主會話按流水線拉起五角色(併發上限 3,前序無結論不會盲目前推)。
- 資產庫:
設置 → huahua-purge 演練臺 → 資產庫;數據在$DSH_HOME/huahua-purge/的 SQLite,可用sqlite3直接打開。 - 技能:按階段與已收資產類型自動匹配;也可在主會話點名,例如:
用 fscan-intranet 這個技能掃一遍。
HTTP 橋端點:POST /redteam/api。
卸載示例:
dsh plugin --profile desktop remove huahua-purge
# 重啓宿主;若要清除本地演練數據可刪除 $DSH_HOME/huahua-purge/
適用場景與注意¶
適用:自有資產、授權滲透、CTF、內部攻防演練等受控環境。官方 Scope 明確插件面向授權場景;紅隊技能含可執行 payload 樣例,只對授權目標使用。
注意:
- 破甲會關閉宿主身份注入,屬於高權限行爲變更,僅在受控環境啓用。
- 插件與 DSH 同進程權限;安裝前檢查源碼與 MIT 許可證及衍生聲明。
skills/redteam/*.md可能觸發殺軟對 payload 文本特徵的告警,文檔說明爲文本特徵而非可執行後門;可按手冊選擇排除目錄、改寫佔位符或僅使用破甲能力。- 資產庫在
$DSH_HOME/huahua-purge/,升級插件本體不會覆蓋該目錄;自改node_modules內代碼則升級前需自行備份。
更細的排錯(無入口、patch 報錯、與舊紅隊包衝突等)見倉庫 使用手冊。
結尾¶
huahua-purge 把宿主身份清洗、按模型破甲提示、Hook 防繞過與 23 技能紅隊演練臺、SQLite 資產庫和 HTTP 橋收進一個 bundle,適合已在 DSH 上做模型行爲與安全評測的開發者。目錄頁:https://www.skillhub.cn/plugins/azure5100/huahua-purge;源碼與文檔:https://github.com/azure5100/huahua-purge。