Voltar às atualizações
New releaseSep 19, 2026

urx v0.11.0

Extrai URLs de Arquivos de OSINT para Insights de Segurança

Compartilhar
Urx Logo

Extrai URLs de Arquivos OSINT para Insights de Segurança.

Urx é uma ferramenta de linha de comando projetada para coletar URLs de arquivos OSINT, como a Wayback Machine e o Common Crawl. Construída em Rust para eficiência, ela aproveita o processamento assíncrono para consultar rapidamente múltiplas fontes de dados. Esta ferramenta simplifica o processo de coleta de informações de URL para um domínio especificado, fornecendo um conjunto de dados abrangente que pode ser usado para diversos fins, incluindo testes de segurança e análise.

Recursos

  • Busca URLs de múltiplas fontes em paralelo (Wayback Machine, Common Crawl, OTX, Arquivo.pt)
  • Conecte qualquer outro servidor de índice CDX — arquivos web nacionais, um pywb privado, OutbackCDX — com --cdx-endpoint URL, sem necessidade de alteração de código
  • Sem chave por padrão: Wayback, Common Crawl, OTX, Arquivo.pt e URLScan (anônimo) funcionam sem uma chave de API
  • Provedor BeVigil: URLs extraídas de aplicativos Android descompactados — endpoints que nenhum arquivo web jamais rastreou
  • Rotação de chave de API para cada provedor com chave (VirusTotal, URLScan, ZoomEye, GitHub, BeVigil) para mitigar limites de taxa
  • Testes autenticados: -H, --cookie e --user-agent aplicam-se a cada requisição que o urx faz ao alvo (--check-status, --extract-links, --extract-js-endpoints, --expand-specs e as sondagens robots/sitemap) e deliberadamente nunca são enviados a um arquivo
  • Filtre resultados por extensões de arquivo, padrões de substring ou expressões regulares completas (--match-regex / --filter-regex)
  • Presets predefinidos, tanto por família de arquivo ("no-images", "only-js") quanto por interesse de segurança ("only-secrets", "only-backup", "only-config", "only-api")
  • Filtragem do lado do arquivo: envie código de status, tipo MIME e intervalo de datas para a própria consulta CDX, para que capturas filtradas nunca cruzem a rede
  • Filtragem de metadados do lado do cliente (--meta-*): filtre por data da primeira/última captura, tipo MIME registrado e status registrado uniformemente em todos os provedores, após a coleta
  • Alvos com escopo de caminho: urx example.com/shop envia o escopo para a própria consulta CDX (url=example.com/shop*), então uma subárvore de um site grande custa uma fração do índice inteiro em vez de ser filtrada no lado do cliente
  • Arquivos de escopo de bug bounty (--scope-file): a própria lista *.example.com / !admin.example.com de um programa usada literalmente, repetível e unida, com exclusões sempre prevalecendo
  • Normalização e deduplicação de URL: Ordene parâmetros de consulta, remova barras finais, mescle URLs semanticamente idênticas e agrupe quase-duplicatas que diferem apenas em ids, hashes ou datas (--dedup-similar)
  • Suporte para múltiplos formatos de saída: texto simples, JSON, JSON Lines, CSV e wordlist — os segmentos de caminho e nomes de parâmetros a partir dos quais o alvo é construído, com ids, hashes e datas deixados de fora
  • Visualizações de parâmetros e fuzz: --params (o inventário completo de parâmetros do alvo), --params-by-endpoint (qual endpoint aceita o quê) e --fuzz-placeholder FUZZ (uma URL modelada por assinatura de parâmetro, pronta para ffuf ou dalfox)
  • Metadados de captura de arquivo: first_seen, last_seen, mime, archive_status e digest retornam com cada URL que um arquivo CDX reportou, sem custo extra de rede
  • Saída em streaming (--stream): as URLs são escritas conforme cada provedor as reporta, então um pipeline começa a funcionar imediatamente em vez de esperar pelo arquivo mais lento
  • Suporte a entrada direta de arquivos: Leia URLs diretamente de arquivos WARC, arquivos compactados URLTeam e arquivos de texto
  • Saída de resultados para o console ou um arquivo, ou transmita via stdin para integração em pipeline
  • Teste de URL:
    • Filtre e valide URLs com base em códigos de status HTTP e padrões.
    • Extraia links adicionais das URLs coletadas — âncoras, scripts, folhas de estilo, ações de formulário, iframes, imagens, fontes de mídia, objetos, embeds e alvos de meta-refresh
    • Minere os corpos de resposta arquivados das URLs coletadas (--archive-body), para que páginas que não existem mais ainda entreguem os links que continham — uma requisição por corpo distinto, graças à deduplicação por digest do CDX
    • Com --extract-js-endpoints, minere também o JavaScript arquivado: um bundle nomeado por hash de build retorna 404 no momento em que o site é reimplantado, e o arquivo é o único lugar onde sua superfície de API ainda existe
    • Mantenha os corpos reproduzidos (--archive-body-dir) como um corpus para grep do que nenhum extrator de links procura — comentários de desenvolvedores, credenciais embutidas, hostnames internos — sem requisições extras
    • Expanda especificações de API (--expand-specs): documentos OpenAPI 3.x, Swagger 2.0 e introspecção GraphQL, JSON ou YAML, transformados em cada rota que descrevem — uma requisição compra toda a superfície documentada
    • Metadados de resposta: --check-status também registra Location, Content-Length e Content-Type, e --check-title adiciona o <title> do HTML
  • Descoberta de robots.txt e sitemap.xml arquivados (--archived-discovery): cada versão distinta que a Wayback Machine mantém, então um Disallow: de 2015 ainda nomeia os caminhos que o site deixou de mencionar desde então
  • Cache e Varredura Incremental:
    • Cache local em SQLite ou remoto em Redis para evitar reescanear domínios (Redis requer uma build com --features redis-cache; builds empacotadas o deixam de fora)
    • Modo incremental para descobrir apenas novas URLs desde a última varredura
    • TTL de cache configurável; cada varredura remove entradas mais antigas que o dobro do TTL, e urx cache prune remove qualquer coisa além disso
    • Subcomando urx cache para inspecionar e manter o cache: stats, list, prune, drop <domain>, clear

Preview

Instalação

Do Cargo

# https://crates.io/crates/urx
cargo install urx

Via Homebrew

# https://formulae.brew.sh/formula/urx
brew install urx

Do Código-Fonte

git clone https://github.com/hahwul/urx.git
cd urx
cargo build --release

O binário compilado estará disponível em target/release/urx.

A partir do Docker

ghcr.io/hahwul/urx

docker pull ghcr.io/hahwul/urx:latest
# the image has no entrypoint, so name the binary before its arguments
docker run --rm ghcr.io/hahwul/urx:latest ./urx example.com

Do AUR

Categorias