返回插件页
安全检测报告

dsh-vision-router存在风险84/100

@ysr666
视觉与多模态npm 预构建包

为纯文本 Agent 提供视觉能力:内置免 Key 视觉链 + 像素级视觉工具(看图问答、定位、裁剪、像素对比、取色、OCR、矢量化、抠图、截图);粘贴图片即可用。

Star935GitHub · 仅用于排序
npm 周下载26.4kdsh-vision-router
固定 commit9e9a938e532026-08-22
扫描时间2026-08-22 08:19 UTCHT-DSH-0.2.2

检测结论

CAUTION · HT-DSH-0.2.2 · 9e9a938

在 168 个文件中有 11 项有效发现(置信度 ≥ 中)。

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

检测明细

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

权限清单 · cordis patch 解析

插件安装后会改变宿主的哪些行
插入的行1
覆盖/禁用的宿主行1
!!js 表达式0
浏览器端 bundleweb
覆盖的宿主行
宿主行 id级别改动含义
attachment-local敏感maxImageBytes, maxImagePixels, maxImageDimension改写配置 attachment-local
安全关键 seam · 未改动
sandboxsandbox-policybash-sandboxpwsh-sandboxapprovalpermissioncredentialssubprocessshell-envfs-observation-policy
“未改动”只说明该插件的 patch 没有覆盖这些行;插件代码仍以宿主进程权限运行。
插入的行
vision-router · dsh-vision-router
源码中出现的外部主机
oai.endpoints.kepler.ai.cloud.ovh.netopencode.aiopen.bigmodel.cnwww.npmjs.comhost.exampleapi.github.comdashscope.aliyuncs.comopenrouter.aiapi.siliconflow.cn
只是字符串出现,不等于运行时一定访问;用于核对插件声称的服务商与实际目的地是否一致。

证据

11 项有效 · 按严重度排序 · 严重项不折叠
HT-PERMISSION-002覆盖敏感宿主能力
置信度 高L3 · DSH 权限语义
cordis.patch.yml:40GitHub
40override: id=attachment-local config[maxImageBytes,maxImagePixels,maxImageDimension]
规则备注 · 改写配置 attachment-local
改写系统提示词、模型调用、会话持久化或工具行会改变 Agent 的行为与数据去向。
修复建议在 README 中说明覆盖了哪些行及原因,并尽量只重述必要的配置键。
HT-DATA-001同一模块同时接触凭据与网络
置信度 中L2 · 静态分析
index.js:2446GitHub
2446credential access at line 2446 + outbound network at line 3211
模型研判功能所需

resolveApiKey 通过 credentials.resolve(ref) 或环境变量取得用户自配置的 DeepSeek API Key,用于重建原生 llm-deepseek 适配器发起官方请求,属于视觉链复用官方路由的必要功能,凭据流向用户已配置的 DeepSeek 服务而非第三方。

同一执行边界同时拥有秘密读取和对外发送能力,已形成直接的数据外传路径;对模型接入类插件这通常是功能本身。
修复建议拆分能力边界、限定目的域名,并证明不会发送凭据值。
HT-VULN-001依赖存在已知漏洞
置信度 中L1 · 已知漏洞
pnpm-lock.yamlGitHub
1phin@2.9.3 GHSA-x565-32qp-m3vf fixed in 3.7.1
OSV.dev 收录的公开漏洞存在于锁定的生产依赖树中;是否可被利用取决于插件如何使用该依赖。
修复建议升级到修复版本,或评估并移除该依赖。
低等级发现 8 项 · 计入结论但不改变状态展开
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
index.js:28GitHub
28node:child_process
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
lib/doctor-runtime.jsGitHub
1spawnSync
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
lib/doctor-runtime.jsGitHub
1node:child_process
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
lib/file-logger.js:4GitHub
4node:child_process
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
lib/local-vision-stabilizer.jsGitHub
1node:child_process
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
lib/self-update.jsGitHub
1node:child_process
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
lib/tesseract-exec-compat.js:8GitHub
8node:child_process
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
lib/tesseract-exec-compat.js:13GitHub
13child_process
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
低置信度命中 20 项 · 不计入结论展开
HT-RUNTIME-001动态代码执行
置信度 低L2 · 静态分析
tests/adversarial-hardening.test.js:138GitHub
138new Function(
规则备注 · 位于测试、示例或文档目录
修复建议使用静态模块和受约束的配置解析器,避免执行动态字符串。
HT-RUNTIME-001动态代码执行
置信度 低L2 · 静态分析
tests/client-presentation-boundary.test.js:64GitHub
64vm.runInNewContext(
规则备注 · 位于测试、示例或文档目录
修复建议使用静态模块和受约束的配置解析器,避免执行动态字符串。
HT-RUNTIME-001动态代码执行
置信度 低L2 · 静态分析
tests/client-presentation-boundary.test.js:144GitHub
144vm.runInNewContext(
规则备注 · 位于测试、示例或文档目录
修复建议使用静态模块和受约束的配置解析器,避免执行动态字符串。
HT-EXEC-001直接创建宿主子进程
置信度 低L2 · 静态分析
tests/doctor-cli.test.js:3GitHub
3spawnSync
规则备注 · 位于测试、示例或文档目录
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 低L2 · 静态分析
tests/doctor-cli.test.js:3GitHub
3node:child_process
规则备注 · 位于测试、示例或文档目录
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-RUNTIME-001动态代码执行
置信度 低L2 · 静态分析
tests/live-model-discovery.test.js:246GitHub
246vm.runInNewContext(
规则备注 · 位于测试、示例或文档目录
修复建议使用静态模块和受约束的配置解析器,避免执行动态字符串。
HT-RUNTIME-001动态代码执行
置信度 低L2 · 静态分析
tests/local-remote-settings-permission.test.js:126GitHub
126vm.runInNewContext(
规则备注 · 位于测试、示例或文档目录
修复建议使用静态模块和受约束的配置解析器,避免执行动态字符串。
HT-EXEC-001直接创建宿主子进程
置信度 低L2 · 静态分析
tests/native-multimodal-process-restart-contract.mjs:2GitHub
2spawnSync
规则备注 · 位于测试、示例或文档目录
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 低L2 · 静态分析
tests/native-multimodal-process-restart-contract.mjs:2GitHub
2node:child_process
规则备注 · 位于测试、示例或文档目录
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 低L2 · 静态分析
tests/pi-ai-native-process-restart-contract.mjs:2GitHub
2spawnSync
规则备注 · 位于测试、示例或文档目录
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 低L2 · 静态分析
tests/pi-ai-native-process-restart-contract.mjs:2GitHub
2node:child_process
规则备注 · 位于测试、示例或文档目录
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-RUNTIME-001动态代码执行
置信度 低L2 · 静态分析
tests/provider-directory-fallback.test.js:57GitHub
57vm.runInNewContext(
规则备注 · 位于测试、示例或文档目录
修复建议使用静态模块和受约束的配置解析器,避免执行动态字符串。
HT-RUNTIME-001动态代码执行
置信度 低L2 · 静态分析
tests/qa-top5-reliability.test.js:178GitHub
178vm.runInNewContext(
规则备注 · 位于测试、示例或文档目录
修复建议使用静态模块和受约束的配置解析器,避免执行动态字符串。
HT-RUNTIME-001动态代码执行
置信度 低L2 · 静态分析
tests/remote-settings-risk-confirmation.test.js:132GitHub
132vm.runInNewContext(
规则备注 · 位于测试、示例或文档目录
修复建议使用静态模块和受约束的配置解析器,避免执行动态字符串。
HT-RUNTIME-001动态代码执行
置信度 低L2 · 静态分析
tests/remote-settings-risk-confirmation.test.js:133GitHub
133vm.runInNewContext(
规则备注 · 位于测试、示例或文档目录
修复建议使用静态模块和受约束的配置解析器,避免执行动态字符串。
HT-EXEC-001直接创建宿主子进程
置信度 低L2 · 静态分析
tests/runtime-e2e.test.js:9GitHub
9node:child_process
规则备注 · 位于测试、示例或文档目录
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-RUNTIME-001动态代码执行
置信度 低L2 · 静态分析
tests/settings-scroll-jank-regression.test.js:34GitHub
34vm.runInNewContext(
规则备注 · 位于测试、示例或文档目录
修复建议使用静态模块和受约束的配置解析器,避免执行动态字符串。
HT-RUNTIME-001动态代码执行
置信度 低L2 · 静态分析
tests/settings-section-order.test.js:39GitHub
39vm.runInNewContext(
规则备注 · 位于测试、示例或文档目录
修复建议使用静态模块和受约束的配置解析器,避免执行动态字符串。
HT-EXEC-001直接创建宿主子进程
置信度 低L2 · 静态分析
tests/tesseract-node24-boot.test.js:4GitHub
4node:child_process
规则备注 · 位于测试、示例或文档目录
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 低L2 · 静态分析
tests/tesseract-node24-boot.test.js:10GitHub
10node:child_process
规则备注 · 位于测试、示例或文档目录
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。

依赖漏洞 · L1

已查询 OSV.dev:pnpm-lock.yaml 中的生产依赖,1 个已知漏洞
开发依赖及其传递链不计入;只覆盖 OSV 收录的公开漏洞;是否可被利用取决于插件如何使用该依赖。
漏洞依赖严重度修复版本摘要
GHSA-x565-32qp-m3vfphin@2.9.33.7.1phin may include sensitive headers in subsequent requests after redirect

身份与来源

GitHubysr666/dsh-vision-router固定 commit9e9a938e53a7 · 2026-08-22内容摘要sha256:fee66a7e4b181032npmdsh-vision-router@1.7.4 · 26 个版本最近发布2026-08-21 05:53 UTCrepository 字段指向同一仓库发布来源证明有 provenance 证明维护者1发布包 ↔ 源码未比对收录日期2026-08-14

宿主能力

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

检测覆盖

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

徽章

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

已知限制与申诉

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