dsh-route-fence-linter
在终端中运行以下命令:
dsh plugin install Vladimir-Kryshchenko/dsh-route-fence-linter
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 中运行 dsh plugin install Vladimir-Kryshchenko/dsh-route-fence-linter 即可安装,源码详见 https://github.com/Vladimir-Kryshchenko/dsh-route-fence-linter
插件介绍
Harness 插件的 webServer 路由走最长前缀匹配,先于宿主 /api 网关拦截请求,意味着每条路由的浏览器信任检查完全依赖插件作者自行实现。现实中大量插件要么没有围栏,要么把 Origin 比较放在 Host 固定之前,留下 DNS 重绑定窗口——攻击者同时控制 Host 和 Origin 两个请求头即可绕过校验,执行状态变更操作。
dsh-route-fence-linter 对插件包做静态源码分析,逐条路由判定其围栏是否合规:先固定 Host 到回环或受信任域名、再拒绝跨站 fetch 标记、最后才比对 Origin,三步缺一不可,顺序不可颠倒。它能跨文件追踪 register() 调用——无论是内联对象、工厂函数、.map() 展开还是裸标识符——找到处理器实际所在的模块,对每个 handler 独立打分;一个围栏缺失就判整条注册 FAIL。同时覆盖 registerFallback 这一更宽的攻击面,以及 DNS 重绑定可绕过的缺陷形态。
适合正在编写或维护 Harness 插件的开发者在提审前自检、安全团队对已上架插件做批量审计,以及 CI 流水线中作为质量门禁(退出码 0/1/2 直接对接)。对插件市场运营者而言,它把围栏合规性检查变成一条可重复执行的静态规则。
使用场景
- 插件提审前自动检查 webServer 路由的信任围栏是否合规
- CI 流水线中以退出码 0/1/2 作为安全质量门禁阻断不合规插件
- 批量审计已上架插件中缺失或可被 DNS 重绑定绕过的围栏缺陷
适合人员
- 编写或维护 Harness 插件的开发者
- 负责插件安全合规的审计团队
- 管理插件市场的运营与审核人员