安全URL获取工具

一个使用FastMCP实现的安全URL获取工具,支持域名解析、私有IP检查、重定向处理和自定义HTTP方法及头部。

  • by appsec-innovation-labs
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 appsec-innovation-labs/secure-mcp-fetch

使用说明

安全获取

该项目使用FastMCP实现了一个安全的URL获取工具。

先决条件

  • Python 3.7+
  • uv(Python包安装程序和环境管理器)

安装

  1. 如果您还没有安装uv:
pip install uv
  1. 创建新的虚拟环境并安装依赖项:
uv venv
source .venv/bin/activate
uv pip install fastmcp requests

用法

  1. 设置allowlist环境变量(可选):
export SECURE_FETCH_ALLOWLIST="example.com,trusted-domain.org"
  1. 运行脚本:
uv run main.py

特性

  • 安全地获取URL
  • 将域解析为IP
  • 检查私有/内部IP
  • 处理重定向(最多3个)
  • 支持自定义HTTP方法和标头
  • 对受信任的域/IP使用分配列表

安全考虑

  • 除非明确允许,否则该工具会阻止访问私有/内部IP
  • 只允许使用HTTP和HTTPS方案
  • SNI设置为与HTTPS连接的主机名匹配

示例用法

脚本运行后,您可以使用 fetch_url 函数用于安全地获取URL。该函数将返回一个字典,其中包含状态代码、响应正文和内容长度。

备注

此工具专为安全的URL获取而设计。在您的环境中使用代码之前,请务必检查并理解代码。