dsh-plugin-wwrs-comfyui
github.com/ksxh0524/dsh-plugin-wwrs-comfyui
v0.1.1
开发与运行时
写入文件发起网络请求R013 清单可疑
远程 ComfyUI 工作流 DSH 插件(开源):通过远程 ComfyUI 服务器提交、查询、等待和取消任务;工作流模板随包一起发布。零运行时依赖。W3 已落地:`comfy_submit` / `comfy_status` / `comfy_wait` / `comfy_cancel` / `comfy_templates` 均已实现、测试通过、状态全绿。
作者原文(英文)
ComfyUI workflow DSH plugin (open source): submit/query/wait over remote ComfyUI; workflow templates ship with package. Zero runtime dependencies.
中文简介由 DeepSeek 模型翻译,仅供参考。
dshdeepseek-harnessdsh-plugincomfyuimedia
源仓库已无法访问 这个仓库已经删除、改名或转为私有,看不到源码了。npm 上的包仍然可以安装——安装走的是 npm,不读 GitHub——但无法审阅代码,装之前请自行判断。
检测报告
有一定能力。命中了若干能力模式,大多是插件正常工作时会用到的。
3需留意4一般17未命中
高关注需留意一般
能力清单
- 写入文件
writes-files需留意12 处命中src/lib/comfy-client.ts:271await mkdir(dirname(resolve(destination)), { recursive: true });src/lib/comfy-client.ts:272await writeFile(destination, buffer);tests/comfy-tools.test.ts:29mkdirSync(join(ws, "media"), { recursive: true });tests/comfy-tools.test.ts:30writeFileSync(join(ws, "media", "ref.png"), Buffer.from([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]));- 看写入位置。写自己的配置目录是正常的,写系统目录不是。
- 发起网络请求
network需留意1 处命中src/lib/comfy-client.ts:120this.transport = options.transport ?? ((url, init) => fetch(url, init));- 看请求发往哪些域名。发往作者自己的后端是常见做法。
- R013 清单可疑
manifest-obfuscation需留意1 处命中- 安装脚本: prepare
- 清单被刻意写乱时,加载行为会难以预测。看原文而不是看渲染结果。
- 读取文件
reads-files一般21 处命中src/lib/comfy-client.ts:147body.append(kind, new Blob([await readFile(absPath)]), basename(localPath));tests/comfy-tools.test.ts:111assert.ok(existsSync(join(dir, entry.file)), `模板文件缺失 ${entry.file}`);tests/comfy-tools.test.ts:209assert.equal(readFileSync(join(ws, "media", "out.mp4"), "utf8"), "old");tests/comfy-tools.test.ts:236assert.ok(existsSync(receiptPath));- 读文件是绝大多数插件的正常工作方式,本身不构成顾虑。
- 读取环境变量
reads-env一般6 处命中src/lib/comfy-client.ts:51const env = opts.env ?? process.env;src/lib/comfy-client.ts:64export function resolveHttpTimeoutMs(env: EnvMap = process.env): number {src/lib/comfy-client.ts:125const env = opts.env ?? process.env;tests/comfy-tools.test.ts:438const HAS_REMOTE = Boolean(process.env.COMFYUI_BASE_URL);- 环境变量里常混有密钥。看它是否把整个 env 都读走。
- 接触凭据或密钥
credentials一般3 处命中README.md:34Workspace resolution: `config.workspace` > env `WWRS_WORKSPACE` > upward probe for `.wwrs/workspace.json` > fail loud. A…tests/comfy-tools.test.ts:228const tools = toolsOf(localConfig(ws, fetch, { COMFYUI_AUTH_TOKEN: "secret-xyz" }));tests/comfy-tools.test.ts:237assert.ok(!readFileSync(receiptPath, "utf8").includes("secret-xyz"), "收据含 token");- 看它读取哪些凭据、发往哪里。用于登录自己的服务是正常的。
- 动态加载模块
dynamic-import一般2 处命中src/lib/comfy-client.ts:269const { mkdir, writeFile } = await import("node:fs/promises");src/lib/comfy-client.ts:270const { dirname, resolve } = await import("node:path");- 动态导入本身无害,但会让依赖关系难以静态审阅。
逐条扫描明细
| 能力 | 标识 | 关注度 | 命中次数 |
|---|---|---|---|
| 写入文件 | writes-files | 需留意 | 12 |
| 发起网络请求 | network | 需留意 | 1 |
| R013 清单可疑 | manifest-obfuscation | 需留意 | 1 |
| 读取文件 | reads-files | 一般 | 21 |
| 读取环境变量 | reads-env | 一般 | 6 |
| 接触凭据或密钥 | credentials | 一般 | 3 |
| 动态加载模块 | dynamic-import | 一般 | 2 |
这份报告的口径
扫描读的是包里的源码,全程不执行第三方代码。 本次读了 28 个文件,扫描于 2026-10-14。 命中次数只说明源码里出现过这类调用,不说明行为好坏——一个插件读写文件 500 次和 1 次 都会被记为「读取文件」。这是能力清单,不是信任评分,也不是安全结论: 没扫出来的能力可能只是写法没被规则覆盖。
依赖安全公告
已查询这个插件声明的全部依赖,没有匹配到已公开的安全公告。(含 DSH 框架包在内的 @deepseek-ai/* 不作查询——那是运行时自己的问题,不是插件的。)