NT-2026.09.25 DOSSIÊ

OPENPLANTER: INVESTIGAÇÕES OSINT COM AGENTES DE LINGUAGEM RECURSIVOS

Como o OpenPlanter automatiza investigações OSINT com agentes de linguagem recursivos: da configuração das chaves Exa e OpenRouter às tarefas de perfis públicos — e por que modelos Ollama locais decepcionam na prática.

Capa técnica do artigo OpenPlanter: investigações OSINT com agentes de linguagem recursivos, fluxo Ingestão, Resolução e Conexões

O que é o OpenPlanter

Em investigações OSINT, parte dos dados está à superfície; o resto exige escavação. Antes de qualquer conclusão é preciso evidência que a sustente — e a aquisição de dados é, de longe, a etapa que mais consome tempo do processo. O sucesso de uma investigação depende de quão bem o analista encontra informação e conecta os pontos.

O OpenPlanter automatiza parte desse processo. Trata-se de um agente de investigação baseado em modelos de linguagem recursivos: ele ingere tipos variados de dados — registros corporativos, registros de financiamento de campanha, contratos governamentais e outros —, resolve entidades entre esses conjuntos e revela conexões por meio de análise baseada em evidências. O projeto também permite montar perfis de indivíduos a partir de informações publicamente disponíveis.

Na prática, o agente opera de forma autônoma com leitura e escrita de arquivos, execução de comandos, busca na web e delegação recursiva de subtarefas: cada objetivo complexo pode ser decomposto em subtarefas com critérios de aceitação próprios, verificadas de forma independente. O pacote oferece um aplicativo desktop com interface gráfica e uma interface de terminal — a segunda, mais conveniente para quem trabalha na linha de comando.

Instalação

A preparação do ambiente é rápida e segue o fluxo padrão de projetos Python: clonar o repositório, criar um ambiente virtual e instalar o pacote em modo editável. A demonstração de referência usa o Kali Linux, mas os requisitos formais do projeto são apenas Python 3.10 ou superior.

git clone https://github.com/ShinMegamiBoson/OpenPlanter.git
cd OpenPlanter
python3 -m venv venv; source venv/bin/activate
pip install -e .

Cada comando tem função direta: git clone baixa o código-fonte do repositório oficial; cd OpenPlanter entra no diretório do projeto; python3 -m venv venv cria o ambiente virtual que isola as dependências e source venv/bin/activate o ativa na sessão atual; pip install -e . instala o agente em modo editável, registrando o executável openplanter-agent dentro do venv. Quem preferir o aplicativo desktop encontra binários pré-compilados para macOS, Windows e Linux na página de releases do projeto.

Terminal exibindo os comandos git clone, python3 -m venv e pip install -e . do projeto OpenPlanter
Instalação do OpenPlanter no Kali Linux: clone do repositório, criação e ativação do ambiente virtual e instalação em modo editável

Configuração das chaves de API

Instalado o pacote, o próximo passo é entregar as chaves de API. Para realizar buscas na web, o OpenPlanter usa a API do Exa — serviço de busca para aplicações de IA, com créditos gratuitos para contas novas, o que permite começar sem pagamento antecipado. O OpenRouter também é necessário: a plataforma reúne modelos com variantes gratuitas (identificadas pelo sufixo :free) sujeitas a limite diário de requisições — 50 por dia para contas sem créditos comprados, conforme a documentação oficial.

A configuração é interativa:

openplanter-agent --configure-keys

A flag --configure-keys abre o prompt que solicita as chaves e as grava no cofre de credenciais do projeto. A documentação confirma camadas alternativas de configuração: variáveis de ambiente com prefixo OPENPLANTER_, arquivos .env no workspace e flags próprias de linha de comando, em ordem decrescente de prioridade. Com as chaves salvas, a ferramenta está pronta para uso.

Prompt do OpenPlanter solicitando as chaves de API durante a configuração
Prompt interativo de configuração das chaves de API do OpenPlanter, aberto com –configure-keys

Uso com OpenRouter

O limite diário da faixa gratuita do OpenRouter é suficiente para alguns testes básicos, como a primeira tarefa headless da demonstração:

openplanter-agent --task "Find recent security breaches affecting Apple" --provider openrouter --model openrouter/free

A flag --task recebe o objetivo da investigação e encerra o processo ao concluí-la; --provider openrouter seleciona a plataforma que servirá o modelo e --model openrouter/free indica a variante gratuita usada no teste.

Terminal executando openplanter-agent --task com provedor openrouter e modelo gratuito
Primeira tarefa headless com OpenRouter: busca por brechas de segurança recentes afetando a Apple

Primeiro relatório

Nas tarefas com busca na web, o OpenPlanter recorre à chave do Exa para coletar informação — sem ela, o agente queima tokens mais rápido e devolve resultados incompletos. Por padrão, a ferramenta salva os resultados em arquivo de texto no diretório corrente, mas isso nem sempre acontece: convém conferir se o arquivo foi gravado antes de encerrar a sessão, para não perder o relatório.

A primeira tarefa produziu o relatório inicial da demonstração, exibido a seguir.

Relatório em texto com o resultado da investigação sobre brechas de segurança da Apple
Relatório inicial da investigação sobre brechas de segurança recentes afetando a Apple

Mapeando executivos da Tatneft

Para um teste mais interessante, a demonstração pediu ao agente a lista completa dos executivos da Tatneft, uma das maiores empresas de petróleo e gás da Rússia. Enumerar a liderança de uma organização é um passo clássico de reconhecimento: nomes de diretores e conselheiros alimentam análises de vínculos corporativos, listas de sanções e perfis públicos.

Terminal com a tarefa de listagem dos executivos da Tatneft
Tarefa de enumeração dos executivos da Tatneft em execução no agente

Investigando um executivo específico

O relatório da Tatneft veio bem organizado, mas as informações estão prontamente disponíveis na internet, dado o tamanho da companhia. Quando o agente recebeu o pedido de aprofundar os dados de uma pessoa específica da lista, teve dificuldade: devolveu dados genéricos e apontou uma conta de rede social errada. Foi dada uma segunda chance, com um nome mais distinguível da mesma lista — Nail Ulfatovich Maganov:

openplanter-agent --task "Find as much information as you can on Nail Ulfatovich Maganov who works at Tatneft. If possible, find his Vkontakte, phone number, address. Keep things legal. Save the results in a text file" --provider openrouter --model openrouter/free

Dessa vez, o agente localizou a conta de LinkedIn do executivo e extraiu informações de vários pontos da web pública.

Relatório da investigação com informações sobre o executivo da Tatneft coletadas de fontes públicas
Relatório da investigação sobre o executivo Nail Maganov, com dados extraídos de fontes públicas — incluindo a conta de LinkedIn localizada

Registros de sanções e funcionários comuns

O relatório também trouxe registros do OpenSanctions associados a Nail Maganov — base de dados aberta que agrega listas de sanções, pessoas politicamente expostas e watchlists de centenas de fontes globais, usada por equipes de compliance e investigadores.

Ele, porém, é uma figura conhecida na Rússia. E funcionários comuns de uma grande empresa? A demonstração testou dois: na primeira tentativa, o agente não encontrou a pessoa correta; na segunda, com outro funcionário, entregou os resultados.

Ollama local: modelos pequenos decepcionam

A documentação do próprio OpenPlanter recomenda modelos de fronteira — o repositório registra gpt-5.2 como padrão do OpenAI, claude-opus-4-6 como padrão do Anthropic e qwen-3-235b-a22b-instruct-2507 no Cerebras —, porque todo o processo de investigação é exigente. Modelos locais pequenos são visivelmente mais fracos. A demonstração ainda assim deu uma chance ao Ollama local.

O primeiro modelo foi o Qwen3:0.6B, presente no catálogo oficial do Ollama. Na primeira tentativa não produziu resultado algum; na segunda, encontrou vulnerabilidades recentes do Windows.

Testou-se também o Qwen3:4B, que devolveu dados absolutamente irrelevantes na resposta.

Uma nova rodada não mudou o quadro: em vez de montar um relatório sobre Mikhail Karisalov (CEO da Sibur), o modelo falou sobre outra coisa.

Terminal executando investigação do OpenPlanter com modelo Ollama local Qwen3 0.6B
Investigação com o modelo local Qwen3:0.6B via Ollama: a segunda tentativa encontra vulnerabilidades recentes do Windows
Terminal com resultado irrelevante devolvido pelo modelo Ollama Qwen3 4B
Teste com o modelo local Qwen3:4B: a resposta devolve dados absolutamente irrelevantes

Ollama em servidores remotos

Alugar um servidor com bom hardware para testar outros modelos não vale o esforço, segundo a demonstração: vários modelos foram testados e nenhum funcionou bem. O padrão de falha é o mesmo — o OpenPlanter chama o modelo, o modelo responde e então a ferramenta falha, como mostra a saída a seguir.

A demonstração cita, entre os modelos testados, variantes de Qwen de 27B e 35B e um modelo adicional de 35B; esses identificadores não constam do catálogo oficial do Ollama no momento desta redação e não puderam ser confirmados em fonte independente — o registro fica como observação do material de referência. O ponto técnico se mantém: esses modelos suportam raciocínio e uso de ferramentas, mas não sustentam o fluxo de investigação do agente.

Erro do OpenPlanter com modelo Ollama remoto interrompendo a execução logo após o início
Falha com modelo Ollama hospedado em servidor remoto: o agente chama o modelo, o modelo responde e a ferramenta interrompe pouco após iniciar

Interface de terminal

Há duas formas de usar o OpenPlanter no terminal. Até aqui, a demonstração usou apenas o modo headless, em que cada tarefa é entregue pela flag --task e o processo encerra ao concluí-la. Para quem prefere uma interface de conversação, existe o segundo modo:

openplanter-agent --provider openrouter --model openrouter/free

Sem a flag --task, o agente abre a interface interativa: os prompts são executados ali e a ferramenta é ajustada pelos comandos disponíveis.

Interface de terminal do OpenPlanter em modo conversação com prompts e comandos
Interface de conversação do OpenPlanter no terminal: prompts executados e ajustes pelos comandos disponíveis

Avaliação geral

Depois de exercitar a ferramenta de várias maneiras, a demonstração chegou a um veredito objetivo: o OpenPlanter só funcionou de forma confiável com o OpenRouter — a combinação que produziu os melhores resultados —, e os próprios desenvolvedores direcionam o uso para modelos de fronteira ou para o OpenRouter. Todo o processo de investigação depende fortemente da API do Exa. Com modelos Ollama hospedados externamente (VPS), a ferramenta não funciona: falha silenciosamente mesmo com um modelo nominalmente suportado.

Do lado da qualidade do resultado, o agente pode confundir pessoas — especialmente quando os nomes são comuns e os perfis de rede social estão vazios. Tudo o que ele encontra merece validação. Ocasionalmente, classifica os resultados como HIGH, MEDIUM ou LOW conforme a própria confiança; nem sempre faz isso espontaneamente, mas o comportamento pode ser induzido quando o prompt pede explicitamente. Mesmo com essas ressalvas, o OpenPlanter continua poupando tempo do analista.

Perspectiva defensiva

O OpenPlanter ilustra o que já é possível automatizar apenas com informação pública. Para a defesa, a leitura útil é dupla.

Primeiro, governança da exposição: perfis de executivos e funcionários em registros corporativos, redes sociais e bases públicas são a matéria-prima dessas investigações. Reduzir a exposição desnecessária — padronizar o que a organização publica sobre suas lideranças e revisar o que fica acessível em sites corporativos e redes profissionais — diminui a superfície de reconhecimento.

Segundo, antecipação: times que conhecem essas ferramentas estimam melhor o que um adversário consegue montar sobre a organização em pouco tempo, e usam essa estimativa para priorizar controles — menos dados sensíveis ao alcance público, monitoramento de menções à marca e de domínios que imitam a empresa.

Limitações

Este artigo é documental: descreve a ferramenta, seus comandos e os resultados conforme a documentação oficial e o material de referência, sem execução própria nesta ocasião. Os resultados citados são os da demonstração de referência, não testes independentes.

Quanto à ferramenta em si: os achados exigem validação humana — o agente pode associar a pessoa errada; o salvamento automático em arquivo de texto nem sempre ocorre; o desempenho depende criticamente das chaves Exa e OpenRouter; e modelos locais e remotos via Ollama ficaram bem abaixo do resultado obtido com o OpenRouter.

Considerações éticas

Investigações OSINT operam sobre informação publicamente disponível, mas isso não as exime de responsabilidade. A tarefa da própria demonstração traz a instrução de manter tudo dentro da legalidade — e é esse o padrão: uso em contextos autorizados, como due diligence, compliance, jornalismo investigativo e reconhecimento dentro do escopo de um pentest contratado.

Perfis de pessoas reais são dados pessoais: o tratamento deve respeitar a legislação de proteção de dados vigente — no Brasil, a LGPD —, com proporcionalidade e minimização. O que a ferramenta encontra precisa de verificação antes de qualquer decisão.

Conclusão

O OpenPlanter transforma a investigação OSINT em um fluxo delegável: o analista formula o objetivo, e o agente recursivo decompõe, busca, correlaciona e documenta — com o Exa alimentando a coleta e o OpenRouter servindo o raciocínio. O custo dessa autonomia é a supervisão: nomes comuns confundem o modelo, resultados exigem validação e nada substitui o critério do investigador. Como acelerador de aquisição e correlação de dados públicos, contudo, a demonstração mostra ganho real de tempo — desde que com o par de provedores certo.