安装验证:运行验证通过 (L5) · 验证于 dsh 0.2.1-rc.2 · 验证日期 安装验证详情 →
功能介绍AI
带有会话隔离、缩略图预览和重新下载功能的文件库插件。
- 回形针文件库,支持会话级隔离
- 为文件生成缩略图预览
- 支持重新下载文件
能力标签为 AI 推断或 README 规则抽取(见角标),词表受限、未经安装验证;AI = 推断,README = 原文关键词。
安装
dsh plugin --profile web add github:seeingrain/dsh-upload-file#v0.4.12安装方式: GitHub · 运行验证通过 (L5)
验证与兼容性
按插件版本分组:每张卡是该插件版本实测过的 dsh 版本与安装兼容结论(L5 优先)。只列真测过的组合——未列出 = 未实测,不推定兼容。L1–L3 为插件级静态档(与 dsh 版本无关,各 dsh 行同值):在行内「验证等级」格里与 L4/L5 并列显示、标注「静态」,证据体为插件级单份、随行内「查看检查项与证据」出现,不在各版本重复存储。
External credentials(插件级):未检测到
依据:1 条要求、覆盖 5 个 @deepseek-ai/dsh-* 子包。 看原始区间
^0.1.0-rc.6 ×5
✗ 当前 dsh 0.2.1-rc.2 不在支持范围内 —— 官方安装门控会直接拒绝装(incompatible-version)。
强行安装需精确豁免一次:dsh plugin allow-version dsh-upload-file-3@0.4.12 0.2.1-rc.2(豁免记在本机 profile,本站不假定你是否已豁免)
能否正常运行是另一件事 → 见下方实测矩阵(L1–L5)。
| 插件版本 \ dsh | dsh 0.2.1-rc.2 当前 | dsh 0.2.1-alpha.2 | dsh 0.2.0-rc.2 | dsh 0.2.0-rc.1 | dsh 0.1.7-rc.2 |
|---|---|---|---|---|---|
| v0.4.12 | ✓ | ✓ | ✓ | ✓ | ✓ |
v0.4.12github✓ 运行验证通过 102026-10-20
https://github.com/seeingrain/dsh-upload-file
✓dsh 0.2.1-rc.2当前2026-10-20L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.1-rc.2
- • 被测插件工件: github · https://github.com/seeingrain/dsh-upload-file#v0.4.12
ID: dsh-upload-file-3@v0.4.12@dsh0.2.1-rc.2 · 档位: l4-sandbox
签发:2026-10-20 · 有效至:2026-10-27
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.2.1-alpha.22026-10-11L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.2
- • 被测插件工件: github · https://github.com/seeingrain/dsh-upload-file#v0.4.12
ID: dsh-upload-file-3@v0.4.12@dsh0.2.1-alpha.2 · 档位: l4-sandbox
签发:2026-10-11 · 有效至:2026-10-18
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.2.0-rc.22026-10-09L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.0-rc.2
- • 被测插件工件: github · https://github.com/seeingrain/dsh-upload-file#v0.4.12
ID: dsh-upload-file-3@v0.4.12@dsh0.2.0-rc.2 · 档位: l4-sandbox
签发:2026-10-09 · 有效至:2026-10-16
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.2.0-rc.12026-09-30L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.0-rc.1
- • 被测插件工件: github · https://github.com/seeingrain/dsh-upload-file#v0.4.12
ID: dsh-upload-file-3@v0.4.12@dsh0.2.0-rc.1 · 档位: l4-sandbox
签发:2026-09-30 · 有效至:2026-10-07
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.1.7-rc.22026-09-25L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.7-rc.2
- • 被测插件工件: github · https://github.com/seeingrain/dsh-upload-file#v0.4.12
ID: dsh-upload-file-3@v0.4.12@dsh0.1.7-rc.2 · 档位: l4-sandbox
签发:2026-09-25 · 有效至:2026-10-02
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.1.6-alpha.22026-09-20L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.6-alpha.2
- • 被测插件工件: github · https://github.com/seeingrain/dsh-upload-file#v0.4.12
ID: dsh-upload-file-3@v0.4.12@dsh0.1.6-alpha.2 · 档位: l4-sandbox
签发:2026-09-20 · 有效至:2026-09-27
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.1.6-alpha.12026-09-17L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.6-alpha.1
- • 被测插件工件: github · https://github.com/seeingrain/dsh-upload-file#v0.4.12
ID: dsh-upload-file-3@v0.4.12@dsh0.1.6-alpha.1 · 档位: l4-sandbox
签发:2026-09-17 · 有效至:2026-09-24
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.1.5-rc.22026-09-11L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.5-rc.2
- • 被测插件工件: github · https://github.com/seeingrain/dsh-upload-file#v0.4.12
ID: dsh-upload-file-3@v0.4.12@dsh0.1.5-rc.2 · 档位: l4-sandbox
签发:2026-09-11 · 有效至:2026-09-18
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.1.3-alpha.22026-09-08L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.3-alpha.2
- • 被测插件工件: github · https://github.com/seeingrain/dsh-upload-file#v0.4.12
ID: dsh-upload-file-3@v0.4.12@dsh0.1.3-alpha.2 · 档位: l4-sandbox
签发:2026-09-08 · 有效至:2026-09-15
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓版本史前2026-10-04L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: unknown
- • 被测插件工件: github · https://github.com/seeingrain/dsh-upload-file#v0.4.12
ID: dsh-upload-file-3@v0.4.12@dshunknown · 档位: l4-sandbox
签发:2026-10-04 · 有效至:2026-10-11
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
仅展示最近 3 个已发布版本;源码快照(commit hash)组、未标注工件组与更早版本不展示——全量档案保留在数据层(插件无任何已发布版本时,快照/未标注组才照常展示)。
作者徽章
将官方徽章嵌入你的 README,展示插件的安全与安装检测状态:
`[](https://www.dsh.so/artifact/dsh-upload-file-3/)``[](https://www.dsh.so/artifact/dsh-upload-file-3/)``[](https://www.dsh.so/artifact/dsh-upload-file-3/)``[](https://www.dsh.so/artifact/dsh-upload-file-3/)``[](https://www.dsh.so/artifact/dsh-upload-file-3/)``[](https://www.dsh.so/artifact/dsh-upload-file-3/)`安全报告
两层自动化检查,都不是人工审核:静态扫描(逐插件规则判定)与模型驱动的动态安全审计(只覆盖静态判定 warn 及以上的插件子集,不执行插件代码)。
静态扫描 低,动态审计最高 中,按「取更严者」→ 总评级 中。
v0.4.12dsh 清单v0.4.12git2026-10-22v0.4.12版本一致clean · gitvet 为 AST 静态扫描(npm 发布物或 git 源码)。
静态发现(5 条)
- 严重newFunction · code-exec
lib/index.js:244schema.callback = new Function("return " + schema.callback)(); - 警告shellExec · shell
lib/index.js:1006execFile(cmd, args, { timeout: timeoutMs }, (err) => resolve(err ? null : true)); - 警告shellExec · shell
lib/index.js:1080execFile("ffprobe", [ - 警告shellExec · shell
src/index.ts:156execFile(cmd, args, { timeout: timeoutMs }, (err) => resolve(err ? null : true)) - 警告shellExec · shell
src/index.ts:198execFile('ffprobe', ['-v', 'error', '-show_entries', 'format=duration', '-of', 'default=nw=1:nk=1', src], { timeout: 15000 }, (err, so) => r
展开 2 条审计发现
- medium上传的 HTML 以 text/html 同源内联返回(无 nosniff、无鉴权)
src/index.ts:130GET /dsh-upload-file/v1/attachments/content?sessionId=<uuid>&name=x.html 会把攻击者可控的 HTML 以 text/html + inline 返回,且与 DSH Web 应用同源。用户一旦打开该链接(粘贴链接、聊天中的引用、新标签页),攻击者脚本即在应用源内执行,可调用同源宿主 RPC(如 POST /api/host.openPath)并读取当前会话的附件列表。插件界面本身只把它当 <img src> 使用,触发需要一次显式导航,但没有任何机制阻止。
- medium提交后立即用 ffmpeg/ffprobe/pdftoppm 在宿主上解析不受信任的上传文件
src/index.ts:185commit 处理会按扩展名自动执行 `void ensureThumbnail(dir, fileName)`,把上传文件直接交给以宿主进程用户身份运行的 ffmpeg/ffprobe(PDF 则 pdftoppm),没有沙箱、没有除 30s/15s 超时外的资源隔离,也不需要用户显式确认。精心构造的媒体/PDF 文件可触发这些原生工具的解析漏洞(宿主代码执行/崩溃/CPU 占用)。参数处理本身是安全的(execFile + 参数数组、固定程序名、路径来自已校验的会话目录),因此这是解析面风险,而非命令注入。
静态扫描的 critical(child_process)经核实不构成命令注入(execFile 固定程序 + 数组参数);仍有两个中等风险:把上传的 HTML 同源内联返回、以及无沙箱地用 ffmpeg/pdftoppm 解析上传文件。
口径:动态审计只会把风险往严重里判,不会把风险降下来(只升不降,不构成豁免);模型判错时由人工复核撤回,撤回后回到静态判定。合并判定 = 两层中更严的那一个。
免责声明:静态扫描与动态安全审计都是自动化分析,不构成安全保证。安装前请自行审查。
活跃度
最近提交 2026-09-05 · 活跃度:稳定
• 仓库创建: 2026-09-05
• 星标: ★ 0 · 复刻: 0
• 健康度: 稳定 — 近 90 天有提交
来源
作者 README
GitHub 原文 ↗展示作者仓库中的原始 README 内容,实时抓取、未做改写;优先加载中文版(README.zh-CN.md 等),无中文版时回退英文。
