安装验证:运行验证通过 (L5) · 验证于 dsh 0.2.1-rc.2 · 验证日期 安装验证详情 →
功能介绍AI
通过 SSH 把 Unix、IBM AIX、macOS 等远程主机接入 DeepSeek Harness,默认只读执行白名单命令。
- dsh wsl kit 的可选远程桥接配套插件
- remote ssh status 列出已配置主机,可选执行 uname 探测
- remote ssh run 在指定 hostId 上执行白名单 argv,不经过 shell
能力标签为 AI 推断或 README 规则抽取(见角标),词表受限、未经安装验证;AI = 推断,README = 原文关键词。
安装
dsh plugin --profile web add github:173787247/dsh-remote-ssh安装方式: 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 |
|---|---|---|---|
| 3a5e7e | ✓ | ✓ | ✓ |
3a5e7egithub✓ 运行验证通过 32026-10-19
https://github.com/173787247/dsh-remote-ssh
✓dsh 0.2.1-rc.2当前2026-10-19L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.1-rc.2
- • 被测插件工件: github · https://github.com/173787247/dsh-remote-ssh(版本未标注)
ID: dsh-remote-ssh-6@3a5e7e@dsh0.2.1-rc.2 · 档位: l4-sandbox
签发:2026-10-19 · 有效至:2026-10-26
查看检查项与证据
已在加载器目录树中激活(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/173787247/dsh-remote-ssh(版本未标注)
ID: dsh-remote-ssh-6@3a5e7e@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/173787247/dsh-remote-ssh(版本未标注)
ID: dsh-remote-ssh-6@3a5e7e@dsh0.2.1-alpha.2 · 档位: l4-sandbox
签发:2026-10-14 · 有效至:2026-10-21
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
作者徽章
将官方徽章嵌入你的 README,展示插件的安全与安装检测状态:
`[](https://www.dsh.so/artifact/dsh-remote-ssh-6/)``[](https://www.dsh.so/artifact/dsh-remote-ssh-6/)`安全报告
两层自动化检查,都不是人工审核:静态扫描(逐插件规则判定)与模型驱动的动态安全审计(只覆盖静态判定 warn 及以上的插件子集,不执行插件代码)。
静态扫描 低,动态审计最高 中,按「取更严者」→ 总评级 中。
v0.1.1dsh 清单0.1.1git2026-10-210.1.1版本一致clean · gitvet 为 AST 静态扫描(npm 发布物或 git 源码)。
静态发现(3 条)
- 严重sshWrite · destructive
examples/ssh-lab/entrypoint.sh:6cp /tmp/lab_authorized_keys /home/dshprobe/.ssh/authorized_keys - 严重sshWrite · destructive
examples/ssh-lab/entrypoint.sh:9chmod 600 /home/dshprobe/.ssh/authorized_keys 2>/dev/null || true - 警告childProcess · code-exec
lib/ssh.js:84const child = spawn("ssh", sshArgs, { stdio: ["ignore", "pipe", "pipe"] });
展开 3 条审计发现
- medium默认允许列表包含 cat/head/tail,可将远端任意可读文件内容回灌到模型上下文
cordis.patch.yml:16assertAllowedCommand(lib/ssh.js:38)只校验命令名、从不校验参数,而 remote_ssh_run 把远端 stdout 直接回传模型(index.js 的 render: v.stdout)。在默认允许列表下,被提示注入或仅仅是好奇的智能体可以对任一已配置主机调用 remote_ssh_run,argv 为 ["cat","/home/<user>/.ssh/id_rsa"](或 /etc/shadow、应用密钥文件、SSH 用户可读的云凭据),文件内容即进入对话记录,在无需任何确认的情况下把远端机密外泄给模型提供方——只读命令不受 allowMutate+confirm 约束。
- lowSSH 主机密钥采用首次信任(StrictHostKeyChecking=accept-new),未做固定校验
lib/ssh.js:74每次 ssh 调用都会静默接受未知主机密钥,因此对某主机的首次连接(或之后 DNS/ARP/路由被操纵的连接)可被中间人劫持,攻击者可观察并篡改本插件回传给模型的允许列表命令及其输出。由于未提供用户 known_hosts,凡是从未离线核验过密钥的主机,该风险长期存在。
- low示例容器在启动 sshd 前从全局可写的 /tmp 安装 authorized_keys
examples/ssh-lab/entrypoint.sh:6该示例入口脚本把 /tmp 中的 SSH 公钥拷贝进 dshprobe 账户的 authorized_keys 后启动 sshd,任何能在容器启动前写入 /tmp 的进程都可植入自己的密钥并以 dshprobe 身份获得 shell。影响仅限这个示例/测试容器:harness 从不加载 entrypoint.sh(package.json 的 main 与 dsh.bundle.patch 均未引用它),因此在插件本体中不可达。
静态扫描的两个 critical 属误报(ssh 仅以 argv 方式启动、entrypoint.sh 只是实验容器脚本);真实中风险是允许列表中的 cat 可读取远端任意文件。
口径:动态审计只会把风险往严重里判,不会把风险降下来(只升不降,不构成豁免);模型判错时由人工复核撤回,撤回后回到静态判定。合并判定 = 两层中更严的那一个。
免责声明:静态扫描与动态安全审计都是自动化分析,不构成安全保证。安装前请自行审查。
活跃度
最近提交 2026-10-09 · 活跃度:活跃
• 仓库创建: 2026-09-24
• 星标: ★ 2 · 复刻: 0
• 健康度: 活跃 — 近 30 天有提交
来源
作者 README
GitHub 原文 ↗展示作者仓库中的原始 README 内容,实时抓取、未做改写;优先加载中文版(README.zh-CN.md 等),无中文版时回退英文。
