imtokenxinluo/dsh-publish-guard ↗★ 0

dsh-publish-guard

DeepSeek Harness plugin publish armor: dsh-leak-check (pre-publish leak scan: source maps, secrets, debug leftovers, packaging slips) + dsh-obfuscate (entry-safe obfuscation for casual reverse-engineering deterrence) 适合DSH插件开发者,用于防止源码密钥泄漏及轻度防逆向

Package
dsh-publish-guard
Compatibility
Unverified
Version
0.1.0
License
MIT
Last updated
Oct 14, 2026

Install

This plugin has no verified bundle, or compatibility checks failed. Read the repository notes first. Read the full README ↗

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

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

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

dsh-obfuscate

dsh-obfuscate   [--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扫描指令文件投毒(运行时);本工具是发布前的静态检查