Skip to content

dsh-task-dispatch 0.6.1 — security fix

Choose a tag to compare

@vinson1101 vinson1101 released this 11 Nov 03:27
· 4 commits to main since this release

安全修复(必须升级)

0.6.0 及更早版本在未配置 token 时完全放行,且不校验 Origin / Host:本机任意进程都能读取任务记录、向 Agent 派活;在特定浏览器条件下,恶意网页也可能尝试访问。

0.6.1 改为:

修复 行为
默认强制认证 首次启动自动生成 32 字节令牌,写入 $DSH_HOME/relay/token(权限 600),重启复用;除 /health 外都要求 Authorization: Bearer <token>
Host 校验 必须是 127.0.0.1 / localhost / [::1],否则 403 —— 挡 DNS rebinding
Origin 校验 带 Origin 且非本机来源 → 403 —— 挡恶意网页
Content-Type 校验 POST 必须是 application/json,否则 415 —— 挡简单表单 CSRF
关闭认证需显式声明 只有 allowAnonymous: true 才放行,并打警告日志

升级方式

dsh plugin --profile desktop add https://github.com/vinson1101/dsh-task-dispatch/releases/download/v0.6.1/dsh-task-dispatch-0.6.1.tgz

装完重启 DSH。之后所有请求要带令牌:

curl -H "Authorization: Bearer $(cat ~/.dsh/relay/token)" http://127.0.0.1:7391/tasks

MCP 适配层会自动读取同一个令牌文件,无需额外配置。

说明

  • 如果你之前手工配置过 token,行为不变
  • 如果之前依赖"无认证"的调用方,升级后会拿到 401
  • 发现者未确认是否已被利用;建议升级后检查 $DSH_HOME/relay/tasks/ 里有没有不属于自己的任务