返回插件页
安全检测报告

dsh-streaming-mcp-bridge存在风险84/100

@yabolee-kkk
远程npm 预构建包代码行为与描述部分一致

DeepSeek Harness 流式 MCP 桥接:将实时会话事件作为 MCP 进度输出,并提供 cc-connect/飞书 ACP 适配器。

Star0GitHub · 仅用于排序
npm 周下载269dsh-streaming-mcp-bridge
固定 commitf6c96745cb2026-08-19
扫描时间2026-08-21 13:17 UTCHT-DSH-0.2.2

检测结论

CAUTION · HT-DSH-0.2.2 · f6c9674

该插件描述为“流式 MCP/ACP 桥接”,实际随包附带了一份独立的 DSH SDK 运行时配置(config/sdk-streaming.cordis.yml),用于插件自身的 bin/mcp.js 内嵌运行一个具备 bash/子进程/文件读写能力、且审批策略为 never 的全权限代理,以产出真实的流式会话事件——这与其声称功能相符,属于实现所必需的组件。关键是:这份配置未被 package.json 的 dsh.bundle.patch(实际安装到宿主的补丁,仅设置 host/port/authToken/model 等)引用,因此不会自动覆盖用户宿主 DSH 会话的沙箱/审批策略;只有用户手动将该文件应用到自己的 profile 时才会生效。最值得用户注意的一点:该嵌入式代理默认 approval=never、sandbox=workspace-write,一旦被手动套用到宿主配置,将使工具调用无需确认即可执行,需谨慎对待。

有效发现(置信度 ≥ 中):严重 0 0 13 3· 原始命中 16 · 低置信度不计入 0
安装
dsh plugin --profile web add dsh-streaming-mcp-bridge
将安装 npm dsh-streaming-mcp-bridge@0.1.1;本报告检测的是 commit f6c9674。发布包与源码尚未比对,请核对版本。
存在 13 项中等级发现,安装前请先阅读证据。

检测明细

每层做了什么、跑没跑、有效发现数
L0来源身份npm 元数据 ↔ 仓库已完成0
L1供应链安装脚本 · 未固定依赖 · 锁文件有锁文件0
L1已知漏洞OSV.dev · 仅生产依赖闭包已完成0
L2静态分析18 个文件 · 原始命中 3已完成3
L2.5模型研判sonnet · 5/5已完成5
L3权限清单覆盖宿主行 0 · 安全关键 0 · 敏感 0已完成13
L4隔离动态运行容器 · 假凭据金丝雀 · 出站记录未执行
L5人工复核申诉 72 小时内复核未执行
未执行的层不构成通过;只有“已完成”的层提供了证据。分数 = 100 − 去重规则罚分(严重 35 / 高 16 / 中 5 / 低 1),只用于同策略版本内排序。

权限清单 · cordis patch 解析

插件安装后会改变宿主的哪些行
插入的行1
覆盖/禁用的宿主行0
!!js 表达式5
浏览器端 bundle
覆盖的宿主行
没有覆盖任何 dsh-base 宿主行。
安全关键 seam · 未改动
sandboxsandbox-policybash-sandboxpwsh-sandboxapprovalpermissioncredentialssubprocessshell-envfs-observation-policy
“未改动”只说明该插件的 patch 没有覆盖这些行;插件代码仍以宿主进程权限运行。
插入的行
dsh-streaming-mcp-bridge · dsh-streaming-mcp-bridge
随包分发的其他 cordis 配置 · 需用户手动应用
config/sdk-streaming.cordis.yml· 20 行含安全关键行
这些文件未被 dsh.bundle 引用,安装时不会自动生效;只有用户用 --patch 或复制进 profile 时才会改变宿主。

证据

16 项有效 · 按严重度排序 · 严重项不折叠
HT-CONFIG-001Cordis 配置包含可执行 !!js 表达式
置信度 高L3 · DSH 权限语义
config/sdk-streaming.cordis.yml:19GitHub
19!!js "process.env.DSH_PERMISSION_MODE ?? 'workspace-write'"
规则备注 · 表达式访问模块、进程或网络,超出读取注入服务的常规用法
!!js 是 DSH 的官方配置机制;只有表达式引入模块、访问进程或网络时才超出常规用法。
修复建议只读取注入的服务;需要更多能力时改为结构化配置并记录副作用。
HT-CONFIG-001Cordis 配置包含可执行 !!js 表达式
置信度 高L3 · DSH 权限语义
config/sdk-streaming.cordis.yml:20GitHub
20!!js "process.env.DSH_SANDBOX_ROOT ?? process.cwd()"
规则备注 · 表达式访问模块、进程或网络,超出读取注入服务的常规用法
!!js 是 DSH 的官方配置机制;只有表达式引入模块、访问进程或网络时才超出常规用法。
修复建议只读取注入的服务;需要更多能力时改为结构化配置并记录副作用。
HT-PERMISSION-001覆盖安全关键宿主能力
置信度 中L3 · DSH 权限语义
config/sdk-streaming.cordis.yml:12GitHub
12override: id=sandbox name=@deepseek-ai/dsh-sandbox-local
规则备注 · 替换实现 命令沙箱(sandbox);该配置随包分发但未被 dsh.bundle 引用,只有用户手动应用时才生效
模型研判功能所需

该 sandbox override 位于 config/sdk-streaming.cordis.yml,用于构建插件自身内嵌的 DSH 代理运行时(供 bin/mcp.js 生成流式事件),未被 package.json 的 dsh.bundle.patch 引用,不会自动覆盖宿主 cordis 实例。

按 id 覆盖或关闭 sandbox、approval、credentials 等行,会让整个 DSH 实例的信任边界由插件代码决定。
修复建议逐项解释并最小化安全关键能力替换,同时接受人工复核。
HT-PERMISSION-001覆盖安全关键宿主能力
置信度 中L3 · DSH 权限语义
config/sdk-streaming.cordis.yml:15GitHub
15override: id=sandbox-policy name=@deepseek-ai/dsh-sandbox-policy config[mode,workspaceRoot]
规则备注 · 替换实现 沙箱策略(sandbox-policy);该配置随包分发但未被 dsh.bundle 引用,只有用户手动应用时才生效
模型研判功能所需

sandbox-policy 的 mode/workspaceRoot 通过环境变量可控(默认 workspace-write/cwd),属于内嵌代理运行时的常规权限配置,同样未接入 dsh.bundle,不影响宿主安全策略。

按 id 覆盖或关闭 sandbox、approval、credentials 等行,会让整个 DSH 实例的信任边界由插件代码决定。
修复建议逐项解释并最小化安全关键能力替换,同时接受人工复核。
HT-PERMISSION-001覆盖安全关键宿主能力
置信度 中L3 · DSH 权限语义
config/sdk-streaming.cordis.yml:21GitHub
21override: id=subprocess name=@deepseek-ai/dsh-subprocess-local
规则备注 · 替换实现 子进程执行(subprocess);该配置随包分发但未被 dsh.bundle 引用,只有用户手动应用时才生效
模型研判功能所需

subprocess override 为内嵌代理执行 bash 等工具提供本地子进程实现,是流式桥接生成真实会话事件所必需的基础能力,非宿主级覆盖。

按 id 覆盖或关闭 sandbox、approval、credentials 等行,会让整个 DSH 实例的信任边界由插件代码决定。
修复建议逐项解释并最小化安全关键能力替换,同时接受人工复核。
HT-PERMISSION-001覆盖安全关键宿主能力
置信度 中L3 · DSH 权限语义
config/sdk-streaming.cordis.yml:29GitHub
29override: id=approval name=@deepseek-ai/dsh-user-approval config[policy]
规则备注 · 替换实现 工具审批(approval);该配置随包分发但未被 dsh.bundle 引用,只有用户手动应用时才生效
模型研判功能所需

approval policy:never 使内嵌代理在无 TTY 的流式/无人值守场景下自动放行工具调用,符合“流式 MCP 桥接”类插件需要后台自动运行代理的设计,但会移除该嵌入式代理的操作确认环节,值得用户知晓。

按 id 覆盖或关闭 sandbox、approval、credentials 等行,会让整个 DSH 实例的信任边界由插件代码决定。
修复建议逐项解释并最小化安全关键能力替换,同时接受人工复核。
HT-PERMISSION-002覆盖敏感宿主能力
置信度 中L3 · DSH 权限语义
config/sdk-streaming.cordis.yml:61GitHub
61override: id=compaction-basic name=@deepseek-ai/dsh-compaction-basic config[thresholdRatio,retainRatio,maxTokens,compactionRetries]
规则备注 · 替换实现 compaction-basic;该配置随包分发但未被 dsh.bundle 引用,只有用户手动应用时才生效
改写系统提示词、模型调用、会话持久化或工具行会改变 Agent 的行为与数据去向。
修复建议在 README 中说明覆盖了哪些行及原因,并尽量只重述必要的配置键。
HT-PERMISSION-002覆盖敏感宿主能力
置信度 中L3 · DSH 权限语义
config/sdk-streaming.cordis.yml:69GitHub
69override: id=session-projection name=@deepseek-ai/dsh-session-projection
规则备注 · 替换实现 session-projection;该配置随包分发但未被 dsh.bundle 引用,只有用户手动应用时才生效
改写系统提示词、模型调用、会话持久化或工具行会改变 Agent 的行为与数据去向。
修复建议在 README 中说明覆盖了哪些行及原因,并尽量只重述必要的配置键。
HT-PERMISSION-002覆盖敏感宿主能力
置信度 中L3 · DSH 权限语义
config/sdk-streaming.cordis.yml:72GitHub
72override: id=subagent name=@deepseek-ai/dsh-subagent
规则备注 · 替换实现 subagent;该配置随包分发但未被 dsh.bundle 引用,只有用户手动应用时才生效
改写系统提示词、模型调用、会话持久化或工具行会改变 Agent 的行为与数据去向。
修复建议在 README 中说明覆盖了哪些行及原因,并尽量只重述必要的配置键。
HT-PERMISSION-002覆盖敏感宿主能力
置信度 中L3 · DSH 权限语义
config/sdk-streaming.cordis.yml:75GitHub
75override: id=subagent-spawn-in-process name=@deepseek-ai/dsh-subagent-spawn-in-process config[providerName]
规则备注 · 替换实现 subagent-spawn-in-process;该配置随包分发但未被 dsh.bundle 引用,只有用户手动应用时才生效
改写系统提示词、模型调用、会话持久化或工具行会改变 Agent 的行为与数据去向。
修复建议在 README 中说明覆盖了哪些行及原因,并尽量只重述必要的配置键。
HT-PERMISSION-002覆盖敏感宿主能力
置信度 中L3 · DSH 权限语义
config/sdk-streaming.cordis.yml:80GitHub
80override: id=tool-subagent name=@deepseek-ai/dsh-tool-subagent config[provider,toolName,backgroundMode,maxDepth]
规则备注 · 替换实现 tool-subagent;该配置随包分发但未被 dsh.bundle 引用,只有用户手动应用时才生效
改写系统提示词、模型调用、会话持久化或工具行会改变 Agent 的行为与数据去向。
修复建议在 README 中说明覆盖了哪些行及原因,并尽量只重述必要的配置键。
HT-PERMISSION-001覆盖安全关键宿主能力
置信度 中L3 · DSH 权限语义
config/sdk-streaming.cordis.yml:98GitHub
98override: id=fs-observation-policy name=@deepseek-ai/dsh-fs-observation-policy
规则备注 · 替换实现 文件可见性策略(fs-observation-policy);该配置随包分发但未被 dsh.bundle 引用,只有用户手动应用时才生效
模型研判功能所需

fs-observation-policy override 属于同一内嵌代理运行时的文件可见性配置,与其余 fs-sandbox/tool-fs 组件配套,服务于插件自带的代理工具链,未挂载到宿主 bundle。

按 id 覆盖或关闭 sandbox、approval、credentials 等行,会让整个 DSH 实例的信任边界由插件代码决定。
修复建议逐项解释并最小化安全关键能力替换,同时接受人工复核。
HT-PERMISSION-002覆盖敏感宿主能力
置信度 中L3 · DSH 权限语义
config/sdk-streaming.cordis.yml:101GitHub
101override: id=tool-fs name=@deepseek-ai/dsh-tool-fs
规则备注 · 替换实现 文件工具(tool-fs);该配置随包分发但未被 dsh.bundle 引用,只有用户手动应用时才生效
改写系统提示词、模型调用、会话持久化或工具行会改变 Agent 的行为与数据去向。
修复建议在 README 中说明覆盖了哪些行及原因,并尽量只重述必要的配置键。
低等级发现 3 项 · 计入结论但不改变状态展开
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
scripts/check-package.mjs:4GitHub
4spawnSync
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
scripts/check-package.mjs:4GitHub
4node:child_process
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。
HT-EXEC-001直接创建宿主子进程
置信度 中L2 · 静态分析
scripts/smoke-acp.mjs:2GitHub
2node:child_process
修复建议通过 DSH 受控执行边界运行命令,并公开参数与审批策略。

依赖漏洞 · L1

已查询 OSV.dev:package-lock.json 中的生产依赖,0 个已知漏洞
开发依赖及其传递链不计入;只覆盖 OSV 收录的公开漏洞;是否可被利用取决于插件如何使用该依赖。

身份与来源

GitHubyabolee-kkk/dsh-streaming-mcp-bridge固定 commitf6c96745cbc9 · 2026-08-19内容摘要sha256:d98628b46c31f047npmdsh-streaming-mcp-bridge@0.1.1 · 2 个版本最近发布2026-08-17 11:05 UTCrepository 字段指向同一仓库发布来源证明无 provenance维护者1发布包 ↔ 源码未比对收录日期2026-08-19

宿主能力

范围,不是结论
Agent 控制凭据环境变量文件系统Host BundleMCP外部网络会话数据宿主子进程
能力标签来自源码中的 API 使用模式:插件读文件、访问网络、创建子进程、读取凭据都会被标出。很多能力是功能所需;有没有问题看上面的证据。

检测覆盖

源码获取已完成
manifest 解析已完成
bundle 配置已完成
依赖锁定有锁文件
已知漏洞查询已完成
来源身份已完成
发布包 ↔ 源码比对未比对
模型研判已完成
隔离动态运行未执行
人工复核未执行
2026-08-21 13:17 UTC存在风险
HT-DSH-0.2.2 · f6c9674
判定从 REVIEW 变为 CAUTION
2026-08-21 11:42 UTC高风险
HT-DSH-0.2.1 · f6c9674
策略升级到 HT-DSH-0.2.1
2026-08-21 11:10 UTC高风险
HT-DSH-0.2.0 · f6c9674
首次扫描

徽章

贴进 README,点击回到本页
Harness Trust: 存在风险
[![Harness Trust](https://dshmod.com/badge/dsh-streaming-mcp-bridge.svg)](https://dshmod.com/plugins/yabolee-kkk-dsh-streaming-mcp-bridge)
API 文档
徽章文案只有风险状态与策略版本,状态变化时自动更新。

已知限制与申诉

作者或用户认为某项发现不成立?提交申诉,我们在 72 小时内复核并公开处理记录。