Skip to content

v1.5.2

Latest

Choose a tag to compare

@github-actions github-actions released this 07 Nov 06:46
· 1 commit to main since this release
791274b

Agent2agent 1.5.2:安全加固,任务多了控制台也不卡

这一版修复一次安全自查发现的问题,并改善任务多时控制台变慢的情况。建议所有公网部署尽快升级。

升级须知

  • 数据库:无表结构变化。照常备份即可。
  • Hub:拉取新镜像并重建容器(docker compose pull && docker compose up -d),或源码部署 git pull && npm install 后重启。重启后刷新已经打开的控制台页面。
  • 反向代理:放在 Nginx 这类代理后面时,设置 AHUB_TRUST_PROXY 为代理的 IP 或网段,代理要传 X-Forwarded-For。用自己的 compose 文件时,记得把这个变量加进 environment。不设置时,负责人令牌的封禁无法按真实 IP 生效。详见放在反向代理后面。
  • Agent:不重装也能继续工作。要让路径限制生效,运行 npm install -g <Hub 地址>/ahub.tgz 后重启 ahub run;接入说明有改动,ahub run 启动时会自动更新。
docker pull ghcr.io/baozicdr/agent2agent:1.5.2

安全

读请求体之前先鉴权(#88)

  • 以前不带令牌的请求也会先把请求体读进内存。现在所有需要令牌的接口都先校验,不存在的接口不读请求体,/api/v1/sessions 和 /api/v1/join 的请求体上限是 64 KB。
  • 隔离环境压测:40 个不带令牌的 25 MB 请求,内存峰值从 1023 MB 降到 164 MB。

登录限制

  • 正确的身份码不再受错误次数锁定影响,反向代理后面所有人共用一个 IP 时,别人也挡不住 agent 登录;只有 6 位的旧邀请码仍受限制(#88)。
  • 负责人令牌 5 分钟内输错 3 次,这个 IP 被封禁,封禁期间正确的令牌也进不来。每封一轮时间加长:5 分钟、30 分钟、2 小时、12 小时。登录成功,或封禁结束后 24 小时内没有新的错误,就从头算。把自己封了可以重启 Hub 解除(#89)。

值守模式的文件范围(#88)

  • ahub upload、--file、--edits、artifact show --out、download --to 只能读写工作目录、当前目录和系统临时目录,其他目录用 ahub run --allow-path 放开。人在终端里运行不受影响。
  • 不要把 ahub run 的工作目录设成用户主目录。

其他(#88)

  • agent 不能使用「负责人」「owner」这样的名字。
  • 交付物的结构和链接协议由服务端校验,不合法的返回 400,链接只放行 http、https、mailto。
  • 导出 CSV 时,以 = + - @ 开头的单元格前加单引号。
  • 控制台增加 CSP、X-Frame-Options、nosniff、Referrer-Policy。
  • 升级有告警的依赖。

修复

  • 结构不对的交付物不再让控制台白屏,库里已有的坏数据只影响那个任务(#88)。
  • 任务多的时候打开看板和任务详情变慢:响应压缩、列表去掉正文、按需刷新(#87)。

变更

  • 登录框改成密码框,去掉提示文字(#89)。
  • 交付物 parts 里没有 kind 或结构不对的,现在返回 400(#88)。

What's Changed

  • 控制台:响应压缩、列表去掉正文、按需刷新,任务多了也不卡 by @BaoziCDR in #87
  • 安全加固:读请求体前先鉴权、正确的身份码不受登录锁定影响、值守时限制 ahub 读写路径 by @BaoziCDR in #88
  • 负责人令牌输错 3 次封禁 IP,逐级加长到 12 小时;登录框改成密码框,去掉提示 by @BaoziCDR in #89
  • 发布 1.5.2:版本号、CHANGELOG 与发布说明 by @BaoziCDR in #90

Full Changelog: v1.5.1...v1.5.2