安装验证:运行验证通过 (L5) · 验证于 dsh 0.2.1-rc.2 · 验证日期 安装验证详情 →
功能介绍AI
接入任意 OpenAI 兼容生图服务,让模型在对话里直接生成与修改图片,并以原生图片卡展示。
- 通过任意 OpenAI 兼容接口提供生图与改图两个工具
- 改图可取本会话最近一张图,结果以平台原生图片卡呈现
- 生图/改图各自确认开关、完整设置页、识别上游模型、外部调用接口
能力标签为 AI 推断或 README 规则抽取(见角标),词表受限、未经安装验证;AI = 推断,README = 原文关键词。
安装
dsh plugin --profile web add github:lance808/dsh-image-tool安装方式: GitHub · 运行验证通过 (L5)
验证与兼容性
按插件版本分组:每张卡是该插件版本实测过的 dsh 版本与安装兼容结论(L5 优先)。只列真测过的组合——未列出 = 未实测,不推定兼容。L1–L3 为插件级静态档(与 dsh 版本无关,各 dsh 行同值):在行内「验证等级」格里与 L4/L5 并列显示、标注「静态」,证据体为插件级单份、随行内「查看检查项与证据」出现,不在各版本重复存储。
External credentials(插件级):未检测到
○ 作者未声明 dsh 版本要求 —— 安装不会因版本被拒。
| 插件版本 \ dsh | dsh 0.2.1-rc.2 当前 | dsh 0.2.1-alpha.4 | dsh 0.2.1-alpha.2 |
|---|---|---|---|
| 9e73d3 | ✓ | ✓ | ✓ |
9e73d3github✓ 运行验证通过 32026-10-18
https://github.com/lance808/dsh-image-tool
✓dsh 0.2.1-rc.2当前2026-10-18L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.1-rc.2
- • 被测插件工件: github · https://github.com/lance808/dsh-image-tool(版本未标注)
ID: dsh-image-tool@9e73d3@dsh0.2.1-rc.2 · 档位: l4-sandbox
签发:2026-10-18 · 有效至:2026-10-25
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.2.1-alpha.42026-10-16L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.4
- • 被测插件工件: github · https://github.com/lance808/dsh-image-tool(版本未标注)
ID: dsh-image-tool@9e73d3@dsh0.2.1-alpha.4 · 档位: l4-sandbox
签发:2026-10-16 · 有效至:2026-10-23
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.2.1-alpha.22026-10-14L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.2
- • 被测插件工件: github · https://github.com/lance808/dsh-image-tool(版本未标注)
ID: dsh-image-tool@9e73d3@dsh0.2.1-alpha.2 · 档位: l4-sandbox
签发:2026-10-14 · 有效至:2026-10-21
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
作者徽章
将官方徽章嵌入你的 README,展示插件的安全与安装检测状态:
`[](https://www.dsh.so/artifact/dsh-image-tool/)``[](https://www.dsh.so/artifact/dsh-image-tool/)`安全报告
两层自动化检查,都不是人工审核:静态扫描(逐插件规则判定)与模型驱动的动态安全审计(只覆盖静态判定 warn 及以上的插件子集,不执行插件代码)。
静态扫描 低,动态审计最高 中,按「取更严者」→ 总评级 中。
v0.2.0dsh 清单0.2.0git2026-10-210.2.0版本一致clean · gitvet 为 AST 静态扫描(npm 发布物或 git 源码)。
静态发现(9 条)
- 警告netIp · network
client.js:698+ '本机生图服务(如 http://127.0.0.1:7860)同样支持。', - 警告fsWrite · files
lib/diag.js:24fs.appendFileSync(file, `[${new Date().toISOString()}] ${message}\n`); - 警告netIp · network
lib/index.js:65apiUrl: z.string().default('').description('生图接口基址,例如 https://api.openai.com/v1(允许 http://127.0.0.1:xxxx 这类本地服务)').extra('volatile', true), - 警告netIp · network
lib/routes.js:90const url = new URL(req.url ?? '/', 'http://127.0.0.1'); - 警告netIp · network
lib/routes.js:318const url = new URL(req.url ?? '/', 'http://127.0.0.1'); - 警告fsWrite · files
lib/save.js:54await fs.writeFile(path.join(dir, parts.at(-1)), stored.data, { flag: 'wx', signal }); - 警告netIp · network
scripts/mock-image-api.mjs:72const url = new URL(req.url ?? '/', 'http://127.0.0.1'); - 警告netIp · network
scripts/mock-image-api.mjs:128console.log(`[mock] 假生图服务已启动:http://127.0.0.1:${PORT}/v1`); - 警告netIp · network
scripts/mock-image-api.mjs:129console.log(`[mock] 把插件 apiUrl 设为 http://127.0.0.1:${PORT}/v1 即可(apiKey 随便填非空值)`);
展开 2 条审计发现
- medium上游图片地址 SSRF 防护仅匹配主机名字符串,DNS 与非点分 IPv6 形式未被拦截
lib/generate.js:206assertFetchableImageUrl 是 fetchImage(url) 下载上游地址前唯一的关卡,但它只看字面主机名:解析到 127.0.0.1/169.254.169.254 的域名(中转方控制的 A 记录,或带尾点的 'localhost.',它不等于 'localhost' 因而漏过)都能通过;十六进制写法的 IPv4 映射 IPv6(如 [::ffff:7f00:1],去括号后为 '::ffff:7f00:1')不匹配点分正则,直接落到 'return false'。于是恶意/被攻陷的中转站(本插件明确支持的场景)可让 DSH 主机向环回、链路本地、内网服务发起 GET,响应被当图片解码、存入附件,并可通过 save_generated_image 落到工作区(盲 SSRF + 资产外带)。
- low诊断日志把提示词与路径写入可预测、同机可读的临时文件
lib/diag.js:15默认会以系统默认权限(通常 0644)持续追加写入 <tmpdir>/dsh-image-tool.log。调用方会把用户内容写进去:routes.js 记录 'prompt=…'(截断 80 字)、图片引用与 cwd,index.js 记录落盘路径与上游错误正文。在多用户/共享主机上,本机其他用户可读取用户的生图提示词、工作区路径与上游报错内容。泄露内容仅为提示词/路径/元数据,API Key 本身不会被记录。
上游图片地址的 SSRF 防护只做主机名字符串匹配(DNS 解析与 IPv6 变体可绕过),诊断日志还会把提示词写入共享临时文件。
口径:动态审计只会把风险往严重里判,不会把风险降下来(只升不降,不构成豁免);模型判错时由人工复核撤回,撤回后回到静态判定。合并判定 = 两层中更严的那一个。
免责声明:静态扫描与动态安全审计都是自动化分析,不构成安全保证。安装前请自行审查。
活跃度
最近提交 2026-10-14 · 活跃度:活跃
• 仓库创建: 2026-10-14
• 星标: ★ 1 · 复刻: 0
• 健康度: 活跃 — 近 30 天有提交
来源
作者 README
GitHub 原文 ↗展示作者仓库中的原始 README 内容,实时抓取、未做改写;优先加载中文版(README.zh-CN.md 等),无中文版时回退英文。
