返回插件页
安全检测报告

dsh-plugin-image-input存在风险95/100

@Elohia
视觉与多模态npm 预构建包代码行为与描述一致

图片转文字输入插件:粘贴/拖拽图片自动转为结构化文字描述发送,给纯文本 LLM 提供图片输入接管(OpenAI 兼容视觉 API)。

Star0GitHub · 仅用于排序
npm 周下载352dsh-plugin-image-input
固定 commita96667f6b12026-08-15
扫描时间2026-08-22 08:35 UTCHT-DSH-0.2.2

检测结论

CAUTION · HT-DSH-0.2.2 · a96667f

插件按描述实现“图片转文字”功能:VISION脚本读取用户在设置页或本地配置/环境变量中提供的视觉API Key,调用用户指定(或默认dashscope)的OpenAI兼容端点完成图片转述,凭据流向与网络请求均服务于既定功能。需注意的是apiKey回退逻辑会依次尝试多个不同厂商的环境变量(DASHSCOPE/QWEN/OPENAI/GEMINI),若未显式配置baseUrl,可能出现将非dashscope厂商的Key发往默认dashscope地址的错配风险,属实现瑕疵而非蓄意窃取。整体功能与描述一致。

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

检测明细

每层做了什么、跑没跑、有效发现数
L0来源身份npm 元数据 ↔ 仓库已完成0
L1供应链安装脚本 · 未固定依赖 · 锁文件无锁文件0
L1已知漏洞OSV.dev · 仅生产依赖闭包无锁文件0
L2静态分析5 个文件 · 原始命中 3已完成1
L2.5模型研判sonnet · 3/2已完成3
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 没有覆盖这些行;插件代码仍以宿主进程权限运行。
插入的行
image-input · dsh-plugin-image-input
源码中出现的外部主机
dashscope.aliyuncs.com
只是字符串出现,不等于运行时一定访问;用于核对插件声称的服务商与实际目的地是否一致。

证据

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

apiKey取自本地配置文件或环境变量后,用于调用cfg.baseUrl指定的OpenAI兼容视觉API(默认dashscope),正是设置页配置的视觉转文字核心流程,属声明功能而非外泄。

同一执行边界同时拥有秘密读取和对外发送能力,已形成直接的数据外传路径;对模型接入类插件这通常是功能本身。
修复建议拆分能力边界、限定目的域名,并证明不会发送凭据值。
低置信度命中 2 项 · 不计入结论展开
HT-RUNTIME-001动态代码执行
置信度 低L2 · 静态分析
lib/index.js:91GitHub
91eval(
规则备注 · 出现在字符串或注释中
模型研判占位/示例

该行仅是 AST_HINTS 字典中的字符串常量,描述 unsafe-stmt 类型警告的提示文本,并未实际调用 eval()。

修复建议使用静态模块和受约束的配置解析器,避免执行动态字符串。
严重HT-RUNTIME-001动态代码执行
置信度 低L2 · 静态分析
lib/index.js:236GitHub
236eval(
规则备注 · 动态执行与编码解码出现在同一语句,是典型的载荷隐藏模式
模型研判占位/示例

该行仅是 AST_HINTS 字典中的字符串常量,描述 unsafe-stmt 类型警告的提示文本,并未实际调用 eval()。

修复建议使用静态模块和受约束的配置解析器,避免执行动态字符串。

依赖漏洞 · L1

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

身份与来源

GitHubElohia/dsh-plugin-image-input固定 commita96667f6b144 · 2026-08-15内容摘要sha256:ddde07b0b12392c0npmdsh-plugin-image-input@0.1.1 · 1 个版本最近发布2026-08-15 03:57 UTCrepository 字段指向同一仓库发布来源证明无 provenance维护者1发布包 ↔ 源码未比对收录日期2026-08-15

宿主能力

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

检测覆盖

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

徽章

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

已知限制与申诉

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