
flowsint v1.2.12
Uma plataforma moderna para investigações visuais, flexíveis e extensíveis baseadas em grafos. Para analistas e investigadores de cibersegurança.
Flowsint
O Flowsint é uma ferramenta de exploração de grafos OSINT de código aberto, projetada para investigação ética, transparência e verificação.
Ética: Leia ETHICS.md para diretrizes de uso responsável.
https://github.com/user-attachments/assets/eaabfa81-d7b3-414d-8cf7-f69b4e37bab6
https://github.com/user-attachments/assets/7457d94a-cf1d-4a97-949f-f9b1d8d92644
https://github.com/user-attachments/assets/65c3f26e-7132-4853-be45-21b8933688bd
Contribuindo
O Flowsint ainda está em desenvolvimento inicial e definitivamente precisa da ajuda da comunidade! Sinta-se à vontade para abrir issues, propor funcionalidades, etc.
Começando
Não quer ler? Entendido. Aqui estão suas instruções de instalação:
Linux / macOS
1. Instale os pré-requisitos
- Docker
- Make
2. Execute o comando de instalação
git clone https://github.com/reconurge/flowsint.git
cd flowsint
make prod
Windows
Não precisa de Make. Funciona tanto no Command Prompt (cmd) quanto no PowerShell.
1. Instale os pré-requisitos
- Docker Desktop (certifique-se de que esteja em execução antes do próximo passo)
- Git
2. Clone e configure os arquivos de ambiente
git clone https://github.com/reconurge/flowsint.git
cd flowsint
copy .env.example .env
copy .env.example flowsint-api\.env
copy .env.example flowsint-core\.env
copy .env.example flowsint-app\.env
3. Inicie
docker compose -f docker-compose.prod.yml up -d
Isso baixa as imagens pré-construídas do GitHub Container Registry — nenhuma compilação local é necessária.
Primeiro login
Em seguida, acesse http://localhost:5173/register e crie uma conta. Não há credenciais ou conta por padrão.
✅ Investigações de OSINT exigem um alto nível de privacidade. Tudo é armazenado na sua máquina.
Implantação em uma rede (equipe / servidor)
A mesma configuração funciona pronta para uso em um servidor: o frontend serve a interface e faz proxy de todas as chamadas de API internamente, portanto nenhuma configuração extra é necessária para os clientes.
git clone https://github.com/reconurge/flowsint.git
cd flowsint
cp .env.example .env
# Edite o .env — veja "Antes de expor a uma rede" abaixo
docker compose -f docker-compose.prod.yml up -d
Qualquer pessoa na rede pode então acessar o Flowsint em http://<ip-do-servidor>:5173.
Antes de expor a uma rede, altere os segredos padrão no .env:
AUTH_SECRET— assina os tokens de autenticação. Gere um:openssl rand -hex 32MASTER_VAULT_KEY_V1— criptografa as chaves de API armazenadas. Gere uma:python3 -c "import os, base64; print('base64:' + base64.b64encode(os.urandom(32)).decode())"NEO4J_PASSWORD— senha do banco de dados Neo4j.
Também adicione o hostname/IP do seu servidor à lista de permissões do cabeçalho Host em flowsint-app/nginx.conf (procure por map $http_host $is_flowsint_host). A lista de permissões padrão aceita apenas localhost / 127.0.0.1 / [::1], o que protege instalações de usuário único contra DNS rebinding; implantações em LAN e públicas devem optar por incluir seu próprio hostname. Duas linhas de modelo comentadas no mesmo bloco de map mostram o formato.
Apenas a porta 5173 é exposta à rede. PostgreSQL, Redis, Neo4j e a API estão vinculados a 127.0.0.1 no servidor e são acessíveis somente através do proxy do frontend.
Para fixar uma versão específica em vez de latest, defina FLOWSINT_VERSION no .env (ex.: FLOWSINT_VERSION=1.2.10).
HTTPS (recomendado além de uma LAN confiável): coloque qualquer proxy reverso na frente da porta 5173. Exemplo com Caddy:
flowsint.example.com {
reverse_proxy 127.0.0.1:5173
}
Ao usar um proxy reverso na frente, também vincule a porta do aplicativo ao localhost no docker-compose.prod.yml ("127.0.0.1:5173:8080") para que os clientes só possam acessar via HTTPS.
O que é?
O Flowsint é uma ferramenta de investigação baseada em grafos, focada em reconhecimento e OSINT (Inteligência de Fontes Abertas). Ele permite explorar relações entre entidades por meio de uma interface visual de grafos e enriquecedores automatizados.
Enriquecedores disponíveis
Enriquecedores de Domínio
- Resolução DNS Reversa - Encontra domínios apontando para um IP
- Resolução DNS - Resolve domínio para endereços IP
- Descoberta de Subdomínios - Enumera subdomínios
- Consulta WHOIS - Obtém informações de registro de domínio
- Domínio para Site - Converte domínio em entidade de site
- Domínio para Domínio Raiz - Extrai o domínio raiz
- Domínio para ASN - Encontra o ASN associado ao domínio
- Histórico de Domínio - Recupera dados históricos do domínio
Enriquecedores de IP
- Informações de IP - Obtém geolocalização e detalhes de rede
- IP para ASN - Encontra o ASN para um IP
Enriquecedores de ASN
- ASN para CIDRs - Obtém faixas de IP para um ASN
Enriquecedores de CIDR
- CIDR para IPs - Enumera IPs em uma faixa
Enriquecedores de Mídias Sociais
- Maigret - Busca de nome de usuário em plataformas sociais
Enriquecedores de Organização
- Organização para ASN - Encontra ASNs pertencentes à organização
- Informações de Organização - Obtém detalhes da empresa
- Organização para Domínios - Encontra domínios pertencentes à organização
Enriquecedores de Criptomoedas
- Carteira para Transações - Obtém histórico de transações
- Carteira para NFTs - Encontra NFTs pertencentes à carteira
Enriquecedores de Site
- Rastreador de Site - Rastreia e mapeia a estrutura do site
- Site para Links - Extrai todos os links
- Site para Domínio - Extrai o domínio da URL
- Site para Rastreadores Web - Identifica scripts de rastreamento
- Site para Texto - Extrai conteúdo de texto
Enriquecedores de E-mail
- E-mail para Gravatar - Encontra perfil do Gravatar
- E-mail para Vazamentos - Verifica bancos de dados de violações de dados
- E-mail para Domínios - Encontra domínios associados
Enriquecedores de Telefone
- Telefone para Vazamentos - Verifica número de telefone em violações
Enriquecedores de Indivíduo
- Indivíduo para Organização - Encontra afiliações organizacionais
- Indivíduo para Domínios - Encontra domínios associados à pessoa
Enriquecedores de Integração
- Conector N8n - Conecta a fluxos de trabalho N8n
Estrutura do projeto
O projeto é organizado em módulos autônomos:
Módulos principais
- flowsint-core: Utilitários principais, orquestrador, cofre, tarefas celery e classes base
- flowsint-types: Modelos Pydantic e definições de tipos
- flowsint-enrichers: Módulos de enriquecedores, lógica de varredura e ferramentas
- flowsint-api: Servidor FastAPI, rotas de API e schemas apenas
- flowsint-app: Aplicação frontend
Dependências entre módulos
flowsint-app (frontend)
↓
flowsint-api (servidor de API)
↓
flowsint-core (orquestrador, tarefas, cofre)
↓
flowsint-enrichers (enriquecedores e ferramentas)
↓
flowsint-types (tipos)
Configuração de desenvolvimento
Pré-requisitos
- Docker
Executar
Linux / macOS (requer Make):
make dev
Windows (cmd ou PowerShell, sem Make — crie os arquivos .env primeiro, veja Começando):
docker compose -f docker-compose.dev.yml up -d --build
docker compose -f docker-compose.dev.yml logs -f
Desenvolvimento
O aplicativo está acessível em http://localhost:5173.
Detalhes dos módulos
flowsint-core
Utilitários principais e classes base usadas por todos os outros módulos:
- Conexões de banco de dados (PostgreSQL, Neo4j)
- Autenticação e autorização
- Registro de logs e tratamento de eventos
- Gerenciamento de configuração
- Classes base para enriquecedores e ferramentas
- Funções utilitárias
flowsint-types
Modelos Pydantic para todos os tipos de dados:
- Domínio, IP, ASN, CIDR
- Indivíduo, Organização, E-mail, Telefone
- Site, Perfis sociais, Credenciais
- Carteiras de criptomoedas, Transações, NFTs
- E muitos outros...
flowsint-enrichers
Módulos de enriquecedores que processam dados:
- Enriquecedores de domínio (subdomínios, WHOIS, resolução)
- Enriquecedores de IP (geolocalização, consulta ASN)
- Enriquecedores de mídias sociais (Maigret, Sherlock)
- Enriquecedores de e-mail (violações, Gravatar)
- Enriquecedores de cripto (transações, NFTs)
- E muitos outros...
flowsint-api
Servidor FastAPI que fornece:
- Endpoints de API REST
- Autenticação e gerenciamento de usuários
- Integração com banco de dados de grafos
- Streaming de eventos em tempo real
flowsint-app
Aplicação frontend.
- Interface moderna e amigável
- Construída para desempenho (sem lag mesmo com milhares de nós)
Fluxo de trabalho de desenvolvimento
- Adicionar novos tipos: Adicione ao módulo
flowsint-types - Adicionar novos enriquecedores: Adicione ao módulo
flowsint-enrichers - Adicionar novos endpoints de API: Adicione ao módulo
flowsint-api - Adicionar novos utilitários: Adicione ao módulo
flowsint-core
Testes
Cada módulo tem seu próprio conjunto de testes (incompleto):
# Testar módulo core
cd flowsint-core
uv run pytest
# Testar módulo de tipos
cd ../flowsint-types
uv run pytest
# Testar módulo de enriquecedores
cd ../flowsint-enrichers
uv run pytest
# Testar módulo de API
cd ../flowsint-api
uv run pytest
Contribuindo
- Siga a estrutura modular
- Use uv para gerenciamento de dependências
- Escreva testes para novas funcionalidades
- Atualize a documentação conforme necessário
- Veja CONTRIBUTING.md para as verificações a executar antes de commitar
⚖️ Uso Legal e Ético
Ética: Leia ETHICS.md para diretrizes de uso responsável.
O Flowsint é projetado estritamente para fins de investigação e pesquisa éticos e legais.
Foi criado para auxiliar:
- Pesquisadores e analistas de segurança cibernética
- Jornalistas e investigadores de OSINT
- Equipes de aplicação da lei ou investigação de fraudes
- Organizações que realizam inteligência de ameaças interna ou análise de risco digital
O Flowsint não deve ser usado para:
- Intrusão, vigilância ou coleta de dados não autorizada
- Assédio, doxxing ou direcionamento de indivíduos
- Manipulação política, desinformação ou violação de leis de privacidade
Qualquer uso indevido deste software é estritamente proibido e vai contra os princípios éticos definidos em ETHICS.md.