安装验证:生态插件:`dsh plugin add` 装得上,但未声明 dsh.bundle、不挂载任何插件能力——L1-L5 插件安装验证阶梯不作评级依据;安全扫描照常执行。安装验证详情 →
功能介绍AI
通过加密公网地址远程访问dsh web,手机随时可用,无需局域网或内网穿透。
- 加密公网地址,安全远程访问
- 无需局域网或Wi-Fi,随时随地可用
- 可选自建服务,完全自主控制
能力标签为 AI 推断或 README 规则抽取(见角标),词表受限、未经安装验证;AI = 推断,README = 原文关键词。
安装
dsh plugin --profile web add @mrrisega/dsh-remote安装方式: 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 |
|---|---|---|---|---|---|
| 1.0.0 | · | · | · | · | · |
| v1.0.0 | ○ | ○ | ○ | ○ | ○ |
| 0.7.2 | ○ | · | · | · | · |
| 0.7.1 | · | ○ | · | · | · |
| 0.6.18 | · | · | ○ | ○ | ○ |
1.0.0npm2026-09-11
@mrrisega/dsh-remote
生态插件:`dsh plugin add` 装得上,但未声明 dsh.bundle、不挂载任何插件能力——等级位显示 L5 · 生态插件。
v1.0.0github○ 生态插件 92026-10-18
https://github.com/mrRisega/dsh-remote
○dsh 0.2.1-rc.2当前2026-10-18生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.1-rc.2
- • 被测插件工件: github · https://github.com/mrRisega/dsh-remote#v1.0.0
ID: dsh-remote-11@v1.0.0@dsh0.2.1-rc.2 · 档位: l4-sandbox
签发:2026-10-18 · 有效至:2026-10-25
查看检查项与证据
该档位在这次扫描中未执行。
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.2.1-alpha.42026-10-15生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.4
- • 被测插件工件: github · https://github.com/mrRisega/dsh-remote#v1.0.0
ID: dsh-remote-11@v1.0.0@dsh0.2.1-alpha.4 · 档位: l4-sandbox
签发:2026-10-15 · 有效至:2026-10-22
查看检查项与证据
该档位在这次扫描中未执行。
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.2.1-alpha.22026-10-10生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.2
- • 被测插件工件: github · https://github.com/mrRisega/dsh-remote#v1.0.0
ID: dsh-remote-11@v1.0.0@dsh0.2.1-alpha.2 · 档位: l4-sandbox
签发:2026-10-10 · 有效至:2026-10-17
查看检查项与证据
该档位在这次扫描中未执行。
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.2.0-rc.22026-10-08生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.0-rc.2
- • 被测插件工件: github · https://github.com/mrRisega/dsh-remote#v1.0.0
ID: dsh-remote-11@v1.0.0@dsh0.2.0-rc.2 · 档位: l4-sandbox
签发:2026-10-08 · 有效至:2026-10-15
查看检查项与证据
该档位在这次扫描中未执行。
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.2.0-rc.12026-09-29生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.0-rc.1
- • 被测插件工件: github · https://github.com/mrRisega/dsh-remote#v1.0.0
ID: dsh-remote-11@v1.0.0@dsh0.2.0-rc.1 · 档位: l4-sandbox
签发:2026-09-29 · 有效至:2026-10-06
查看检查项与证据
该档位在这次扫描中未执行。
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.1.7-rc.22026-09-26生态插件
- • Node.js: v24.14.0
- • DSH: 0.1.7-rc.2
- • 被测插件工件: github · https://github.com/mrRisega/dsh-remote#v1.0.0
ID: dsh-remote-11@v1.0.0@dsh0.1.7-rc.2 · 档位: l4-sandbox
签发:2026-09-26 · 有效至:2026-10-03
查看检查项与证据
该档位在这次扫描中未执行。
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.1.6-alpha.22026-09-20生态插件
- • Node.js: v24.14.0
- • DSH: 0.1.6-alpha.2
- • 被测插件工件: github · https://github.com/mrRisega/dsh-remote#v1.0.0
ID: dsh-remote-11@v1.0.0@dsh0.1.6-alpha.2 · 档位: l3-fullscan
签发:2026-09-20 · 有效至:2026-09-27
查看检查项与证据
该档位在这次扫描中未执行。
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.1.3-alpha.22026-09-09生态插件
- • Node.js: v24.14.0
- • DSH: 0.1.3-alpha.2
- • 被测插件工件: github · https://github.com/mrRisega/dsh-remote#v1.0.0
ID: dsh-remote-11@v1.0.0@dsh0.1.3-alpha.2 · 档位: l4-sandbox
签发:2026-09-09 · 有效至:2026-09-16
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○版本史前2026-09-30生态插件
- • Node.js: v24.14.0
- • DSH: unknown
- • 被测插件工件: github · https://github.com/mrRisega/dsh-remote#v1.0.0
ID: dsh-remote-11@v1.0.0@dshunknown · 档位: l4-sandbox
签发:2026-09-30 · 有效至:2026-10-07
查看检查项与证据
该档位在这次扫描中未执行。
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
0.7.2npm○ 生态插件 12026-10-18
@mrrisega/dsh-remote
○dsh 0.2.1-rc.2当前2026-10-18生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.1-rc.2
- • 被测插件工件: npm · @mrrisega/dsh-remote@0.7.2
ID: dsh-remote-11@0.7.2@dsh0.2.1-rc.2 · 档位: l5-web-smoke
签发:2026-10-18 · 有效至:2027-01-16
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
0.7.1npm○ 生态插件 12026-10-15
@mrrisega/dsh-remote
○dsh 0.2.1-alpha.42026-10-15生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.4
- • 被测插件工件: npm · @mrrisega/dsh-remote@0.7.1
ID: dsh-remote-11@0.7.1@dsh0.2.1-alpha.4 · 档位: l5-web-smoke
签发:2026-10-15 · 有效至:2027-01-13
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
0.6.18npm○ 生态插件 42026-10-10
@mrrisega/dsh-remote
○dsh 0.2.1-alpha.22026-10-10生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.2
- • 被测插件工件: npm · @mrrisega/dsh-remote@0.6.18
ID: dsh-remote-11@0.6.18@dsh0.2.1-alpha.2 · 档位: l5-web-smoke
签发:2026-10-10 · 有效至:2027-01-08
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.2.0-rc.22026-10-08生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.0-rc.2
- • 被测插件工件: npm · @mrrisega/dsh-remote@0.6.18
ID: dsh-remote-11@0.6.18@dsh0.2.0-rc.2 · 档位: l5-web-smoke
签发:2026-10-08 · 有效至:2027-01-06
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.2.0-rc.12026-09-29生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.0-rc.1
- • 被测插件工件: npm · @mrrisega/dsh-remote@0.6.18
ID: dsh-remote-11@0.6.18@dsh0.2.0-rc.1 · 档位: l5-web-smoke
签发:2026-09-29 · 有效至:2026-12-28
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○版本史前2026-09-30生态插件
- • Node.js: v24.14.0
- • DSH: unknown
- • 被测插件工件: npm · @mrrisega/dsh-remote@0.6.18
ID: dsh-remote-11@0.6.18@dshunknown · 档位: l5-web-smoke
签发:2026-09-30 · 有效至:2026-12-29
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
仅展示最近 3 个已发布版本;源码快照(commit hash)组、未标注工件组与更早版本不展示——全量档案保留在数据层(插件无任何已发布版本时,快照/未标注组才照常展示)。
作者徽章
将官方徽章嵌入你的 README,展示插件的安全与安装检测状态:
`[](https://www.dsh.so/artifact/dsh-remote-11/)`安全报告
两层自动化检查,都不是人工审核:静态扫描(逐插件规则判定)与模型驱动的动态安全审计(只覆盖静态判定 warn 及以上的插件子集,不执行插件代码)。
静态扫描 低;动态审计最高 中(有结论时以动态为准)→ 总评级 中。
v0.7.70.7.7npm2026-10-250.7.7版本一致clean · npmvet 为 AST 静态扫描(npm 发布物或 git 源码)。
静态发现(8 条)
- 警告shellExec · shell
clients/dsh-remote/upstream-discovery.mjs:111return String(execFileSync(cmd, args, { encoding: "utf8", timeout: timeoutMs, windowsHide: true, stdio: ["ignore", "pipe", "ignore"] }) || " - 警告netIp · network
clients/dsh-remote/upstream-discovery.mjs:39export const FALLBACK_UPSTREAM = "http://127.0.0.1:3080"; - 警告netIp · network
clients/dsh-remote/upstream-discovery.mjs:85return port ? `http://127.0.0.1:${port}` : ""; - 警告netIp · network
clients/dsh-remote/upstream-discovery.mjs:438const results = await Promise.all(entries.map(async (e) => ({ ...e, ok: await probeDshWeb(`http://127.0.0.1:${e.port}`, { timeoutMs, fetchIm - 警告netIp · network
packages/dsh-remote-web/lib/fix-prompt.js:79- 两者不一致(例如实际监听 8090,而文件/默认是 3080)→ 按**实际端口**修正: 把正确地址写进 {{upstreamFilePath}}(形如 http://127.0.0.1:8090),或给守护显式设置 DSH_BRIDGE_UPSTREAM,然后重启 bri - 警告netIp · network
packages/dsh-remote-web/lib/fix-prompt.js:136const defaultUpstreamUrl = `http://127.0.0.1:${DEFAULT_UPSTREAM_PORT}`; - 警告childProcess · code-exec
packages/dsh-remote-web/lib/offline-update.mjs:52const child = spawn(process.execPath, [setup], { - 警告fsWrite · files
packages/dsh-remote-web/lib/tarball-update.js:231fs.writeFileSync(p.abs, p.data);
展开 5 条审计发现
- mediumclientIp() 无条件信任客户端 X-Forwarded-For,可绕过登录限流与 IP 白名单
lib/proxy.js:45clientIp() 被用作限流键(handleLogin 中的 LoginRateLimiter)和 allowIps 判定(allowIp(),lib/server.js:131-133)。它取 X-Forwarded-For 的第一个值,而该头完全由客户端控制:直连客户端,或使用 $proxy_add_x_forwarded_for 的 nginx 前置代理都会把客户端值放在最前,攻击者每次请求可填不同值。后果:可对网关唯一认证凭据无限次口令爆破;限流 Map 会因伪造 IP 无界增长(内存耗尽型 DoS);IP 白名单也可通过伪造白名单地址满足。
- low代理刻意剥离 Origin/Referer/Sec-Fetch-* 以绕过上游 dsh 信任围栏
lib/proxy.js:19按设计(见文件注释:Host 被改写为回环地址并删除 Origin,使围栏走“无 Origin → 放行”分支),经网关转发的所有请求与本地请求无法区分,上游基于 Origin 的防护对全部网关流量失效。由于网关要求有效会话、且 SameSite=Strict Cookie 阻止跨站请求,影响有限;但一旦凭据泄露或认证被绕过,即可完全控制该可执行命令的服务。
- low未配置 TLS 时会话 Cookie 失去 Secure 标志且凭据明文传输
lib/server.js:255config.js 默认 tls=null,默认绑定 0.0.0.0,因此登录 POST 的口令与会话 Cookie 均以明文 HTTP 传输。在预期的远程/手机或公网部署下,唯一的凭据可被任何中间人窃取,进而获得网关完全访问权。
- low未认证的 /healthz 泄露上游地址与会话数量
lib/server.js:147任何未认证客户端都能读取上游地址(通常为 127.0.0.1:3080,印证回环目标)、上游可用状态及实时会话数,便于在攻击受口令保护的网关前进行侦察。
- lowinstall.sh 通过第三方 ghproxy.net 镜像下载并执行代码且无完整性校验
install.sh:77fetch_tarball() 先尝试 ghproxy.net 再走 github.com,解压后的代码随后会作为 Node 服务运行;唯一的校验是“file … | grep gzip”,并不能认证内容。被控制的镜像可返回任意代码,由脚本安装并启动(以 root 运行时还会写入 systemd 单元);下载还使用了固定的 /tmp/dsh-remote.tar.gz 路径。
独立认证反向代理网关:认证与加密实现稳健,但可伪造的 X-Forwarded-For 可绕过登录限流;另有若干低危加固问题。
口径(2026-10-24):有动态审计结论时以动态结论为准(可能上调也可能下调);无结论时以静态/vet 融合档为准。动态审计永不写豁免表(豁免只能人工三筛手写);模型判错时由人工复核撤回,撤回后档位回到静态/vet。
免责声明:静态扫描与动态安全审计都是自动化分析,不构成安全保证。安装前请自行审查。
活跃度
最近提交 2026-10-25 · 活跃度:活跃
• 仓库创建: 2026-08-19
• 星标: ★ 42 · 复刻: 7
• 健康度: 活跃 — 近 30 天有提交
来源
GitHub: github.com/mrRisega/dsh-remote
作者 README
GitHub 原文 ↗展示作者仓库中的原始 README 内容,实时抓取、未做改写;优先加载中文版(README.zh-CN.md 等),无中文版时回退英文。
