返回插件页
安全检测报告

dsh-auth-gateway存在风险94/100

@xbzbing
安全GitHub 源码安装(需 allowBuilds)代码行为与描述一致

为 dsh web 提供密码与 TOTP 双因素认证网关:登录前拦截全部 HTTP/WebSocket 请求,含按来源锁定、全局限流与一次性备份代码。

Star5GitHub · 仅用于排序
npm 周下载未发布到 npm
固定 commitc406fd48682026-08-21
扫描时间2026-08-22 08:26 UTCHT-DSH-0.2.2

检测结论

CAUTION · HT-DSH-0.2.2 · c406fd4

该脚本scripts/screenshots.mjs是开发辅助工具,用于给README生成截图,使用固定演示密码登录本地(127.0.0.1)的调试实例,不属于插件运行时代码也未打包进npm files,与插件声明的认证网关功能无直接关系,判定为占位/开发用途,无实际风险。

有效发现(置信度 ≥ 中):严重 0 0 1 2· 原始命中 8 · 低置信度不计入 5
安装
dsh plugin --profile web add github:xbzbing/dsh-auth-gateway
源码安装会在你的机器上执行 prepare 构建,需要在 allowBuilds 中授权;建议改用 github:xbzbing/dsh-auth-gateway#c406fd4 锁定本报告检测的 commit。
存在 1 项中等级发现,安装前请先阅读证据。

检测明细

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

权限清单 · cordis patch 解析

插件安装后会改变宿主的哪些行
插入的行1
覆盖/禁用的宿主行2
!!js 表达式4
浏览器端 bundleweb
覆盖的宿主行
宿主行 id级别改动含义
webserver常规host, port改写配置 webserver
web-runtime常规printUrl, surfaceContext, trustedHosts改写配置 web-runtime
安全关键 seam · 未改动
sandboxsandbox-policybash-sandboxpwsh-sandboxapprovalpermissioncredentialssubprocessshell-envfs-observation-policy
“未改动”只说明该插件的 patch 没有覆盖这些行;插件代码仍以宿主进程权限运行。
插入的行
dsh-auth-gateway · dsh-auth-gateway

证据

3 项有效 · 按严重度排序 · 严重项不折叠
HT-CLIENT-001浏览器端使用危险 HTML 注入点
置信度 中L2 · 静态分析
lib/login-page.js:203GitHub
203.innerHTML =
未经清洗的内容进入 HTML 执行上下文时,可能导致脚本执行或会话数据泄露。
修复建议使用安全 DOM API,并严格清洗不可信内容。
低等级发现 2 项 · 计入结论但不改变状态展开
HT-CONFIG-001Cordis 配置包含可执行 !!js 表达式
置信度 高L3 · DSH 权限语义
cordis.patch.yml:22GitHub
22!!js (ctx.webStartup.port ?? 3080) + 1
修复建议只读取注入的服务;需要更多能力时改为结构化配置并记录副作用。
HT-CONFIG-001Cordis 配置包含可执行 !!js 表达式
置信度 高L3 · DSH 权限语义
cordis.patch.yml:33GitHub
33!!js ctx.webStartup.trustedHosts
修复建议只读取注入的服务;需要更多能力时改为结构化配置并记录副作用。
低置信度命中 5 项 · 不计入结论展开
HT-RUNTIME-001动态代码执行
置信度 低L2 · 静态分析
tests/client-contract.test.mjs:45GitHub
45vm.runInContext(
规则备注 · 位于测试、示例或文档目录
修复建议使用静态模块和受约束的配置解析器,避免执行动态字符串。
HT-RUNTIME-001动态代码执行
置信度 低L2 · 静态分析
tests/patch-ports.test.mjs:38GitHub
38new Function(
规则备注 · 位于测试、示例或文档目录
修复建议使用静态模块和受约束的配置解析器,避免执行动态字符串。
HT-RUNTIME-001动态代码执行
置信度 低L2 · 静态分析
tests/plugin-contract.test.mjs:90GitHub
90vm.runInContext(
规则备注 · 位于测试、示例或文档目录
修复建议使用静态模块和受约束的配置解析器,避免执行动态字符串。
HT-RUNTIME-001动态代码执行
置信度 低L2 · 静态分析
tests/plugin-contract.test.mjs:91GitHub
91vm.runInContext(
规则备注 · 位于测试、示例或文档目录
修复建议使用静态模块和受约束的配置解析器,避免执行动态字符串。
HT-DATA-001同一模块同时接触凭据与网络
置信度 低L2 · 静态分析
scripts/screenshots.mjs:21GitHub
21credential access at line 21 + outbound network at line 130
模型研判占位/示例

PASSWORD默认值'DemoPass!1'是README截图脚本的演示占位密码,仅用于本地开发环境(BASE=127.0.0.1:8002)登录测试,未随插件分发(不在package.json files列表),不构成凭据外泄风险。

修复建议拆分能力边界、限定目的域名,并证明不会发送凭据值。

依赖漏洞 · L1

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

身份与来源

GitHubxbzbing/dsh-auth-gateway固定 commitc406fd4868d0 · 2026-08-21内容摘要sha256:7a6da1bac3c1f458npmdsh-auth-gateway@0.4.2 · 6 个版本最近发布2026-08-20 10:08 UTCrepository 字段未声明 repository发布来源证明无 provenance维护者1发布包 ↔ 源码未比对收录日期2026-08-17

宿主能力

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

检测覆盖

源码获取已完成
manifest 解析已完成
bundle 配置已完成
依赖锁定有锁文件
已知漏洞查询已完成
来源身份已完成
发布包 ↔ 源码比对未比对
模型研判已完成
隔离动态运行未执行
人工复核未执行
2026-08-22 08:26 UTC存在风险
HT-DSH-0.2.2 · c406fd4
策略升级到 HT-DSH-0.2.2
2026-08-21 11:27 UTC存在风险
HT-DSH-0.2.1 · 59a793d
策略升级到 HT-DSH-0.2.1
2026-08-21 10:56 UTC存在风险
HT-DSH-0.2.0 · 362d049
首次扫描

徽章

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

已知限制与申诉

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