dsh-breach: DSH Prompt Injection and Rollback-Capable Host Patches

前言

DeepSeek Harness(DSH)在系统提示和宿主代码里,为安全与合规预留了不少「先别干」的段落:免责声明、审批提示、沙箱 deny、工具描述里的谨慎措辞。日常在本机做自动化、脚本联调或研究型任务时,这些拦截会反复把执行拉回确认环节,和「在自己机器上自己负责」的使用方式并不总是一致。

社区插件 dsh-breach(维护者 zhuchongba-01,分类 admin-security)从原项目 dsh-purge 中剥离出「破甲」单件:只做两件事——按模型注入可替换的系统提示,以及对 @deepseek-ai/* 宿主源码做字符串级补丁,且每条改动前写 .dshhappy.bak 备份,支持整批应用与回滚。它不接管会话内容,也不改写你的业务代码,只在当前 profile 的安装范围内工作。下文按 README 与仓库说明介绍定位、能力、安装与使用时应注意的事项。

这是什么

dsh-breach 是 DSH 的组合包插件,入口为 lib/index.js,在 Web 与 desktop 表面均可加载。仓库:https://github.com/zhuchongba-01/dsh-breach;社区目录页:https://www.skillhub.cn/plugins/zhuchongba-01/dsh-breach。

与 npm 上可能出现的同名占位包不同,有效安装源只有 GitHub。README 说明:1.2.7 未进入 npm registry,registry 上仅剩 0.0.0-stage 空壳;在 DSH 插件界面只填 dsh-breach 会按 npm 包名解析并报错「这个包没有声明组合包,无法作为插件安装」。

原 dsh-purge 中的红队 / 渗透工作台(目标卡、角色稿、调度、工具链、报告等)不随本包分发;本包边界是提示词注入、补丁引擎、Web 面板与回滚相关路由。

核心功能

提示词注入

注入优先级(从高到低):

输入框里正在显示的文字  >  $DSH_HOME/prompt-inject.md  >  插件内置的加密默认

默认提示词以 AES-256-GCM + deflate 封存在 lib/asset-table.js,运行时解密,明文默认不落盘。自定义时编辑 $DSH_HOME/prompt-inject.md,保存即生效,无需重启。不同模型可按 preset 绑定不同提示词。

补丁引擎

引擎在宿主源码中按预定义规则做字符串替换。README 写明共 定义 86 条(id 1..92,中间有空号),运行时按宿主版本结算;在 DSH 0.2.1-rc.5 上结算为 72 项(提示词 19 · 代码 46 · 工具 4 · 兼容 3)。

每条补丁有唯一 id;改动前写入 .dshhappy.bak,状态记录在 $DSH_HOME/dsh-breach/applied.json。宿主升级后可在面板重放(reapply);不认识的宿主版本会跳过,不硬改。

分组 作用概要
提示词 替换身份、免责、审批相关段落为强指令等
代码 调整沙箱 deny、默认 danger 级别、审批默认值等
工具 调整 WebFetch、Shell 等工具描述与工具表
兼容 第三方 preset、OAuth 链路等兼容项

状态语义:已生效(已打或本就一致)、跳过(本版宿主无对应目标,非错误)、失败(找到目标但改不动)、待应用(尚未执行)。

三个宿主工具

工具 作用
happy_status 查看已打补丁、失败项与备份位置
happy_apply 应用或重放补丁
happy_revert 按备份回滚

区域与敏感操作门

lib/net-scope.js 在请求进入模型前拦截面向中国大陆 / 香港 / 澳门的主机、约 200 个银行域名、以及攻击类关键词相关请求;命中时直接返回拒绝话术。白名单文件:$DSH_HOME/net-scope-allow.txt,一行一个条目。

Web 路由与面板

插件注册同源 /dsh-breach/* 路由(跨站、Origin: null、Origin 与 Host 不一致会拒绝)。常用路径包括:

  • /dsh-breach/status — 补丁状态
  • /dsh-breach/apply、/dsh-breach/revert — 应用与回滚
  • /dsh-breach/override — 提示词覆盖读写
  • /dsh-breach/rewind、/rewind/options — 会话回退
  • /dsh-breach/restart、/dsh-breach/uninstall — 重启宿主、卸载

浮动面板提供分组展开、按状态筛选、提示词卡编辑,以及顶部的「还原 / 应用」操作。

rewind

支持将会话退回到指定轮次,并可选择是否连带回填输入框内容。

安装与启用

下面介绍 README 中的三种常见装法;不要使用 npm i dsh-breach 或仅在界面填包名。

界面安装

DSH → 插件 → 添加插件,输入框填写完整仓库地址:

https://github.com/zhuchongba-01/dsh-breach

命令行安装

宿主带 dsh 命令时,按表面选择:

# Web 表面
dsh plugin --profile web add github:zhuchongba-01/dsh-breach

# 官方桌面端(EXE)
dsh plugin --profile desktop add github:zhuchongba-01/dsh-breach

写入 profile 的 package.json

{
  "dependencies": {
    "dsh-breach": "github:zhuchongba-01/dsh-breach"
  },
  "dsh": { "profile": { "bundles": ["dsh-breach"] } }
}

在该 profile 目录执行 pnpm install。插件 CLI 位于 profile 的 node_modules/.bin/dsh-breach,可用 dsh-breach --help 查看子命令。

验证

重启宿主后访问:

http://127.0.0.1:<DSH 端口>/dsh-breach/status

返回 {"ok":true, ...} 表示加载成功;面板中应能看到补丁分组。

兼容性(README):Node.js ≥ 18;DSH ≥ 0.2.1-rc.5;Surfaces:web、desktop;License:MIT;peer @deepseek-ai/cordis ^4.0.1。仓库 package.json 当前版本为 1.2.9。

典型用法

  1. 安装并重启宿主,打开 /dsh-breach/status 或侧栏面板,确认补丁结算结果(在 0.2.1-rc.5 上为 72 项)。
  2. 需要自定义人格与规则时,编辑 $DSH_HOME/prompt-inject.md;或在面板提示词卡中编辑、恢复默认。
  3. 宿主升级后,README 建议进面板查看状态并点「应用」重放;启动时也会自动尝试 reapply 补打。
  4. 卸载前先在面板点「还原」,或调用 happy_revert,再从插件列表卸载或 pnpm remove dsh-breach,并从 dsh.profile.bundles 移除 bundle 名。$DSH_HOME/dsh-breach/ 下备份建议确认宿主正常后再清理。

状态与备份目录均在 $DSH_HOME/dsh-breach/,含 applied.json、host-backups/、override-state.json 等(详见 README「状态目录」)。

适用场景与注意

适合谁:在本机 DSH 安装上,需要替换默认系统提示、并希望对宿主内置拦截点做可审计、可回滚修改的研究者与高级用户。README 强调仅供本机自用、学习与研究。

权限与风险:插件会改写 DeepSeek Harness 宿主源码,并替换系统提示中的身份、免责与审批段落;以当前 DSH 进程权限运行。安装前请自行阅读源码与 MIT 许可,并备份重要数据。虽每条改动留有 .dshhappy.bak 且支持一键还原,README 不保证与任意宿主版本兼容,也不保证升级后一定能完整还原。作者声明不对宿主无法启动、数据丢失、账号或服务条款相关后果负责。

与 npm 空壳的区别:再次强调只能从 GitHub 安装;社区目录与 GitHub 为独立信息源,与 DeepSeek / 幻方无官方从属关系。

常见问题(README 摘要):「跳过」表示本版无补丁目标,不是故障;长期未装梁神预设时,#71 常为跳过。面板无响应时先查 /dsh-breach/status 与 bundles 是否包含 dsh-breach。

结尾

dsh-breach 把 dsh-purge 中的破甲能力收成单插件:提示词可按模型切换,宿主改动有备份与面板统一管理。若你要评估是否安装,请以 GitHub README 的免责声明与兼容性表为准,并在自己的 profile 上先验证 /dsh-breach/status。

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

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

Xiaoye