安装验证:运行验证通过 (L5) · 验证于 dsh 0.2.1-rc.2 · 验证日期 安装验证详情 →
功能介绍AI
DSH安全巡逻插件,集成SSH远程执行、Semgrep代码扫描与报告功能。
- 将渗透测试流程转化为主动防御巡检
- 使用Semgrep进行静态漏洞扫描
- 通过SSH执行远程安全检测并生成报告
能力标签为 AI 推断或 README 规则抽取(见角标),词表受限、未经安装验证;AI = 推断,README = 原文关键词。
安装
dsh plugin --profile web add dsh-dolphin-security安装方式: GitHub · 运行验证通过 (L5)
验证与兼容性
按插件版本分组:每张卡是该插件版本实测过的 dsh 版本与安装兼容结论(L5 优先)。只列真测过的组合——未列出 = 未实测,不推定兼容。L1–L3 为插件级静态档(与 dsh 版本无关,各 dsh 行同值):在行内「验证等级」格里与 L4/L5 并列显示、标注「静态」,证据体为插件级单份、随行内「查看检查项与证据」出现,不在各版本重复存储。
External credentials(插件级):未检测到
依据:1 条要求、覆盖 1 个 @deepseek-ai/dsh-* 子包。 看原始区间
^0.1.5-rc.1 || ^0.2.0-rc.2 ×1
✓ 当前 dsh 0.2.1-rc.2 在支持范围内 —— 安装不会因版本被拒。
能否正常运行是另一件事 → 见下方实测矩阵(L1–L5)。
| 插件版本 \ 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.3.1 | ✓ | · | · | · | · |
| 0.3.0 | · | ✓ | · | · | · |
| 0.2.6 | · | · | ✓ | ✓ | ✓ |
| 0.2.5 | · | · | · | · | · |
| 0.2.4 | · | · | · | · | · |
0.3.1npm✓ 运行验证通过 12026-10-21
dsh-dolphin-security
✓dsh 0.2.1-rc.2当前2026-10-21L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.1-rc.2
- • 被测插件工件: npm · dsh-dolphin-security@0.3.1
ID: dsh-dolphin-security@0.3.1@dsh0.2.1-rc.2 · 档位: l3-fullscan
签发:2026-10-21 · 有效至:2026-10-28
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
0.3.0npm✓ 运行验证通过 12026-10-18
dsh-dolphin-security
✓dsh 0.2.1-alpha.42026-10-18L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.4
- • 被测插件工件: npm · dsh-dolphin-security@0.3.0
ID: dsh-dolphin-security@0.3.0@dsh0.2.1-alpha.4 · 档位: l4-sandbox
签发:2026-10-18 · 有效至:2026-10-25
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
0.2.6npm✓ 运行验证通过 42026-10-12
dsh-dolphin-security
✓dsh 0.2.1-alpha.22026-10-12L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.2
- • 被测插件工件: npm · dsh-dolphin-security@0.2.6
ID: dsh-dolphin-security@0.2.6@dsh0.2.1-alpha.2 · 档位: l4-sandbox
签发:2026-10-12 · 有效至:2026-10-19
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.2.0-rc.22026-10-09L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.0-rc.2
- • 被测插件工件: npm · dsh-dolphin-security@0.2.6
ID: dsh-dolphin-security@0.2.6@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
- • 被测插件工件: npm · dsh-dolphin-security@0.2.6
ID: dsh-dolphin-security@0.2.6@dsh0.2.0-rc.1 · 档位: l4-sandbox
签发:2026-09-30 · 有效至:2026-10-07
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓版本史前2026-10-04L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: unknown
- • 被测插件工件: npm · dsh-dolphin-security@0.2.6
ID: dsh-dolphin-security@0.2.6@dshunknown · 档位: l4-sandbox
签发:2026-10-04 · 有效至:2026-10-11
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
0.2.5npm✓ 运行验证通过 52026-09-26
dsh-dolphin-security
✓dsh 0.1.7-rc.22026-09-26L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.7-rc.2
- • 被测插件工件: npm · dsh-dolphin-security@0.2.5
ID: dsh-dolphin-security@0.2.5@dsh0.1.7-rc.2 · 档位: l4-sandbox
签发:2026-09-26 · 有效至:2026-10-03
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.1.7-rc.12026-09-24L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.7-rc.1
- • 被测插件工件: npm · dsh-dolphin-security@0.2.5
ID: dsh-dolphin-security@0.2.5@dsh0.1.7-rc.1 · 档位: l4-sandbox
签发:2026-09-24 · 有效至:2026-10-01
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.1.7-alpha.22026-09-23L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.7-alpha.2
- • 被测插件工件: npm · dsh-dolphin-security@0.2.5
ID: dsh-dolphin-security@0.2.5@dsh0.1.7-alpha.2 · 档位: l4-sandbox
签发:2026-09-23 · 有效至:2026-09-30
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.1.6-alpha.22026-09-20L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.6-alpha.2
- • 被测插件工件: npm · dsh-dolphin-security@0.2.5
ID: dsh-dolphin-security@0.2.5@dsh0.1.6-alpha.2 · 档位: l3-fullscan
签发: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
- • 被测插件工件: npm · dsh-dolphin-security@0.2.5
ID: dsh-dolphin-security@0.2.5@dsh0.1.6-alpha.1 · 档位: l4-sandbox
签发:2026-09-17 · 有效至:2026-09-24
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
0.2.4npm✓ 运行验证通过 12026-09-13
dsh-dolphin-security
✓dsh 0.1.5-rc.22026-09-13L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.5-rc.2
- • 被测插件工件: npm · dsh-dolphin-security@0.2.4
ID: dsh-dolphin-security@0.2.4@dsh0.1.5-rc.2 · 档位: l4-sandbox
签发:2026-09-13 · 有效至:2026-09-20
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
仅展示最近 3 个已发布版本;源码快照(commit hash)组、未标注工件组与更早版本不展示——全量档案保留在数据层(插件无任何已发布版本时,快照/未标注组才照常展示)。
作者徽章
将官方徽章嵌入你的 README,展示插件的安全与安装检测状态:
`[](https://www.dsh.so/artifact/dsh-dolphin-security/)``[](https://www.dsh.so/artifact/dsh-dolphin-security/)``[](https://www.dsh.so/artifact/dsh-dolphin-security/)``[](https://www.dsh.so/artifact/dsh-dolphin-security/)``[](https://www.dsh.so/artifact/dsh-dolphin-security/)``[](https://www.dsh.so/artifact/dsh-dolphin-security/)``[](https://www.dsh.so/artifact/dsh-dolphin-security/)`安全报告
两层自动化检查,都不是人工审核:静态扫描(逐插件规则判定)与模型驱动的动态安全审计(只覆盖静态判定 warn 及以上的插件子集,不执行插件代码)。
静态扫描 低,动态审计最高 中,按「取更严者」→ 总评级 中。
v0.2.0dsh 清单v0.2.0git2026-10-21v0.3.1版本已更新clean · npmvet 为 AST 静态扫描(npm 发布物或 git 源码)。
静态发现(8 条)
- 严重osSystem · shell
dolphin-core.js:236message: "Found user-controlled data in os.system() call. This could be vulnerable to command injection.", - 严重osSystem · shell
dolphin-core.js:244lines: ' os.system("rm -rf " + user_input)', - 严重destructiveRm · destructive
dolphin-patrol.js:605const c4 = buildRemoteScanCommand('/x', "p/foo'; rm -rf /tmp/x; #") - 严重destructiveRm · destructive
dolphin-patrol.js:608check('恶意规则集被转义(; 与 rm 被单引号包裹)', c4 === "semgrep scan --config 'p/foo'\\''; rm -rf /tmp/x; #' /x --json", c4) - 严重shellExec · shell
dolphin-ssh-core.js:1068async exec(alias, command, timeoutMs, attempts) { - 严重secretPem · secrets
dolphin-ssh-core.js:1160writeFileSync(keyFile, '-----BEGIN OPENSSH PRIVATE KEY-----\n(self-test fixture)\n-----END OPENSSH PRIVATE KEY-----\n') - 警告childProcess · code-exec
dolphin-patrol.js:192const r = spawnSync(bin, args, { encoding: 'utf8' }) - 警告shellExec · shell
dsh-code-scan/lib/scanner.js:35execFile(
展开 2 条审计发现
- mediumtargetDir 未校验即作为 semgrep 命令行参数传入(参数注入)
dsh-code-scan/lib/scanner.js:29dolphin_scan / dolphin_patrol 直接把 Agent 传入的 targetDir 交给 semgrep,从不校验它是否为路径。由于该值以裸 argv 形式出现在 'scan --json --config <rc>' 之后,形如 '--output=/home/user/.bashrc' 或 '--config=/etc/passwd' 的取值会被 semgrep 当作开关:可覆盖任意可写文件、把任意文件当作规则文件读入。本地路径(execFile、无 shell)可直接触发;远程路径因 shellQuote 白名单允许前导 '-' 存在同样透传,但更早的 `test -d` 预检通常会先拒绝这类以 '-' 开头的路径。不存在 shell/RCE:shellQuote 已排除 ; & | $ ` 与空白,远程元字符注入不可达。
- lowSSH 口令与私钥 passphrase 以明文存入 ~/.dolphin/dolphin-ssh-hosts.json
dolphin-ssh-core.jsHostStore.create/update 把 password 与 passphrase 以明文 JSON 保存,save() 以 0o600 写入 0700 目录。这只把暴露面限制在同一操作系统账号内,但同用户的其它进程、用户目录备份/快照或同步目录仍可读到凭据。接口层面其余处理是谨慎的(summarize() 会脱敏,自检也做了断言)。
Semgrep/SSH 扫描属正常功能,sudo、rm -rf 与引号转义防护有效;残余风险是 targetDir 未校验导致的 semgrep 参数注入,以及明文存储 SSH 凭据。
口径:动态审计只会把风险往严重里判,不会把风险降下来(只升不降,不构成豁免);模型判错时由人工复核撤回,撤回后回到静态判定。合并判定 = 两层中更严的那一个。
免责声明:静态扫描与动态安全审计都是自动化分析,不构成安全保证。安装前请自行审查。
活跃度
最近提交 2026-10-19 · 活跃度:活跃
• 仓库创建: 2026-09-01
• 星标: ★ 0 · 复刻: 0
• 健康度: 活跃 — 近 30 天有提交
来源
作者 README
GitHub 原文 ↗展示作者仓库中的原始 README 内容,实时抓取、未做改写;优先加载中文版(README.zh-CN.md 等),无中文版时回退英文。
