前言¶
在 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。