返回插件页
安全检测报告

dsh-win32存在风险89/100

@sjh9714
开发npm 预构建包接管安全关键能力

补上官方缺失的 win32 进程探测,让 Minimal 模式在 Windows 上真正可用,持久 shell 才能起来。附 busybox 变体预设,其持久 shell 能在 workspace-write 受限令牌下存活(MSYS 系 shell 在那里会崩),另有基于 ConPTY 控制台进程列表的前台命令解析、GBK/UTF-16 文件读取,以及安装排障工具。

Star14GitHub · 仅用于排序
npm 周下载6,351dsh-win32
固定 commit07eb4fda852026-08-21
扫描时间2026-08-22 08:22 UTCHT-DSH-0.2.2

检测结论

CAUTION · HT-DSH-0.2.2 · 07eb4fd

在 57 个文件中有 21 项有效发现(置信度 ≥ 中)。bundle patch 覆盖了 1 个安全关键宿主行(subprocess)。

有效发现(置信度 ≥ 中):严重 0 0 5 16· 原始命中 30 · 低置信度不计入 9
安装
dsh plugin --profile web add dsh-win32
将安装 npm dsh-win32@0.15.0;本报告检测的是 commit 07eb4fd。发布包与源码尚未比对,请核对版本。
存在 5 项中等级发现,安装前请先阅读证据。

检测明细

每层做了什么、跑没跑、有效发现数
L0来源身份npm 元数据 ↔ 仓库已完成0
L1供应链安装脚本 · 未固定依赖 · 锁文件有锁文件0
L1已知漏洞OSV.dev · 仅生产依赖闭包已完成0
L2静态分析57 个文件 · 原始命中 24已完成16
L2.5模型研判sonnet · 1/1已完成1
L3权限清单覆盖宿主行 1 · 安全关键 1 · 敏感 0已完成5
L4隔离动态运行容器 · 假凭据金丝雀 · 出站记录未执行
L5人工复核申诉 72 小时内复核未执行
未执行的层不构成通过;只有“已完成”的层提供了证据。分数 = 100 − 去重规则罚分(严重 35 / 高 16 / 中 5 / 低 1),只用于同策略版本内排序。

权限清单 · cordis patch 解析

插件安装后会改变宿主的哪些行
插入的行1
覆盖/禁用的宿主行1
!!js 表达式4
浏览器端 bundle
覆盖的宿主行
宿主行 id级别改动含义
subprocess安全关键override改写配置 子进程执行
安全关键 seam · 未改动
sandboxsandbox-policybash-sandboxpwsh-sandboxapprovalpermissioncredentialsshell-envfs-observation-policy
“未改动”只说明该插件的 patch 没有覆盖这些行;插件代码仍以宿主进程权限运行。
插入的行
subprocess-windows · dsh-win32
随包分发的其他 cordis 配置 · 需用户手动应用
preset/minimal-windows-sandboxed/agent.cordis.yml· 3 行
preset/minimal-windows/agent.cordis.yml· 3 行
这些文件未被 dsh.bundle 引用,安装时不会自动生效;只有用户用 --patch 或复制进 profile 时才会改变宿主。
源码中出现的外部主机
frippery.orggit-scm.com
只是字符串出现,不等于运行时一定访问;用于核对插件声称的服务商与实际目的地是否一致。

证据

21 项有效 · 按严重度排序 · 严重项不折叠
HT-CONFIG-001Cordis 配置包含可执行 !!js 表达式
置信度 高L3 · DSH 权限语义
cordis.patch.yml:8GitHub
8!!js process.platform === 'win32'
规则备注 · 表达式访问模块、进程或网络,超出读取注入服务的常规用法
!!js 是 DSH 的官方配置机制;只有表达式引入模块、访问进程或网络时才超出常规用法。
修复建议只读取注入的服务;需要更多能力时改为结构化配置并记录副作用。
HT-CONFIG-001Cordis 配置包含可执行 !!js 表达式
置信度 高L3 · DSH 权限语义
cordis.patch.yml:12GitHub
12!!js process.platform !== 'win32'
规则备注 · 表达式访问模块、进程或网络,超出读取注入服务的常规用法
!!js 是 DSH 的官方配置机制;只有表达式引入模块、访问进程或网络时才超出常规用法。
修复建议只读取注入的服务;需要更多能力时改为结构化配置并记录副作用。
HT-CONFIG-001Cordis 配置包含可执行 !!js 表达式
置信度 高L3 · DSH 权限语义
preset/minimal-windows-sandboxed/agent.cordis.yml:67GitHub
67!!js process.env.DSH_CWD ?? process.cwd()
规则备注 · 表达式访问模块、进程或网络,超出读取注入服务的常规用法
!!js 是 DSH 的官方配置机制;只有表达式引入模块、访问进程或网络时才超出常规用法。
修复建议只读取注入的服务;需要更多能力时改为结构化配置并记录副作用。
HT-CONFIG-001Cordis 配置包含可执行 !!js 表达式
置信度 高L3 · DSH 权限语义
preset/minimal-windows/agent.cordis.yml:68GitHub
68!!js process.env.DSH_CWD ?? process.cwd()
规则备注 · 表达式访问模块、进程或网络,超出读取注入服务的常规用法
!!js 是 DSH 的官方配置机制;只有表达式引入模块、访问进程或网络时才超出常规用法。
修复建议只读取注入的服务;需要更多能力时改为结构化配置并记录副作用。
HT-PERMISSION-001覆盖安全关键宿主能力
置信度 高L3 · DSH 权限语义
cordis.patch.yml:7GitHub
7override: id=subprocess
规则备注 · 改写配置 子进程执行(subprocess)
模型研判功能所需

仅在 process.platform==='win32' 时禁用官方 subprocess 并插入同名替代 subprocess-windows,与插件声明的“修复 win32 PTY 探测以支持持久 shell”目的一致,属实现该功能必需的运行时替换。

按 id 覆盖或关闭 sandbox、approval、credentials 等行,会让整个 DSH 实例的信任边界由插件代码决定。
修复建议逐项解释并最小化安全关键能力替换,同时接受人工复核。
低等级发现 16 项 · 计入结论但不改变状态展开
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
bin/cli.mjs:8GitHub
8execFileSync
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
bin/cli.mjs:8GitHub
8node:child_process
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
scripts/foreground-smoke.mjs:16GitHub
16execFileSync
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
scripts/foreground-smoke.mjs:16GitHub
16node:child_process
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
scripts/pipeline-smoke.mjs:12GitHub
12execFileSync
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
scripts/pipeline-smoke.mjs:12GitHub
12node:child_process
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
scripts/pwsh-sandbox-probe.mjs:30GitHub
30spawnSync
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
scripts/pwsh-sandbox-probe.mjs:30GitHub
30node:child_process
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
src/console-list.ts:22GitHub
22execFileSync
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
src/console-list.ts:22GitHub
22node:child_process
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
src/index.ts:11GitHub
11spawnSync
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
src/index.ts:11GitHub
11node:child_process
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
src/inspector.ts:14GitHub
14execFileSync
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
src/inspector.ts:14GitHub
14node:child_process
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
src/terminal-wrap.ts:19GitHub
19spawnSync
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
src/terminal-wrap.ts:19GitHub
19node:child_process
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
低置信度命中 9 项 · 不计入结论展开
HT-CLIENT-001浏览器端使用危险 HTML 注入点
置信度 低L2 · 静态分析
demo/movie.html:124GitHub
124.innerHTML =
规则备注 · 位于测试、示例或文档目录
修复建议使用安全 DOM API,并严格清洗不可信内容。
HT-CLIENT-001浏览器端使用危险 HTML 注入点
置信度 低L2 · 静态分析
demo/movie.html:126GitHub
126.innerHTML =
规则备注 · 位于测试、示例或文档目录
修复建议使用安全 DOM API,并严格清洗不可信内容。
HT-INSTALL-002Git 安装会触发 prepare 构建脚本
置信度 低L1 · 供应链
package.json:62GitHub
62"prepare": "npm run build"
规则备注 · 该插件以 npm/tarball 预构建方式分发,prepare 不在用户机器上执行
修复建议发布预构建制品(npm 或 GitHub Release tarball),并记录源码与发布包的一致性证明。
HT-EXEC-001直接创建宿主子进程
置信度 低L2 · 静态分析
src/cli-entry.test.ts:18GitHub
18spawnSync
规则备注 · 位于测试、示例或文档目录
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 低L2 · 静态分析
src/cli-entry.test.ts:18GitHub
18node:child_process
规则备注 · 位于测试、示例或文档目录
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 低L2 · 静态分析
src/doctor-envelope.test.ts:9GitHub
9execFileSync
规则备注 · 位于测试、示例或文档目录
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 低L2 · 静态分析
src/doctor-envelope.test.ts:9GitHub
9node:child_process
规则备注 · 位于测试、示例或文档目录
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 低L2 · 静态分析
src/setup.test.tsGitHub
1spawnSync
规则备注 · 位于测试、示例或文档目录
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 低L2 · 静态分析
src/setup.test.tsGitHub
1node:child_process
规则备注 · 位于测试、示例或文档目录
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。

依赖漏洞 · L1

已查询 OSV.dev:package-lock.json 中的生产依赖,0 个已知漏洞
开发依赖及其传递链不计入;只覆盖 OSV 收录的公开漏洞;是否可被利用取决于插件如何使用该依赖。

身份与来源

GitHubsjh9714/dsh-win32固定 commit07eb4fda852c · 2026-08-21内容摘要sha256:c22e8c03fdfe0f6bnpmdsh-win32@0.15.0 · 30 个版本最近发布2026-08-20 13:40 UTCrepository 字段指向同一仓库发布来源证明无 provenance维护者1发布包 ↔ 源码未比对收录日期2026-08-15

宿主能力

范围,不是结论
Agent 控制浏览器 UI环境变量文件系统Host Bundle外部网络宿主子进程
能力标签来自源码中的 API 使用模式:插件读文件、访问网络、创建子进程、读取凭据都会被标出。很多能力是功能所需;有没有问题看上面的证据。

检测覆盖

源码获取已完成
manifest 解析已完成
bundle 配置已完成
依赖锁定有锁文件
已知漏洞查询已完成
来源身份已完成
发布包 ↔ 源码比对未比对
模型研判已完成
隔离动态运行未执行
人工复核未执行
2026-08-22 08:22 UTC存在风险
HT-DSH-0.2.2 · 07eb4fd
上游有新 commit,判定未变
2026-08-21 13:16 UTC存在风险
HT-DSH-0.2.2 · 0eb47d0
2026-08-21 13:16 UTC存在风险
HT-DSH-0.2.2 · 0eb47d0
策略升级到 HT-DSH-0.2.2
2026-08-21 11:22 UTC存在风险
HT-DSH-0.2.1 · 0eb47d0
策略升级到 HT-DSH-0.2.1
2026-08-21 10:50 UTC存在风险
HT-DSH-0.2.0 · 0eb47d0
首次扫描

徽章

贴进 README,点击回到本页
Harness Trust: 存在风险
[![Harness Trust](https://dshmod.com/badge/dsh-win32.svg)](https://dshmod.com/plugins/sjh9714-dsh-win32)
API 文档
徽章文案只有风险状态与策略版本,状态变化时自动更新。

已知限制与申诉

作者或用户认为某项发现不成立?提交申诉,我们在 72 小时内复核并公开处理记录。