
TanXinandTanXin
224f69a29f
release: v1.0.9 — 安全审计漏洞修复与 SSRF 防护加固 (#37)
## Summary
安全审计漏洞批量修复,新增 DNS rebinding 防护层,修复 9 个安全问题。
## 修复详情
### SSRF 防护加固(VULN-01/02)
- 新增 `dns-check.ts` 模块,通过 Cloudflare DoH 解析域名后校验真实 IP
- 防止域名解析到内网地址绕过 `isBlockedHost`/`validateBaseUrl` 字符串校验
- SSH 连接和 AI API 调用入口均增加 DNS 解析二次校验
### SSH 协议修复
- 修复 RSA/ECDSA 公钥认证协议不合规问题
### Agent 工具安全加固(VULN-05/06)
- `service_manage`/`docker_manage` 添加 action 白名单校验,非标准操作需用户确认
- `isBlockedCommand` 增加 shell 替换检测,拦截 `rm -rf` 中的 `$()`/`${}`/`` ` `` 模式
### 输入校验与信息泄露修复(LOW-04/05)
- UserDB DO 异常不再返回原始错误消息,改为通用错误响应
- 创建/更新服务器时校验端口范围 1-65535
### 移除未使用功能(LOW-01)
- 移除 `?config=` URL 参数预填功能(未被使用,存在凭据泄露风险)
### DNS 缓存优化
- 添加缓存最大条目限制(1000)防止内存泄漏
- 修正 IPv6 link-local/unique-local 正则表达式精确度
- 添加 DoH 响应 Status 字段校验
## 修改文件(12 个)
| 文件 | 改动 |
|------|------|
| `src/worker/dns-check.ts` | +216(新增 DNS 解析模块) |
| `tests/worker/dns-check.test.ts` | +263(新增 25 个测试) |
| `src/worker/agent/tool-executor.ts` | +22(action 白名单) |
| `src/worker/agent/ssrf.ts` | +31(DNS 校验集成) |
| `src/worker/agent/safety.ts` | +4(shell 替换检测) |
| `src/worker/user-db.ts` | +14(端口校验、错误消息) |
| `src/worker/durable-object.ts` | -23(移除 ?config=、集成 DNS 校验) |
| `src/worker/index.ts` | +8(AI base_url DNS 校验) |
| `src/worker/agent/core.ts` | -15(移除冗余 SSRF 校验) |
| `tests/worker/security.test.ts` | +29(更新测试) |
| `package.json` | 版本 1.0.8 → 1.0.9 |
| `CHANGELOG.md` | 新增 v1.0.9 更新日志 |
## 测试
全部 354 个测试通过,新增 25 个 DNS rebinding 防护测试。
---------
Co-authored-by: TanXin <tanxin@example.com>
2026-07-17 14:26:36 +08:00
..
2026-07-17 14:26:36 +08:00
2026-07-17 14:26:36 +08:00
2026-07-17 14:26:36 +08:00