安装验证:运行验证通过 (L5) · 验证于 dsh 0.2.1-rc.2 · 验证日期 安装验证详情 →
功能介绍AI
在DSH中心区嵌入固定版本的code-server(VS Code Web),跟随当前工作区,支持自定义端口/路径和热切换。
- 嵌入固定版本的code-server(VS Code Web)
- 自动跟随当前DSH工作区
- 支持自定义端口/路径和热切换
能力标签为 AI 推断或 README 规则抽取(见角标),词表受限、未经安装验证;AI = 推断,README = 原文关键词。
安装
dsh plugin --profile web add github:yaodongH/dsh-vscode-bridge安装方式: 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 | dsh 0.2.0-rc.2 | dsh 0.2.0-rc.1 |
|---|---|---|---|---|---|
| 8508b4 | ✓ | ✓ | ✓ | ✓ | ✓ |
8508b4github✓ 运行验证通过 112026-10-19
https://github.com/yaodongH/dsh-vscode-bridge
✓dsh 0.2.1-rc.2当前2026-10-19L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.1-rc.2
- • 被测插件工件: github · https://github.com/yaodongH/dsh-vscode-bridge(版本未标注)
ID: dsh-vscode-bridge@8508b4@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/yaodongH/dsh-vscode-bridge(版本未标注)
ID: dsh-vscode-bridge@8508b4@dsh0.2.1-alpha.4 · 档位: l4-sandbox
签发:2026-10-16 · 有效至:2026-10-23
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.2.1-alpha.22026-10-11L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.2
- • 被测插件工件: github · https://github.com/yaodongH/dsh-vscode-bridge(版本未标注)
ID: dsh-vscode-bridge@8508b4@dsh0.2.1-alpha.2 · 档位: l4-sandbox
签发:2026-10-11 · 有效至:2026-10-18
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.2.0-rc.22026-10-08L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.0-rc.2
- • 被测插件工件: github · https://github.com/yaodongH/dsh-vscode-bridge(版本未标注)
ID: dsh-vscode-bridge@8508b4@dsh0.2.0-rc.2 · 档位: l4-sandbox
签发:2026-10-08 · 有效至:2026-10-15
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.2.0-rc.12026-09-29L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.0-rc.1
- • 被测插件工件: github · https://github.com/yaodongH/dsh-vscode-bridge(版本未标注)
ID: dsh-vscode-bridge@8508b4@dsh0.2.0-rc.1 · 档位: l4-sandbox
签发:2026-09-29 · 有效至:2026-10-06
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.1.7-rc.22026-09-26L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.7-rc.2
- • 被测插件工件: github · https://github.com/yaodongH/dsh-vscode-bridge(版本未标注)
ID: dsh-vscode-bridge@8508b4@dsh0.1.7-rc.2 · 档位: l4-sandbox
签发:2026-09-26 · 有效至:2026-10-03
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.1.7-rc.12026-09-23未实测
- • Node.js: v24.14.0
- • DSH: 0.1.7-rc.1
- • 被测插件工件: github · https://github.com/yaodongH/dsh-vscode-bridge(版本未标注)
ID: dsh-vscode-bridge@8508b4@dsh0.1.7-rc.1 · 档位: l4-sandbox
签发:2026-09-23 · 有效至:2026-09-30
查看检查项与证据
该档位在这次扫描中未执行。
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.1.6-alpha.22026-09-20L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.6-alpha.2
- • 被测插件工件: github · https://github.com/yaodongH/dsh-vscode-bridge(版本未标注)
ID: dsh-vscode-bridge@8508b4@dsh0.1.6-alpha.2 · 档位: l3-fullscan
签发:2026-09-20 · 有效至:2026-09-27
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.1.6-alpha.12026-09-16L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.6-alpha.1
- • 被测插件工件: github · https://github.com/yaodongH/dsh-vscode-bridge(版本未标注)
ID: dsh-vscode-bridge@8508b4@dsh0.1.6-alpha.1 · 档位: l4-sandbox
签发:2026-09-16 · 有效至:2026-09-23
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.1.5-rc.22026-09-11L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.5-rc.2
- • 被测插件工件: github · https://github.com/yaodongH/dsh-vscode-bridge(版本未标注)
ID: dsh-vscode-bridge@8508b4@dsh0.1.5-rc.2 · 档位: l4-sandbox
签发:2026-09-11 · 有效至:2026-09-18
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.1.3-alpha.22026-09-09L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.1.3-alpha.2
- • 被测插件工件: github · https://github.com/yaodongH/dsh-vscode-bridge(版本未标注)
ID: dsh-vscode-bridge@8508b4@dsh0.1.3-alpha.2 · 档位: l4-sandbox
签发:2026-09-09 · 有效至:2026-09-16
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓版本史前2026-10-05L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: unknown
- • 被测插件工件: github · https://github.com/yaodongH/dsh-vscode-bridge(版本未标注)
ID: dsh-vscode-bridge@8508b4@dshunknown · 档位: l4-sandbox
签发:2026-10-05 · 有效至:2026-10-12
查看检查项与证据
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
作者徽章
将官方徽章嵌入你的 README,展示插件的安全与安装检测状态:
`[](https://www.dsh.so/artifact/dsh-vscode-bridge/)``[](https://www.dsh.so/artifact/dsh-vscode-bridge/)``[](https://www.dsh.so/artifact/dsh-vscode-bridge/)``[](https://www.dsh.so/artifact/dsh-vscode-bridge/)``[](https://www.dsh.so/artifact/dsh-vscode-bridge/)``[](https://www.dsh.so/artifact/dsh-vscode-bridge/)`安全报告
两层自动化检查,都不是人工审核:静态扫描(逐插件规则判定)与模型驱动的动态安全审计(只覆盖静态判定 warn 及以上的插件子集,不执行插件代码)。
静态扫描 低,动态审计最高 中,按「取更严者」→ 总评级 中。
v0.1.23dsh 清单0.1.23git2026-10-210.1.23版本一致clean · gitvet 为 AST 静态扫描(npm 发布物或 git 源码)。
静态发现(12 条)
- 警告netIp · network
demo/e2e-focus-layout.mjs:8const TOKEN_URL = process.env.DSH_URL || 'http://127.0.0.1:3190/?token=<一次性启动 token>'; - 警告netIp · network
demo/e2e-focus-layout.mjs:54const API = 'http://127.0.0.1:3190'; - 警告fsWrite · files
demo/e2e-focus-layout.mjs:68fs.writeFileSync(CFG, JSON.stringify(cfg, null, 2) + '\n'); - 警告fsWrite · files
demo/e2e-focus-layout.mjs:326fs.writeFileSync(`${OUT}/e2e-results-0.1.23.json`, JSON.stringify({ when: new Date().toISOString(), results }, null, 1)); - 警告netIp · network
demo/e2e-instance-pool.mjs:6const TOKEN_URL = process.env.DSH_URL || 'http://127.0.0.1:3190/?token=<一次性启动 token>'; - 警告fsWrite · files
demo/e2e-instance-pool.mjs:211fs.writeFileSync(`${OUT}/e2e-results-0.1.20.json`, JSON.stringify(results, null, 2)); - 警告netIp · network
demo/seed-dev-sessions.mjs:2const ORIGIN = 'http://127.0.0.1:3190'; - 警告netIp · network
lib/index.js:467if (await probe('http://127.0.0.1:' + config.port + '/healthz')) { healthy = true; break } - 警告netIp · network
lib/index.js:478console.log('dsh-vscode-bridge: code-server 就绪 http://127.0.0.1:' + config.port) - 警告netIp · network
lib/index.js:528server: rt.server ? { pid: rt.server.pid, port: config.port, url: 'http://127.0.0.1:' + config.port + '/', startedAt: rt.startedAt } : null, - 警告netIp · network
scripts/restart-dsh-web.sh:46curl -s -m 1 "http://127.0.0.1:$WEB_PORT/" >/dev/null 2>&1 && web_up=true - 警告netIp · network
scripts/restart-dsh-web.sh:47[ -n "$CS_PORT" ] && curl -s -m 1 "http://127.0.0.1:$CS_PORT/healthz" >/dev/null 2>&1 && cs_up=true
展开 5 条审计发现
- mediumcode-server 以禁用认证的方式绑定 127.0.0.1,本机任意进程都可获得完整 IDE 终端
lib/index.js:446生成的 code-server.yaml 完全关闭认证,进程监听固定且可猜的回环端口(默认 18643)。本机其他用户/进程(以及可能被 DNS rebinding 类手法驱动的网页)可直接访问 http://127.0.0.1:18643/,获得带集成终端的 VS Code Web,即以 DSH 用户身份执行任意命令,且无需任何 DSH token。DSH 自身 UI 有 token 保护,此处边界弱于宿主。
- medium内置 web bundle 未做任何完整性校验即从 CDN 下载并写入被执行的扩展树
lib/index.js:343与主压缩包不同(其 sha256 在第 253 行已校验),从 main.vscode-cdn.net 拉取的每个 web bundle 文件都会被原样写入 <install>/<PIN.root>/lib/vscode/extensions/**,随后由 workbench 作为扩展代码加载(browser 入口及 WEB_BUNDLE_EXTRAS 中列出的 Worker 脚本)。CDN 被攻陷/伪造,或主机 TLS 信任链被中间人利用时,即可在 code-server 源内执行代码,并经其 RPC 获得完整文件访问,且无任何检测。
- mediumextraArgs 保留参数过滤只做整串比较,--auth=none / --bind-addr=0.0.0.0 可绕过
lib/index.js:550带 '=' 的形式(--bind-addr=0.0.0.0:18643、--auth=none、--user-data-dir=/某处、--extensions-dir=/某处)与清单项不完全相等,因此能通过校验,并被拼接到 --config yaml 之后的 code-server argv 中。这使代码自称的防护失效(可覆盖 127.0.0.1/auth-none 的 yaml,把无认证的 IDE 暴露到整个网络)。前置条件是能调用 POST /dsh-vscode/config(即能访问 DSH web 会话的主体)。
- low默认配置会静默关闭所有打开目录的 VS Code 工作区信任
lib/index.js:698trustWorkspace 默认 true,因此每次 iframe 启动都会把 security.workspace.trust.enabled=false 写入 code-server 的 settings.json,在无逐工作区提示的情况下关闭 Restricted Mode。若打开的是不可信仓库(打开目录跟随会话 cwd,可能正是这种目录),VS Code 会以用户权限自动运行该仓库的任务/配置并启用其扩展——正是工作区信任机制要阻止的场景。
- lowinstallDir 只做工作区前缀校验,可导致递归删除桥数据目录之外的兄弟路径
lib/index.js:258校验是字符串前缀比较而非路径组件比较,因此形如 '<WORKSPACE>-backup' 或以 WORKSPACE 文本开头的绝对路径能通过 validConfig,随后在 ensureInstall 中被 rmSync(-r -f) 递归删除,可抹掉桥数据目录之外任意目录树;且校验发生在下载/校验之后、删除就在安装路径上。前置条件:可 POST /dsh-vscode/config(第 644 行)并触发 install/ensure 控制。
插件整体谨慎,但在回环上以无认证方式运行 IDE、把未经校验的 CDN 文件写入可执行安装树,且保留参数过滤可被绕过。
口径:动态审计只会把风险往严重里判,不会把风险降下来(只升不降,不构成豁免);模型判错时由人工复核撤回,撤回后回到静态判定。合并判定 = 两层中更严的那一个。
免责声明:静态扫描与动态安全审计都是自动化分析,不构成安全保证。安装前请自行审查。
活跃度
最近提交 2026-09-28 · 活跃度:活跃
• 仓库创建: 2026-08-30
• 星标: ★ 1 · 复刻: 0
• 健康度: 活跃 — 近 30 天有提交
来源
作者 README
GitHub 原文 ↗展示作者仓库中的原始 README 内容,实时抓取、未做改写;优先加载中文版(README.zh-CN.md 等),无中文版时回退英文。
