故意违规的插件,用来验证契约检查能否抓出问题
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/1 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add imtokenxinluo/dsh-fixture-bad-plugin该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · other
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 32 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 反向测试夹具
- 故意违规插件
- 验证契约检查
DSH 插件契约检查的反向测试夹具(故意做坏的插件,别当正经插件用)
README
由 DeepSeek 最新模型翻译生成dsh-fixture-bad-plugin(测试夹具,不要当真插件用)
用途:验证 dsh-contract-check 能不能在加载时发现违规的 render 契约。
它故意注册了两个工具:
| 工具 | 行为 | 期望判定 |
| fixture_bad_render | render 返回裸字符串(就是当年 dsh-ssh-ops 那个 bug)| 🔴 violation → 角标变黄 |
| fixture_unknown_render | render 委托给辅助函数,静态判不出形态 | 见下(初版预期写错了)|
✅ 实机验证结果(2026-09-20,第一次真正走通黄灯)
颜色: yellow 状态条: 无耗 · 检查 23 个插件 · 违规 2 · 不可判定 1 [violation] fixture_bad_render 返回字符串,违反 render(): ContentBlock[] 契约 [violation] fixture_unknown_render 实测返回对象(不是数组),违反契约(实测) [unknown] doublecheck_report 静态判不准,实测又抛异常
两点值得记下来:
1. fixture_unknown_render 被判成 violation 而不是 unknown,这是对的。
展开完整文档(README 剩余 1 节)
dsh-fixture-bad-plugin(测试夹具,不要当真插件用)
用途:验证 dsh-contract-check 能不能在加载时发现违规的 render 契约。
它故意注册了两个工具:
| 工具 | 行为 | 期望判定 |
| fixture_bad_render | render 返回裸字符串(就是当年 dsh-ssh-ops 那个 bug)| 🔴 violation → 角标变黄 |
| fixture_unknown_render | render 委托给辅助函数,静态判不出形态 | 见下(初版预期写错了)|
✅ 实机验证结果(2026-09-20,第一次真正走通黄灯)
颜色: yellow 状态条: 无耗 · 检查 23 个插件 · 违规 2 · 不可判定 1 [violation] fixture_bad_render 返回字符串,违反 render(): ContentBlock[] 契约 [violation] fixture_unknown_render 实测返回对象(不是数组),违反契约(实测) [unknown] doublecheck_report 静态判不准,实测又抛异常
两点值得记下来:
1. fixture_unknown_render 被判成 violation 而不是 unknown,这是对的。 我原本以为「静态判不准 = unknown」,但实测探针把它抓出来了:它的 render 返回传进去的值,而它声明的输出 schema 是对象 → 真调用时返回的一定不是数组。
这正好说明实测探针的价值:静态看不透的东西,跑一次就清楚了。
2. doublecheck_report 仍是 unknown:实测时 render 抛了 Cannot read properties of null (reading 'length') —— 假数据不合形状,归 unknown (抛异常绝不判违规,这是零误报原则的一部分)。
⚠️ 先读:这个夹具造成过一次事故(2026-09-19)
症状:把它加进 profile 的 bundles 后,DSH 起不来 —— 整个插件树加载失败。
根因:上一版源码里有 import { defineTool } from "@deepseek-ai/dsh-tools",而夹具目录没有 node_modules。pnpm 的 link: 让 Node 按真实路径解析 → 找不到包 → ERR_MODULE_NOT_FOUND → 插件树整体失败。
两个教训:
1. 「扫源码 OK」≠「能加载」。离线扫描只看文件存不存在、形态对不对, 完全不涉及模块解析 —— 所以它当时报了 ok,然后 DSH 挂了。
2. 把测试夹具装进运行环境的 profile 之前,必须先证明它能被加载。
已修:夹具改成零外部 import(直接用裸定义对象调 ctx.tools.register()),从根上不可能再因解析失败拖垮启动。
已加闸门:scripts/preflight.mjs —— 装之前必须先跑;它自己也有自测(selftest.mjs)。
⚠️ 第二个坑:pnpm install 不会补建新加的 link: 依赖
2026-09-20 实测:把夹具加进 dependencies(link: 形式)后跑 pnpm install,它回一句 "Already up to date" 就结束了 —— lockfile 更新了,但 node_modules 里的链接没建。
此时直接重启,DSH 解析不到这个包,又是「整个插件树起不来」(跟上次症状一样,根因不同)。
pnpm install --force 也一样跳过。
判据(装完必查):
Test-Path 'D:\tool\dsh_data\profiles\web\node_modules\dsh-fixture-bad-plugin'
补建(就是 pnpm 给其它 link: 依赖建的那种 Junction):
cd D:\tool\dsh_data\profiles\web
New-Item -ItemType Junction -Path node_modules\dsh-fixture-bad-plugin
-Target D:\tool\claude_code\dsh-fixture-bad-plugin
使用流程(顺序不能换)
① 预检:证明它能被加载(不通过就别装)
node D:\tool\claude_code\dsh-fixture-bad-plugin\scripts\preflight.mjs
② 装进 profile(脚本会备份配置、写完校验)
node D:\tool\claude_code\dsh-fixture-bad-plugin\scripts\profile-link.mjs --apply
③ 确认 node_modules 里有链接(见上面那个 pnpm 坑;没有就手工建 Junction) Test-Path D:\tool\dsh_data\profiles\web\node_modules\dsh-fixture-bad-plugin
④ 重启 DSH(你重启,不是我)
期望看到
- 会话头部圆点变 🟡 黄
- 悬停状态条出现 违规 2
- /contract-check/status 的 findings 里点名 fixture_bad_render
- 绿灯 → 黄灯的颜色变化就是这条链路走通的证据
⏹ 验证完立刻移除
一键(双击即可,不需要 AI 在场):
D:\tool\claude_code\dsh-fixture-bad-plugin\紧急回滚.bat
或命令行:
node D:\tool\claude_code\dsh-fixture-bad-plugin\scripts\profile-link.mjs --remove
然后重启 DSH
卸载脚本删链接时用的是 rmdir 而不是递归删除:在 Junction 上递归删除会跟进目标目录,把夹具源码本身删光。
(2026-09-20 卸完已核对:夹具源文件全部完好。)
上一次就是忘在这一步:夹具留在配置档里,于是任何原因导致的加载失败都会先被怀疑到它头上(而且它确实就是凶手)。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
imtokenxinluo/dsh-fixture-bad-plugin
故意违规的插件,用来验证契约检查能否抓出问题
相关插件 · 其他
模型破甲清洗YuJunZhiXue/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 14,822已汉化DeepSeek 客户端
73
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 718已汉化DSH
71.2
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,261已汉化DSH
70.7
破甲评测WoYun520/dsh-purge
在本机分离宿主拦截与模型拒绝,做受控红队评测
★ 199已汉化DSH
69.7