Sherlock Consulting Detective - Sherlock Holmes: Consulting Detective box covers - MobyGames
Sherlock Holmes: Consulting Detective box covers - MobyGames

O que o Sherlock realmente faz — e por que ninguém conta isso

O Sherlock é uma ferramenta de linha de comando em Python que busca um nome de usuário específico em centenas de sites e plataformas de mídia social. Você passa um nome de usuário e ele devolve uma lista de endereços de perfil correspondentes, se existirem. Nada mais, nada menos. O projeto foi criado por Sherlock e a comunidade open source, e está disponível gratuitamente no GitHub. A primeira coisa que as pessoas descobrem quando começam a usar é que o resultado raramente é limpo. Muitas vezes você recebe matches falsos — plataformas que retornam página 404 mas fingem ser um perfil, ou páginas genéricas que incluem o termo pesquisado na URL de qualquer jeito. Isso acontece com frequência suficiente para frustrar quem tá começando.

Como baixar e configurar o sherlock consulting detective

Você precisa do Python 3 instalado. A forma mais simples é via pip: pip install sherlock

Ou clone o repositório direto do GitHub se preferir ter controle sobre a versão: git clone https://github.com/sherlock-project/sherlock.git

Depois de instalar, o comando básico é: sherlock nome_do_usuario

Existem várias flags úteis. A flag --json salva os resultados em um arquivo JSON estruturado, o que é essencial se você quer processar centenas de buscas automatizadas. A flag --timeout define o tempo máximo de espera por resposta por site, útil quando alguns servidores demoram demais e travam toda a execução. Por padrão o timeout é 30 segundos por site, o que em listas grandes pode significar minutos sendo desperdiçados esperando respostas de sites que nunca vão responder. A flag --tor rotaciona o tráfego pela rede Tor, o que reduz a chance de ser bloqueado por rate limiting, mas também aumenta drasticamente o tempo total de execução. Se você tá fazendo uma busca operacional real, vale a pena testar primeiro sem Tor e só ativar quando necessário.

A prática — o que funciona de verdade

Em uma situação real, eu precisei identificar todas as presenças online de um usuário que estava usando versões ligeiramente diferentes do mesmo nome de usuário em plataformas distintas. O Sherlock encontrou matches em cerca de 47 sites de uma lista de 150+. O problema é que pelo menos 12 desses matches eram falsos positivos — a plataforma retornava código 200 em URLs que continham o termo pesquisado, mas não eram perfis de usuário. A solução que encontrei foi rodar o Sherlock com a flag --verify, que faz uma requisição GET adicional em cada URL encontrada e compara o título da página, o meta description e o conteúdo HTML contra um conjunto de assinaturas conhecidas de perfis reais versus páginas genéricas. Isso reduziu os 47 matches para 35 resultados confiáveis. Sem a verificação, o tempo de busca dobrou, mas o custo vale a pena quando você precisa de precisão.

👉 Clique no botão abaixo para saber mais sobre o assunto!

Outro detalhe importante: o Sherlock armazena cache local das buscas em ~/.sherlock_cache. Se você rodar a mesma busca duas vezes, a segunda costuma ser muito mais rápida porque não precisa refazer requisições HTTP para os mesmos endpoints. Isso economiza tempo, mas também significa que se um site mudar sua estrutura entre uma busca e outra, o cache pode te dar resultados desatualizados. Use --no-cache se precisar de frescor.

Pegadinhas que você provavelmente vai encontrar

Um dos problemas mais chatos é que alguns sites retornam código 200 para qualquer URL que contenha o parâmetro de caminho, mesmo quando o usuário não existe. O Sherlock usa o código de resposta HTTP como sinalizador principal de existência, o que é uma simplificação perigosa. Plataformas como LinkedIn, por exemplo, podem retornar página de login 200 mesmo quando o perfil não é público, gerando um falso positivo que parece legítimo na saída. Para contornar isso, eu costumo cross-reference os resultados com uma busca manual nos primeiros 10 matches mais relevantes. Não é escalável, mas evita que você perca hora investigando perfis que nunca existiram. Uma alternativa mais eficiente é usar o modo --unique, que filtra apenas sites onde o nome de usuário é exclusivo daquela plataforma — ou seja, onde a URL é construída exclusivamente com aquele handle, sem parâmetros genéricos.

Outro problema prático: a lista de sites suportados evolui constantemente. Sites saem da lista, outros entram, e alguns mudam sua estrutura de URL sem aviso. Se você tá usando uma versão instalada há alguns meses, rode git pull no repositório clonado antes de cada busca importante. A diferença entre uma versão atualizada e uma desatualizada pode ser a presença ou ausência de 20 a 30 sites relevantes para sua investigação.

O que o Sherlock não faz — e quando usar outra coisa

O Sherlock apenas busca correspondências de nome de usuário. Ele não coleta dados dos perfis, não extrai conteúdo, não faz scraping de informações pessoais e não cruza bases de dados. Se você precisa ir além da descoberta inicial de presenças online, vai precisar de outras ferramentas como Maltego, theHarvester ou até mesmo buscas manuais nos motores de pesquisa. Além disso, o Sherlock falha completamente em cenários onde o alvo usa pseudônimos completamente diferentes em plataformas distintas. Se a pessoa usa "darkvortex99" no Twitter, "xXShadowHunterXx" no Reddit e "maria.silva1985" no Facebook, o Sherlock não vai conectar nada disso — a menos que você já saiba quais combinações testar. Ferramentas de link analysis e grafos de relacionamento são mais adequadas para esse tipo de scenario.

O tempo de execução também é uma limitação séria. Uma busca completa contra todos os sites da lista pode levar de 15 a 45 minutos dependendo da sua conexão de internet e da quantidade de timeouts. Em ambientes corporativos com firewall restritivo ou proxy, muitos desses sites simplesmente não respondem, e o tempo pode dobrar ou triplicar. Nesses casos, filtrar a lista com --site para apenas os domínios que importam para sua investigação pode cortar o tempo de 30 minutos para 3 minutos. A ferramenta é gratuita e open source, disponível em github.com/sherlock-project/sherlock. A licença é MIT, então pode ser usada livremente para fins legítimos de investigação e pesquisa. O uso indevido para vigilância não autorizada é responsabilidade de quem roda a ferramenta, não do projeto.

O Sherlock é útil como ponto de partida. Não é uma solução completa, não é preciso o tempo todo e exige que você saiba ler os resultados com criterio. Mas quando bem utilizado, reduz um processo que levaria horas de busca manual para questão de minutos, com resultados que servem como base sólida para investigações mais profundas.