Skip to content

web_fetch 工具缺少 ssrfPolicy 配置,TUN 模式下被阻止 #44527

@litchi98

Description

@litchi98

问题描述

OpenClaw 在 TUN 模式代理(如 Clash Verge)下,web_fetch 工具无法正常工作。

TUN 模式会劫持 DNS 解析并返回 fake-ip(私有 IP 地址),而 web_fetch 的 SSRF 安全检查会阻止访问私有 IP 地址,导致所有请求都被拦截。

错误日志

[tools] web_fetch failed: Blocked: resolves to private/internal/special-use IP address

现有解决方案

browser 工具已经支持 ssrfPolicy.dangerouslyAllowPrivateNetwork 配置:

{
  browser: {
    ssrfPolicy: {
      dangerouslyAllowPrivateNetwork: true
    }
  }
}

建议

web_fetch 工具添加类似的 ssrfPolicy 配置选项:

{
  tools: {
    web: {
      fetch: {
        ssrfPolicy: {
          dangerouslyAllowPrivateNetwork: true  // 默认 false,用户可自行开启
        }
      }
    }
  }
}

或者提供一个全局的 SSRF 策略配置,同时应用于 web_fetchbrowser 工具。

临时解决方案

目前用户只能:

  1. 在 Clash TUN 模式中排除 Gateway 进程
  2. 使用 browser 工具替代 web_fetch

环境

  • OpenClaw: v2026.3.11
  • 系统: macOS (arm64)
  • 代理: Clash Verge (TUN 模式)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions