← Back to home@imtokenxinluo

dsh-publish-guard

DeepSeek Harness plugin publish armor: pre-publish leak scan + entry-safe obfuscation

Stars
0
Language
JavaScript
Created
Oct 14, 2026
Updated
Oct 14, 2026

Introduction

dsh-publish-guard

DeepSeek Harness 插件发布前硬化工具链,两个命令:

命令干什么定位
dsh-leak-check发布前泄漏检查(只读,不执行任何脚本)A:抓自己的漏洞
dsh-obfuscate入口安全的混淆(防"顺手党"逆向)B:抬高别人读实现的成本

为什么是这两个

DSH 插件是 JavaScript,走 npm 分发 —— 任何用户都能把包下载下来看。所以:

  • 真危险的不是"别人能看",而是你自己把不该发的东西发了出去(source map、密钥、.env、测试文件)→ A
  • 真能做的防逆向不是"阻止",而是把成本从分钟级抬到小时级(挡顺手党,不挡决心党)→ B

dsh-leak-check

dsh-leak-check bundle <file> [--json]        扫一个构建产物
dsh-leak-check pack <dir> [--json]           扫包目录(files 白名单 + 磁盘)
dsh-leak-check preflight <dir> [--bundle f]  一键

分级:violation(会送掉源码/密钥的硬伤)· review(疑似,人工看)· note(提醒)。 铁律:宁 review,不 violation —— 密钥类一律 review,绝不公开指控。

检查项:source map、9 类疑似密钥、高熵长串、调试残留、test/.env/.pem/.map 混进包、 溯源指纹(正面加分)。不运行 npm、不执行被检查包的任何脚本(npm pack 会跑 prepack/prepare,对不受信任的包是危险的)。

dsh-obfuscate

dsh-obfuscate <in.js> <out.js> [--preset lite|medium|max] [--no-protect-entry]
  • 入口保护:在 __ModuleLoader__ 标记前最近语句边界切分,挂载段逐字明文、只混淆载荷; 切分失败自动退回整文件(此时入口文本可能被 stringArray 编码,功能由冒烟保证)
  • 自动冒烟:混淆后模拟 window.__ModuleLoader__ 加载产物,入口坏了就失败
  • 强制无 sourceMap;输入含 sourceMappingURL → 拒绝(除非 --allow-map)
  • 拒绝原地覆盖;selfDefending 默认关(它等于给用户机器装地雷)
  • 输出带溯源指纹:built-from-src-sha256:xxxx obfuscated:lite|medium|max

诚实提醒(工具输出里永远带着):混淆只挡顺手党;别把密钥放进客户端; 发布前建议再跑一遍 dsh-leak-check。

测试

node --test        # 18 项:A 12 项 + B 6 项

用在哪

  • dsh-leak-check 适合任何插件作者的 CI / prePublish
  • dsh-obfuscate 适合"确实有闭源需求"的插件;不建议用在以信任为卖点的插件上 (用户看不见它在干什么 = 信任崩塌)

与其它工具的关系

工具关系
dsh-contract-check检查契约(render/事件/打包白名单);本工具检查泄漏,互补
dsh-surface-check扫描指令文件投毒(运行时);本工具是发布前的静态检查