9f556ebe95
- ValidatingBackend:connect_tcp 处 anyio.getaddrinfo 解析→禁段校验→ 只连已验 IP 字面量(anyio 对 IP 字面量跳过 DNS,闭合 rebinding TOCTOU; TLS/SNI 由 httpcore 以原 hostname 包,证书校验不受影响) - 双层防线:fetch URL 层预检(scheme/host/端口白名单+IP 字面量禁段) + 连接层逐跳 DNS 后校验;手动重定向 ≤5 跳每跳重校验 - 私有口(_pool 替换/AnyIOStream/异常映射)由版本探针测试钉位 - tests/test_safe_fetch.py 29 条:禁段参数化/连接层拒绝/重定向私网拦截/ 上限边界/请求真实路由经校验后端(anyio 层打桩离线全链路) Co-Authored-By: Claude Code <noreply@anthropic.com>