huahua-purge:DSH 宿主上的破甲引擎与红队演练台

前言

在 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 名为准):

  1. <DSH_HOME>/profiles/<name>/package.json 的 dependencies["huahua-purge"] 已指向安装来源。
  2. 同一文件里 dsh.profile.bundles 包含 huahua-purge。
  3. 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 等)。

演练台

  1. 授权边界:首次运行需在 $DSH_HOME/huahua-purge/drill-grant 确认授权范围;未授权时不做主动扫描。
  2. 靶标:在主会话直接发送靶标名称或域名;主会话按流水线拉起五角色(并发上限 3,前序无结论不会盲目前推)。
  3. 资产库:设置 → huahua-purge 演练台 → 资产库;数据在 $DSH_HOME/huahua-purge/ 的 SQLite,可用 sqlite3 直接打开。
  4. 技能:按阶段与已收资产类型自动匹配;也可在主会话点名,例如:用 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。

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

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

小夜