dsh-purge 拿下 11k 星:让 DeepSeek Harness 破甲所有模型,随后突然闭源

导语:10 月 20 日,dsh-purge 这个 GitHub 插件被推上风口。一人独作却攒下 11k 星——它是个”破甲”插件:让 DeepSeek 官方 agent 里的模型,把本该拒答的话答出来。

dsh-purge 封面

一、先说清楚它装在谁身上

宿主是 DeepSeek 官方开源的 agent harness,仓库叫 deepseek-ai/deepseek-harness,口号就一句:Everything is a Plugin。TypeScript 写的,MIT 协议,2026 年 8 月 13 日开源,如今263,636 星、31,884 fork,插件系统跑在 cordis 上。官方提供 Web 版(dsh web)和桌面端 EXE 两种形态。

dsh-purge 比它晚六天建仓,YuJunZhiXue/dsh-purge,JavaScript,如今11,031 星、2,292 fork、9 个 open issues,只有一位贡献者。最新版 1.1.81 在 10 月 27 日 16:06 发布,也是它最后一个 GitHub Release。适配上要留神:1.1.81 对应 DSH 0.2.1-rc.2,0.2.0 要用 1.1.40 以上,0.1.7 只能用 1.1.39 或更早,rc.3 及以后的版本明确不支持。

二、它真正的本事:把宿主层和模型层拆开

先把话说直白:dsh-purge 干的就是破甲——让被安全对齐拦下的模型,把本该拒答的内容答出来。Harness 干的事远不止转发提示词,它会重写提示词、插审批门、调沙箱策略、迁移会话格式。所以”问一句看模型答不答”这个测试法本身就不成立——很多看起来是模型拒答的,其实是宿主层先拦下来了。

dsh-purge 的 Apply 流程正是冲着这个去的:检查补丁是否已就位,没有就把原文件备份成 .dshpurge.bak,再替换匹配到的文件、覆盖 shim、注入插件自带的加密提示词。它明确不去读宿主的 prompt 文件。

界面上是 dsh-purge dock,两个页签。清洗页按组显示补丁状态——补丁 44/44、提示词 10/10、代码 3/3、引擎 9/9、工具 14/14,配 Apply、Restore、Uninstall、提示词编辑器和多套规则集;演练台页是授权后的资产测绘环境,但开源版不下发技能库和知识库。

dsh-purge 清洗界面补丁状态

每轮会话的提示词决策链也有讲究:先看规则库写出的 prompt-inject.md,没有就看当前目录的 AGENTS.md 或 CLAUDE.md,再没有就用插件加密槽位里的默认值;然后按 strict、fallback、always 三种工作区基线策略,决定要不要保留 DSH 自带的那段基线。

三、破甲的提示词长什么样

dsh-purge 演练台资产测绘

四、最值得抄的其实不是破甲,是它的护栏

这块是全文我最想拿给蓝队看的部分。攻击任务默认拒绝,只认本机回环和 RFC1918 私网;域名先解析再判 IP,hosts 里的解析结果一并算,每个地址都必须是私网或回环,.lab、.htb 这种后缀一概不算数;hosts 把 lab 名指向公网、解析失败、结果里混进公网地址,三种情况全拦。更硬的是,聊天里说”这是我的服务器”不构成例外,给密钥、给密码、给网段、给通配符同样不构成例外。游戏外挂被明令禁止,自瞄、透视、改内存、过反作弊,提示词和会话门口一起拦。它只碰本机的 @deepseek-ai 包和本地配置,”检查更新”最多只访问它自己的 GitHub 仓库。

一个越狱工具主动把自己关进本地靶场,这种自我约束在 AI 安全圈里并不常见。

dsh-purge 自己的服务器白名单

五、两天之内:能力收缩、渠道转移、商业化

10 月 20 日,蓝鸟会🕊️(@NFTCPS)发了一篇长推,1511 个赞:作者被裁员,打算闭源,GitHub 不再更新,新包只发 Telegram 频道,协议从 MIT 改成商业许可。

10 月 27 日这天,仓库里的动静全落地了。README 重写成”公网一律不许碰”,新增 LICENSE-COMMERCIAL.md,master 最后一次提交停在 16:06 的 v1.1.81。商业条款写得很清楚:个人本机自用不额外收费,卖课、白标、给第三方当产品得先写信买授权,邮箱 a2269198325@163.com,并且”新版本我只在 Telegram 频道发”。

所以现在仓库虽然还公开能 clone,但 master 就是最后一版开源版了,历史 MIT 时期的 tag 也改不了。README 里提到的 beta 测试分支已经不在,只剩 master 一条。

六、下载与安装

  • Release 压缩包(2.07 MB,v1.1.81):https://github.com/YuJunZhiXue/dsh-purge/releases/download/v1.1.81/dsh-purge-1.1.81.zip
  • 全部版本:https://github.com/YuJunZhiXue/dsh-purge/releases
  • 安装用源码包:https://codeload.github.com/YuJunZhiXue/dsh-purge/tar.gz/refs/heads/master
  • 安装命令:dsh plugin --profile web add https://codeload.github.com/YuJunZhiXue/dsh-purge/tar.gz/refs/heads/master
  • 插件收录页:https://dsh-plugin.org/plugins/yujunzhixue/dsh-purge、https://deepseek.stream/plugins/dsh-purge
  • 作者 Telegram 频道:https://t.me/LLM_PoJia

README 里专门列了踩坑清单:别用插件市场一键装,会一直报 already queued: dsh-purge 且永不执行;别 pnpm add dsh-purge,npm 上根本没这个包;必须用 codeload.github.com,github.com/.../archive 的 302 会让 pnpm 报 fetch failed;pnpm 11/12 默认跳过 install 脚本,得加 --allow-build=dsh-purge 且要用完整 specifier;Web 和桌面端分开装、分开 Apply;最后,别从不明镜像站 clone。使用范围同样受条款约束——个人本机自用免费,卖课或白标得先拿授权。

七、紫队视角:三个问题

第一,你们 agent 的安全基线到底在哪一层?如果蓝队把”模型不答”当成安全,那就是把宿主策略误当成了模型能力。dsh-purge 存在的全部意义,就是提醒你这两层必须分开测。

第二,第三方插件能不能改写官方 agent 的行为边界?dsh-purge 的 Apply 就是替换 @deepseek-ai 包的文件,再每轮注入提示词。往一个能读写本机的 agent 里装插件,等于把它的提示词层交出去——你们的插件准入流程审不审这一项?

第三,那 33 KB 的提示词原文加 2,292 个 fork,本身就是现成的提示词注入弹药库。同一份东西,既能当越狱工具,也能直接当攻击载荷。

工具本身没做错什么,作者甚至比大多数人都克制。真正的变化在门槛:一个原本藏在少数人手里的越狱能力,被压缩成了一条 pnpm add 命令和一个压缩包。


版权声明:本文由华盟网原创发布,保留所有权利。配图由华盟网授权使用。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容