
Ferramenta
TorBot: o crawler Python para coletar OSINT na dark web
O que é
O TorBot é uma ferramenta open source de OSINT (Open Source Intelligence, inteligência a partir de fontes públicas) especializada na dark web: escrita em Python, ela funciona como um crawler de serviços .onion — os sites hospedados dentro da rede Tor (rede de anonimato que roteia o tráfego em camadas criptografadas) — coletando título, descrição, links e informações estruturais de cada página, montando a árvore de relacionamento entre sites e salvando tudo para análise. O projeto nasceu no grupo DedSec Inside, é mantido por PS Narayanan e KingAkeem, tem mais de 4,8 mil estrelas no GitHub e é listado como projeto oficial da OWASP (fundação mundial de segurança de software), sob licença GPL.
A proposta do TorBot é dar ao pesquisador uma visão estruturada de um ecossistema que o navegador comum não entrega: enquanto você navega um site .onion por vez, o TorBot percorre páginas em profundidade, descobre links relacionados, verifica quais ainda estão no ar e gera uma representação visual das conexões — o material bruto para investigações de mercados, fóruns, grupos e infraestrutura maliciosa na dark web. Desde 2026, o projeto ganhou também um modo de análise assistida por IA com abordagem "evidence-first": cada conclusão precisa citar a evidência capturada no crawl, e o pacote de evidências é gerado de forma determinística mesmo se o modelo de IA falhar.
Principais características
| Característica | O que faz |
|---|---|
| Crawler .onion | Percorre serviços Tor coletando título (ou hostname), descrição curta e endereço de cada site |
| Crawl de domínios customizados | Também funciona com sites da web comum, útil para comparar estruturas |
| Controle de profundidade | Flag --depth define quantos níveis de links o crawler percorre |
| Árvore de links | Salva a estrutura de relacionamento entre sites em JSON ou formato tree |
| Visualização | Gera representação visual da árvore em três formatos: tree, JSON e table |
| Verificação de link vivo | Checa se cada link encontrado ainda está ativo |
| Info de site | --info mostra informações básicas da página alvo |
| Análise com IA evidence-first | torbot analyze transforma o resultado do crawl em bundle de investigação com citações — modelo local via Ollama |
| SOCKS5 via Tor | Roteia as requisições pelo proxy do Tor (padrão 127.0.0.1:9050) ou ignora com --disable-socks5 |
| App desktop opcional | Interface gráfica (TorBotApp, Electron) acionável via torbot app |
| Atualização embutida | --update atualiza para a última versão estável; --version mostra a atual |
Como funciona
O TorBot opera em duas frentes: o crawler e o analisador. No crawler, cada requisição é roteada pelo proxy SOCKS5 do Tor local — é o Tor que acessa o serviço .onion, e o TorBot apenas conduz o fluxo; sem o Tor rodando na porta 9050, o modo --disable-socks5 faz as requisições diretas (útil para testar contra sites comuns). A partir da URL inicial, o crawler percorre os links em largura até a profundidade configurada, resolve links relativos contra a página atual, ignora hrefs malformados e coleta, para cada página: título (ou hostname, quando não há título), uma descrição curta do conteúdo e o endereço. O resultado pode ser salvo como árvore de links em JSON e visualizado como tabela ou árvore:
python main.py -u https://example.com --depth 2 --save json
python main.py -u https://example.com --disable-socks5 --visualize treeNa frente de análise, o fluxo é "evidence-first": primeiro o crawl é salvo em um arquivo versionado e, depois, o analisador consome esse resultado — por padrão com um modelo local via Ollama (runtime de modelos de linguagem executado localmente), sem enviar dados para a nuvem:
torbot --url https://example.com --disable-socks5 \
--save result --result-file crawl-result.json
torbot analyze crawl-result.json --provider ollama --model qwen3 \
--output investigation/Cada achado da análise precisa citar a evidência capturada; provedores remotos compatíveis com OpenAI só são aceitos com a flag explícita --allow-remote, e uma falha do provedor nunca impede a gravação do bundle determinístico de evidências — o material cru fica garantido, a interpretação vem depois.
Casos de uso práticos
Mapear um serviço .onion desconhecido
Recebeu um link .onion e quer saber o que é antes de interagir? O TorBot coleta a identidade do site — título, descrição, links internos e para onde ele aponta — sem você precisar abrir um navegador Tor manualmente:
python main.py -u http://site-exemplo.onion --infoConstruir o grafo de relacionamentos de um ecossistema
A aplicação clássica de OSINT: a partir de um fórum ou mercado .onion, percorrer em profundidade e gerar a árvore de links para entender a constelação de sites conectados — quais mercados apontam para quais fóruns, quais serviços de carteira aparecem no mesmo ecossistema. A visualização em tabela ajuda a ler a estrutura de uma vez:
python main.py -u http://fórum.onion --depth 3 --visualize tableMonitorar se sites da dark web continuam no ar
Sites .onion caem e mudam de endereço com frequência. Em um fluxo de monitoramento, o TorBot verifica se os links de uma lista continuam ativos e a saída JSON alimenta um dashboard ou alerta — o material para acompanhar a disponibilidade de infraestrutura maliciosa ao longo do tempo.
Triagem assistida por IA com evidência
Para acervos grandes, o modo de análise gera um bundle de investigação com citações: o pesquisador pede a triagem de um crawl e recebe achados pontuados, cada um apontando a evidência que o sustenta — e tudo rodando localmente via Ollama, sem vazar o material da investigação para provedores remotos.
Coletar evidências para pesquisa acadêmica ou de threat intelligence
O formato versionado do crawl e o bundle determinístico de evidências tornam o TorBot útil para pesquisa: o material coletado fica registrado, reprodutível e citável — requisitos de trabalhos acadêmicos e relatórios de inteligência de ameaças sobre a dark web.
Download e instalação
O TorBot é gratuito e open source (GPL). A instalação clássica clona o repositório e prepara um ambiente virtual Python:
git clone https://github.com/DedSecInside/TorBot.git
cd TorBot
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
python -m pip install -e .Depois, é só rodar:
python main.py --help
python main.py -u https://example.com --depth 2 --visualize tablePré-requisitos: Python 3.10+ e pip. O Tor (rede de anonimato que roteia o tráfego em camadas) é opcional — necessário apenas para crawl de sites .onion (mantenha o proxy SOCKS5 habilitado); para testar com sites comuns, use --disable-socks5. Também existe Dockerfile no repositório, e o app desktop (TorBotApp, em Electron) é um projeto separado que o CLI aciona com torbot app.
Conclusão
O TorBot ocupa um espaço raro no OSINT: ele é uma das poucas ferramentas maduras e ativas feitas especificamente para a dark web, com crawler dedicado a serviços .onion, saída estruturada e visual, e agora uma camada de análise com IA que não sacrifica a rastreabilidade — evidência antes de conclusão. Para pesquisadores de ameaças, jornalistas investigativos e analistas que precisam entender ecossistemas .onion sem depender de navegação manual, é a ferramenta de entrada mais sólida disponível em código aberto. O ecossistema Tor é hostil por natureza, e o TorBot não muda isso: ele apenas dá estrutura ao caos — e deixa registrado, em JSON, exatamente o que foi visto e quando.
Perguntas frequentes
Preciso instalar o Tor para usar o TorBot?
Depende do alvo. Para crawlear sites .onion, sim — o TorBot roteia as requisições pelo proxy SOCKS5 do Tor (padrão 127.0.0.1:9050). Para sites da web comum, basta usar a flag --disable-socks5.
O TorBot funciona só com sites .onion?
Não. Ele também crawl domínios comuns da internet, o que é útil para comparar estruturas ou testar o funcionamento antes de apontar para a dark web.
O que é a análise evidence-first com IA?
É o modo em que o crawl é salvo em arquivo versionado e depois analisado por um modelo de linguagem (padrão: Ollama local). Cada achado da análise precisa citar a evidência capturada, e o bundle de evidências é sempre gravado mesmo se a IA falhar.
Como salvo os resultados de um crawl?
Com a flag --save nos formatos tree ou JSON. Exemplo: python main.py -u URL --depth 2 --save json. A visualização tem formatos tree, table e JSON.
O TorBot tem interface gráfica?
Sim, mas opcional: o TorBotApp é um projeto Electron separado; com ele instalado, o CLI abre a interface com o comando torbot app.
Fazer crawl na dark web é legal?
O crawling em si é coleta de informações públicas, mas a dark web concentra atividades ilegais — o que você encontra (e como usa) define a legalidade. Pesquisadores devem agir com autorização e dentro do marco legal do seu país.
Fontes e leituras adicionais
- GitHub — DedSecInside/TorBot — repositório oficial — 10/09/2026
- OWASP — TorBot — projeto OWASP — 10/09/2026
- TorBot — Análise evidence-first (docs/ANALYST.md) — 10/09/2026
- TorBot — Guia do Tor (torrc) — 10/09/2026