安装验证:生态插件:`dsh plugin add` 装得上,但未声明 dsh.bundle、不挂载任何插件能力——L1-L5 插件安装验证阶梯不作评级依据;安全扫描照常执行。安装验证详情 →
功能介绍AI
dsh 启动保险丝:当插件导致启动失败时自动禁用它并重启。
- 包装 dsh 启动,从报错中识别导致失败的插件
- 在 profile patch 中把坏插件标记为 disabled,记录隔离台账
- 自动重试启动;u 命令先升级并恢复被隔离插件
能力标签为 AI 推断或 README 规则抽取(见角标),词表受限、未经安装验证;AI = 推断,README = 原文关键词。
安装
dsh plugin --profile web add @hyzyn/dsh-safe安装方式: npm · 运行验证未定论 (L5 unknown)
验证与兼容性○ 生态插件
按插件版本分组:每张卡是该插件版本实测过的 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 | dsh 0.2.0-rc.2 | dsh 0.2.0-rc.1 |
|---|---|---|---|---|---|
| 0.18.1 | ○ | ○ | ○ | ○ | · |
| 0.18.0 | · | · | · | · | ○ |
| 0.17.0 | · | · | · | · | · |
| 0.16.0 | · | · | · | · | · |
| 0.16.0-rc.2 | · | · | · | · | · |
0.18.1npm○ 生态插件 52026-10-20
@hyzyn/dsh-safe
○dsh 0.2.1-rc.2当前2026-10-20生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.1-rc.2
- • 被测插件工件: npm · @hyzyn/dsh-safe@0.18.1
ID: dsh-safe-3@0.18.1@dsh0.2.1-rc.2 · 档位: l4-sandbox
签发:2026-10-20 · 有效至:2026-10-27
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.2.1-alpha.42026-10-17生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.4
- • 被测插件工件: npm · @hyzyn/dsh-safe@0.18.1
ID: dsh-safe-3@0.18.1@dsh0.2.1-alpha.4 · 档位: l4-sandbox
签发:2026-10-17 · 有效至:2026-10-24
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.2.1-alpha.22026-10-11生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.2
- • 被测插件工件: npm · @hyzyn/dsh-safe@0.18.1
ID: dsh-safe-3@0.18.1@dsh0.2.1-alpha.2 · 档位: l4-sandbox
签发:2026-10-11 · 有效至:2026-10-18
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.2.0-rc.22026-10-09生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.0-rc.2
- • 被测插件工件: npm · @hyzyn/dsh-safe@0.18.1
ID: dsh-safe-3@0.18.1@dsh0.2.0-rc.2 · 档位: l4-sandbox
签发:2026-10-09 · 有效至:2026-10-16
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○版本史前2026-10-05生态插件
- • Node.js: v24.14.0
- • DSH: unknown
- • 被测插件工件: npm · @hyzyn/dsh-safe@0.18.1
ID: dsh-safe-3@0.18.1@dshunknown · 档位: l4-sandbox
签发:2026-10-05 · 有效至:2026-10-12
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
0.18.0npm○ 生态插件 22026-10-01
@hyzyn/dsh-safe
○dsh 0.2.0-rc.12026-09-30生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.0-rc.1
- • 被测插件工件: npm · @hyzyn/dsh-safe@0.18.0
ID: dsh-safe-3@0.18.0@dsh0.2.0-rc.1 · 档位: l4-sandbox
签发:2026-09-30 · 有效至:2026-10-07
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○版本史前2026-10-01生态插件
- • Node.js: v24.14.0
- • DSH: unknown
- • 被测插件工件: npm · @hyzyn/dsh-safe@0.18.0
ID: dsh-safe-3@0.18.0@dshunknown · 档位: l4-sandbox
签发:2026-10-01 · 有效至:2026-10-08
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
0.17.0npm○ 生态插件 42026-09-25
@hyzyn/dsh-safe
○dsh 0.1.7-rc.22026-09-25生态插件
- • Node.js: v24.14.0
- • DSH: 0.1.7-rc.2
- • 被测插件工件: npm · @hyzyn/dsh-safe@0.17.0
ID: dsh-safe-3@0.17.0@dsh0.1.7-rc.2 · 档位: l4-sandbox
签发:2026-09-25 · 有效至:2026-10-02
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.1.7-rc.12026-09-24生态插件
- • Node.js: v24.14.0
- • DSH: 0.1.7-rc.1
- • 被测插件工件: npm · @hyzyn/dsh-safe@0.17.0
ID: dsh-safe-3@0.17.0@dsh0.1.7-rc.1 · 档位: l4-sandbox
签发:2026-09-24 · 有效至:2026-10-01
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.1.7-alpha.22026-09-23生态插件
- • Node.js: v24.14.0
- • DSH: 0.1.7-alpha.2
- • 被测插件工件: npm · @hyzyn/dsh-safe@0.17.0
ID: dsh-safe-3@0.17.0@dsh0.1.7-alpha.2 · 档位: l4-sandbox
签发:2026-09-23 · 有效至:2026-09-30
查看检查项与证据
该档位在这次扫描中未执行。
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.1.6-alpha.22026-09-20生态插件
- • Node.js: v24.14.0
- • DSH: 0.1.6-alpha.2
- • 被测插件工件: npm · @hyzyn/dsh-safe@0.17.0
ID: dsh-safe-3@0.17.0@dsh0.1.6-alpha.2 · 档位: l4-sandbox
签发:2026-09-20 · 有效至:2026-09-27
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
0.16.0npm○ 生态插件 12026-09-17
@hyzyn/dsh-safe
○dsh 0.1.6-alpha.12026-09-17生态插件
- • Node.js: v24.14.0
- • DSH: 0.1.6-alpha.1
- • 被测插件工件: npm · @hyzyn/dsh-safe@0.16.0
ID: dsh-safe-3@0.16.0@dsh0.1.6-alpha.1 · 档位: l4-sandbox
签发:2026-09-17 · 有效至:2026-09-24
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
0.16.0-rc.2npm2026-09-14
@hyzyn/dsh-safe
生态插件:`dsh plugin add` 装得上,但未声明 dsh.bundle、不挂载任何插件能力——等级位显示 L5 · 生态插件。
仅展示最近 3 个已发布版本;源码快照(commit hash)组、未标注工件组与更早版本不展示——全量档案保留在数据层(插件无任何已发布版本时,快照/未标注组才照常展示)。
作者徽章
将官方徽章嵌入你的 README,展示插件的安全与安装检测状态:
`[](https://www.dsh.so/artifact/dsh-safe-3/)`安全报告
两层自动化检查,都不是人工审核:静态扫描(逐插件规则判定)与模型驱动的动态安全审计(只覆盖静态判定 warn 及以上的插件子集,不执行插件代码)。
静态扫描 低,动态审计最高 中,按「取更严者」→ 总评级 中。
v0.18.10.18.1npm2026-10-210.18.1版本一致clean · npmvet 为 AST 静态扫描(npm 发布物或 git 源码)。
静态发现(5 条)
- 警告childProcessImport · code-exec
lib/ai.js:14import { spawnSync } from 'node:child_process' - 警告childProcess · code-exec
lib/dshpkg.js:31: spawn(bin, args, { encoding: 'utf8' }) - 警告childProcess · code-exec
lib/dshpkg.js:38: spawn(bin, args, { stdio: 'inherit' }) - 警告childProcess · code-exec
lib/verify.js:48const { status, stderr } = spawn(target.file, [...target.prefix, '--profile', 'verify'], { - 警告childProcess · code-exec
lib/wrap.js:63const child = spawn(target.file, [...target.prefix, ...(target.shell ? args.map(quoteShellArg) : args)], {
展开 3 条审计发现
- mediumWindows 下包管理器调用使用 shell:true,仅对可执行文件路径加引号,参数原样交给 cmd.exe
lib/dshpkg.js:30shell:true 时 Node 会把 args 拼进 cmd.exe 命令行而不转义,quoteShellArg 只作用于 bin。若调用方把含 cmd 元字符(& | ^ %)的包名、版本或路径透传进来,就会以当前用户身份执行任意命令。调用点在未提供的 lib/update.js 与 lib/repair.js 中,可达性未能确认;文件内注释声称包名与版本已用 ^[\w.+-]+$ 校验,但该守卫不在本次审计范围内。另外 patchfile.js 的 unquote() 对 patch 行的 name: 不做该约束,这些值会进入隔离台账。
- low可选 AI 解读/识别把原始 stderr(仅脱敏 home 路径)发送到可配置远端端点
lib/ai.js:26在 fetch(`${base}/chat/completions`) 之前唯一的脱敏是把 home 目录替换成 ~。启动 stderr 常含插件配置值、token 或内部路径,一旦设置了 DSH_SAFE_AI_KEY(或启动路径上的 DSH_SAFE_AI_RECOVER=1)这些内容就会离开本机。该功能是可选的且在文件头有说明,模型输出也只是经真实 patch 行校验的提示,因此属于信息泄露而非代码执行风险。
- low托管区块重写会直接写入台账中记录的文件路径
lib/quarantine.js:47加载 quarantine.json 后,其条目的 file 值只经过 readIfExists 与托管区块追加就直接作为写入目标,没有校验它必须是 DSH_HOME 下的 cordis.patch.yml。被篡改或损坏的台账(同用户可写)可把写入重定向到任意文件并追加 dsh-safe 托管区块文本。这需要本地写入 $DSH_HOME/dsh-safe 的权限,影响有限。
隔离逻辑整体是防御性、失败关闭的;但 Windows 下 npm/pnpm 调用使用 shell:true 且参数未转义,可选的 AI 功能会把原始 stderr 发送到外部。
口径:动态审计只会把风险往严重里判,不会把风险降下来(只升不降,不构成豁免);模型判错时由人工复核撤回,撤回后回到静态判定。合并判定 = 两层中更严的那一个。
免责声明:静态扫描与动态安全审计都是自动化分析,不构成安全保证。安装前请自行审查。
活跃度
最近提交 2026-09-30 · 活跃度:活跃
• 仓库创建: 2026-09-05
• 星标: ★ 4 · 复刻: 0
• 健康度: 活跃 — 近 30 天有提交
来源
GitHub: github.com/hyzyn/dsh-safe
作者 README
GitHub 原文 ↗展示作者仓库中的原始 README 内容,实时抓取、未做改写;优先加载中文版(README.zh-CN.md 等),无中文版时回退英文。
