🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

发布前安检 imtokenxinluo/dsh-publish-guard

DeepSeek Harness
imtokenxinluo17 天前有提交已提供中文文档扫描:含敏感能力

发布前扫泄漏并混淆入口,挡住顺手逆向

29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/15 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add imtokenxinluo/dsh-publish-guard
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
dsh 原生插件 · other
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 17 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件
查看扫描证据(共 11 处,展示前 11 条)
  • 读取本地文件
    lib/leak-check.mjs:110
    try { items = readdirSync(dir) } catch { return }
  • 读取本地文件
    lib/leak-check.mjs:115
    try { st = statSync(p) } catch { continue }
  • 读取本地文件
    lib/leak-check.mjs:128
    if (!existsSync(pkgPath)) return summary([{ level: "violation", rule: "no-package-json", file: dir, evidence: "没有 package.json" }])
  • 读取本地文件
    lib/leak-check.mjs:131
    try { pkg = JSON.parse(readFileSync(pkgPath, "utf8")) } catch (e) {
  • 读取本地文件
    lib/leak-check.mjs:161
    const bundle = existsSync(bundlePath) ? scanBundle(readFileSync(bundlePath, "utf8"), bundlePath) : summary([{ level: "note", rule: "no-bundle", file:
  • 读取本地文件
    lib/leak-check.mjs:161
    const bundle = existsSync(bundlePath) ? scanBundle(readFileSync(bundlePath, "utf8"), bundlePath) : summary([{ level: "note", rule: "no-bundle", file:
  • 读取本地文件
    bin/dsh-leak-check.js:34
    if (!existsSync(clean[1])) { console.error("文件不存在: " + clean[1]); process.exit(2) }
  • 读取本地文件
    bin/dsh-leak-check.js:35
    res = scanBundle(readFileSync(clean[1], "utf8"), clean[1])
  • 读取本地文件
    bin/dsh-obfuscate.js:44
    const src = readFileSync(input, "utf8")
  • 写入本地文件
    bin/dsh-obfuscate.js:101
    writeFileSync(output, out, "utf8")
  • 执行外部命令来自配置/变量
    bin/dsh-obfuscate.js:112
    const r = spawnSync(process.execPath, ["-e", smoke, pathToFileURL(output).href], { encoding: "utf8", timeout: 30000 })
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DeepSeek Harness 插件发布护甲:发布前泄露扫描 + 入口安全混淆

README

由 DeepSeek 最新模型翻译生成
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(提醒)。
展开完整文档(README 剩余 1 节)
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 | 扫描指令文件投毒(运行时);本工具是发布前的静态检查 |
预览分享卡片长什么样 ↓imtokenxinluo/dsh-publish-guard
分享 · DeepSeek Harness Hub
imtokenxinluo/dsh-publish-guard

发布前扫泄漏并混淆入口,挡住顺手逆向

回到顶部