返回插件页
安全检测报告

dsh-balance-widget存在风险94/100

@LL-cmyk-so
用量与计费npm 预构建包代码行为与描述一致

DSH Web GUI 的余额与成本小部件:侧边栏底部卡片显示账户余额、剩余比例条与今日花费;点击展开四层级成本明细(最近提问 / 本会话 / 今日·本项目 / 今日·全部),带名词解释与一键充值入口。零依赖,兼容 Node 24。

Star1GitHub · 仅用于排序
npm 周下载1,488dsh-balance-widget
固定 commitea2db425f32026-08-18
扫描时间2026-08-22 08:31 UTCHT-DSH-0.2.2

检测结论

CAUTION · HT-DSH-0.2.2 · ea2db42

该插件声称为DSH侧边栏余额/成本小部件,代码通过宿主credentials服务或环境变量解析用户自己的DeepSeek API Key,仅用于查询官方DeepSeek /user/balance接口,并以loopback+guard限制本地HTTP接口访问,行为与描述一致;需注意API Key解析优先级链及本地HTTP服务访问控制是否足够严格。

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

检测明细

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

权限清单 · cordis patch 解析

插件安装后会改变宿主的哪些行
插入的行1
覆盖/禁用的宿主行0
!!js 表达式0
浏览器端 bundleweb
覆盖的宿主行
没有覆盖任何 dsh-base 宿主行。
安全关键 seam · 未改动
sandboxsandbox-policybash-sandboxpwsh-sandboxapprovalpermissioncredentialssubprocessshell-envfs-observation-policy
“未改动”只说明该插件的 patch 没有覆盖这些行;插件代码仍以宿主进程权限运行。
插入的行
balance-widget · dsh-balance-widget
源码中出现的外部主机
platform.deepseek.comapi.deepseek.comapi-docs.deepseek.com
只是字符串出现,不等于运行时一定访问;用于核对插件声称的服务商与实际目的地是否一致。

证据

3 项有效 · 按严重度排序 · 严重项不折叠
HT-DATA-001同一模块同时接触凭据与网络
置信度 中L2 · 静态分析
lib/index.js:162GitHub
162credential access at line 162 + outbound network at line 202
模型研判功能所需

resolveApiKey经credentials.resolve/launchEnvironment/process.env取得DeepSeek API Key后仅用于向官方/user/balance端点发起请求,是余额小部件核心功能且请求入口受loopback+guard限制。

同一执行边界同时拥有秘密读取和对外发送能力,已形成直接的数据外传路径;对模型接入类插件这通常是功能本身。
修复建议拆分能力边界、限定目的域名,并证明不会发送凭据值。
低等级发现 2 项 · 计入结论但不改变状态展开
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
lib/index.js:419GitHub
419node:child_process
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
lib/index.js:442GitHub
442node:child_process
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。

依赖漏洞 · L1

未执行:无锁文件。没有锁文件就没有确定的依赖树,我们不会拿声明范围猜版本去查。

身份与来源

GitHubLL-cmyk-so/dsh-balance-widget固定 commitea2db425f356 · 2026-08-18内容摘要sha256:15f1fffde9c60b15npmdsh-balance-widget@0.4.5 · 11 个版本最近发布2026-08-18 14:39 UTCrepository 字段指向同一仓库发布来源证明无 provenance维护者1发布包 ↔ 源码未比对收录日期2026-08-20

宿主能力

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

检测覆盖

源码获取已完成
manifest 解析已完成
bundle 配置已完成
依赖锁定无锁文件
已知漏洞查询无锁文件
来源身份已完成
发布包 ↔ 源码比对未比对
模型研判已完成
隔离动态运行未执行
人工复核未执行
2026-08-22 08:31 UTC存在风险
HT-DSH-0.2.2 · ea2db42
判定从 REVIEW 变为 CAUTION
2026-08-21 11:34 UTC高风险
HT-DSH-0.2.1 · ea2db42
判定从 CAUTION 变为 REVIEW
2026-08-21 11:03 UTC存在风险
HT-DSH-0.2.0 · ea2db42
首次扫描

徽章

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

已知限制与申诉

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