Secure Fetch

Fetch seguro para prevenir acesso a recursos locais

Documentação

Secure Fetch

Este projeto implementa uma ferramenta segura de busca de URLs usando FastMCP.

Pré-requisitos

  • Python 3.7+
  • uv (instalador de pacotes e gerenciador de ambientes Python)

Instalação

  1. Instale o uv se ainda não o tiver:
pip install uv
  1. Crie um novo ambiente virtual e instale as dependências:
uv venv
source .venv/bin/activate
uv pip install fastmcp requests

Uso

  1. Defina a variável de ambiente da lista de permissões (opcional):
export SECURE_FETCH_ALLOWLIST="example.com,trusted-domain.org"
  1. Execute o script:
uv run main.py

Recursos

  • Busca URLs com segurança
  • Resolve domínios para IPs
  • Verifica IPs privados/internos
  • Lida com redirecionamentos (até 3)
  • Suporta métodos HTTP e cabeçalhos personalizados
  • Usa uma lista de permissões para domínios/IPs confiáveis

Considerações de Segurança

  • A ferramenta impede o acesso a IPs privados/internos, a menos que sejam explicitamente permitidos
  • Apenas esquemas HTTP e HTTPS são permitidos
  • O SNI é definido para corresponder ao nome do host para conexões HTTPS

Exemplo de Uso

Assim que o script estiver em execução, você pode usar a função fetch_url para buscar URLs com segurança. A função retornará um dicionário contendo o código de status, o corpo da resposta e o comprimento do conteúdo.

Nota

Esta ferramenta foi projetada para busca segura de URLs. Sempre revise e entenda o código antes de usá-lo em seu ambiente.