Análise de redes sociais em OSINT: extração e visualização de conexões
A análise de redes sociais (ou SNA, de social network analysis) estuda relações: quem se conecta a quem, com que intensidade e por quais caminhos. Em OSINT, isso significa transformar perfis, menções, seguidores e co-ocorrências em um grafo que revela comunidades, intermediários e contas centrais que, numa planilha, passariam despercebidos.
Neste guia prático você vai aprender o fluxo completo: coletar dados abertos com responsabilidade, modelar o grafo, visualizar com Maltego e Gephi e interpretar as métricas que importam.
O que é um grafo de relacionamento?
Um grafo tem dois elementos. Os nós (vértices) representam entidades: pessoas, perfis, domínios, telefones. As arestas representam a relação entre eles: "segue", "mencionou", "respondeu", "compartilha o mesmo e-mail". As arestas podem ter direção (A segue B, mas B não segue A) e peso (quantas vezes A mencionou B).
Pensar nessa estrutura antes de coletar economiza horas. Pergunte-se: qual é a entidade central da investigação? Que relações são relevantes? Que atributo vira peso?
Coleta ética de dados abertos
A regra número um: colete apenas o que está publicamente acessível e respeite os termos de uso das plataformas. Raspagem automatizada em larga escala viola políticas de serviço e, dependendo do volume e da finalidade, pode esbarrar na LGPD. Prefira dados agregados e minimize a retenção de dados pessoais.
Boas práticas de coleta:
- Documente a fonte e o horário de cada captura (cadeia de custódia).
- Separe identificadores diretos (nome, e-mail) do restante sempre que possível.
- Nunca interaja com o alvo a partir da sua conta pessoal.
- Defina um objetivo claro: coleta sem hipótese vira acúmulo de ruído.
Modelando o grafo em CSV
Tanto Maltego quanto Gephi importam listas de nós e arestas em CSV. Esse formato neutro é o seu melhor amigo, pois desacopla a coleta da visualização.
Um arquivo de arestas mínimo:
Source,Target,Type,Weight
perfil_a,perfil_b,Directed,3
perfil_a,perfil_c,Directed,1
perfil_b,perfil_c,Directed,5
Um arquivo de nós com atributos:
Id,Label,Categoria
perfil_a,Conta A,influenciador
perfil_b,Conta B,comum
perfil_c,Conta C,bot_suspeito
A coluna Weight é o peso da aresta e Type indica se é dirigida (Directed) ou não (Undirected). Mantenha os Id estáveis e sem acentos para evitar quebras na importação.
Visualizando com Maltego
O Maltego é uma plataforma de link analysis que automatiza a coleta a partir de uma entidade inicial e desenha o grafo em tempo real. O fluxo básico:
- Arraste uma entidade inicial para o canvas, por exemplo um alias, e-mail ou domínio.
- Clique com o botão direito e escolha um Transform: uma consulta que parte da entidade e retorna entidades relacionadas.
- Encadeie Transforms para expandir a rede camada a camada.
- Use o layout por blocos ou orgânico para enxergar aglomerados.
A versão Community tem limites de resultados por Transform, mas já serve para aprender o modelo. Armadilha comum: expandir sem critério gera um "hairball" (bola de pelos) ilegível. Expanda de forma dirigida, filtrando entidades irrelevantes antes do próximo salto.
Para análises estatísticas mais profundas, exporte o grafo do Maltego e leve para o Gephi, que tem algoritmos de layout e métricas mais robustos.
Visualizando e medindo com Gephi
O Gephi é gratuito e de código aberto, ideal para explorar a estrutura e gerar visualizações prontas para publicação. Fluxo recomendado:
- Importar: em File > Import spreadsheet, carregue primeiro a tabela de nós e depois a de arestas.
- Layout: aplique ForceAtlas 2 para afastar nós pouco conectados e aproximar comunidades. Ative Prevent Overlap no fim.
- Estatísticas: no painel lateral, rode as métricas que interessam.
- Partição e ranking: colora os nós por comunidade e dimensione-os por centralidade.
Métricas que revelam padrões
| Métrica | O que mede | Para que serve em OSINT |
|---|---|---|
| Grau (degree) | Número de conexões do nó | Identifica contas muito conectadas |
| Intermediação (betweenness) | Quanto o nó serve de ponte | Revela intermediários e gargalos |
| Modularidade | Divisão em comunidades | Agrupa clusters de contas afins |
| PageRank | Influência ponderada | Ordena contas por relevância na rede |
Uma conta com alta intermediação mas grau médio costuma ser um elo crítico: remova-a mentalmente e a rede se parte. Em investigações de desinformação, nós com grau de entrada desproporcional e padrões temporais sincronizados sugerem amplificação coordenada.
Passo a passo na prática
Suponha que você investiga a amplificação de uma hashtag a partir de fontes abertas:
- Reúna, respeitando os termos de uso, as menções públicas da hashtag num período definido.
- Monte
edges.csvcomSource= quem mencionou,Target= quem foi mencionado,Weight= frequência. - Importe no Gephi, rode Modularity e Betweenness Centrality.
- Aplique ForceAtlas 2 e colora por comunidade.
- Observe se há um pequeno grupo de contas que conecta comunidades distintas em janelas de tempo muito próximas.
- Documente achados e, crucialmente, as limitações: correlação não prova coordenação.
Armadilha final: o grafo é uma hipótese visual, não uma prova. Contas podem se conectar por acaso, e a ausência de aresta pode significar apenas que a relação não é pública.
Ética e legalidade
Trabalhe só com fontes abertas e públicas. A LGPD trata dados pessoais mesmo quando acessíveis publicamente, portanto minimize a coleta, defina finalidade legítima e evite expor terceiros sem necessidade. O Marco Civil da Internet reforça a proteção da privacidade e do sigilo das comunicações. Não use grafos para assédio, doxing ou perseguição: isso é ilegal e antiético.
Convite
Curtiu o fluxo de SNA? Compartilhe seus grafos (anonimizados) e dúvidas com a comunidade OsintHunters Brasil. Nossa troca torna cada investigação mais rigorosa e responsável.
