Skip to content

[Security] /plugins/data-agent 路由(含 connect 写凭据)缺少来源校验围栏 #13

Description

@Fro2en12

问题:插件 web 路由无访问控制围栏

环境:DSH Web profile,@yejiming/dsh-data-agent v0.1.3(npm)。审查 lib/routes.js(约 56-67 行)发现:

/plugins/data-agent/* 路由(connect、schemas、catalog 等)直接挂 harness web server,无 loopback / 已配对设备校验。其中 connect 会写入数据库连接凭据(敏感、破坏性),schemas 读取元数据。对比生态内 @linxin666/dsh-client-ui-skill-explorer 实现了 isSkillExplorerAllowed 护栏,本插件没有同类护栏。

若 harness web server 不只监听 loopback(远程访问、端口转发等场景),同机/局域网页面可跨源向这些端点发起请求(DNS rebinding / CSRF 友好路径),导致凭据写入或元数据泄露。

建议

  1. 所有 /plugins/data-agent/* 路由增加来源校验(loopback/已配对设备),参考 isSkillExplorerAllowed 的生态实现。
  2. connect(写凭据)在护栏基础上建议再过一次宿主的 approval/确认门。
  3. client.js bundle 约 1.7MB(含 echarts),可考虑按需加载/拆分,减少首屏开销(非阻塞项)。

附:行号来自本地安装的 lib/routes.js v0.1.3;repo 内对应 src 请按路由路径定位。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions