Un outil d’investigation moderne et open-source basé sur les graphes pour les analystes en cybersécurité, les chercheurs OSINT et les enquêteurs. Visualisez les relations entre entités (domaines, IPs, emails, portefeuilles) avec enrichissement automatisé et stockage de données local.
Utilisation Éthique Uniquement : Flowsint ne doit être utilisé que pour des recherches et investigations légales et éthiques. Consultez le fichier ETHICS.md du projet avant le déploiement.
# Cloner le dépôt
git clone https://github.com/reconurge/flowsint.git
cd flowsint
# Déploiement en production
make prod
# Déploiement en développement
make dev
Prérequis : Docker et Make
| Mode | URL |
|---|
| Développement | http://localhost:5173 |
| Production | http://localhost:5173/register (créer un compte d’abord) |
Flowsint est une plateforme modulaire avec cinq composants principaux :
| Module | Objectif |
|---|
flowsint-app | Interface frontend (visualisation de graphes) |
flowsint-api | Backend FastAPI avec authentification |
flowsint-core | Base de données, utilitaires, orchestration de tâches |
flowsint-enrichers | Modules d’enrichissement de données |
flowsint-types | Modèles de données Pydantic |
Flowsint travaille avec diverses entités d’investigation que vous pouvez ajouter à votre graphe :
| Entité | Description |
|---|
| Domaine | Noms de domaine de sites web |
| Adresse IP | Adresses IPv4/IPv6 |
| Email | Adresses email |
| Numéro de Téléphone | Numéros de téléphone |
| Nom d’Utilisateur | Noms d’utilisateur réseaux sociaux / services |
| Organisation | Entreprises et organisations |
| ASN | Numéros de Système Autonome |
| CIDR | Plages d’adresses IP |
| Portefeuille Cryptomonnaie | Adresses Bitcoin, Ethereum, etc. |
| URL | Pages web spécifiques |
| Enrichisseur | Ce qu’il Fait |
|---|
| Résolution DNS | Résoudre le domaine en adresses IP |
| DNS Inverse | Trouver les domaines pointant vers une IP |
| Énumération de Sous-Domaines | Découvrir les sous-domaines d’un domaine |
| Recherche WHOIS | Informations d’enregistrement de domaine |
| Géolocalisation IP | Localisation physique des adresses IP |
| Mappage ASN | Identifier la propriété du réseau |
| Expansion CIDR | Étendre les plages IP en adresses individuelles |
| Enrichisseur | Ce qu’il Fait |
|---|
| Vérification de Fuites Email | Vérifier si l’email apparaît dans des fuites connues |
| Découverte Gravatar | Trouver les profils Gravatar liés aux emails |
| Vérification de Fuites Téléphone | Vérifier les numéros de téléphone dans les bases de fuites |
| Recherche de Nom d’Utilisateur (Maigret) | Rechercher le nom d’utilisateur sur les plateformes sociales |
| Enrichisseur | Ce qu’il Fait |
|---|
| Propriété ASN | Identifier les organisations derrière les ASN |
| Portefeuille de Domaines | Trouver d’autres domaines possédés par la même entité |
| Détails d’Entreprise | Récupérer les informations d’enregistrement d’entreprise |
| Enrichisseur | Ce qu’il Fait |
|---|
| Crawling de Site Web | Mapper la structure du site et découvrir les pages |
| Extraction de Liens | Extraire tous les liens d’une page web |
| Scripts de Tracking | Identifier les codes d’analyse et de tracking |
| Récolte de Texte | Extraire le contenu texte des pages |
| Enrichisseur | Ce qu’il Fait |
|---|
| Transactions de Portefeuille | Voir l’historique des transactions pour les adresses |
| Propriété NFT | Suivre les avoirs NFT des adresses de portefeuille |
| Intégration | Ce qu’elle Fait |
|---|
| Workflows N8n | Se connecter aux workflows d’automatisation N8n |
Démarrer une nouvelle investigation depuis le tableau de bord. Donnez-lui un nom descriptif et des tags optionnels.
Ajoutez vos entités de départ (domaines connus, emails, IPs, etc.) au canvas du graphe.
Cliquez droit sur une entité ou sélectionnez-la et exécutez les enrichisseurs pertinents. Les nouvelles entités et connexions sont automatiquement ajoutées au graphe.
Utilisez le graphe visuel pour tracer les connexions :
- Domaine → IP : Relations d’hébergement
- Email → Fuites : Comptes compromis
- Domaine → Sous-Domaines : Cartographie de la surface d’attaque
- Nom d’Utilisateur → Plateformes : Empreinte numérique
Sélectionnez les entités nouvellement découvertes et exécutez des enrichisseurs supplémentaires pour étendre le graphe d’investigation.
| Fonctionnalité | Description |
|---|
| Visualisation de Graphes | Diagrammes de liens de nœuds interactifs montrant les relations entre entités |
| Enrichissement Automatisé | Collecte de données en un clic depuis plusieurs sources OSINT |
| Stockage Local | Toutes les données restent sur votre machine — confidentialité par conception |
| Multi-Utilisateur | Système d’authentification pour investigations en équipe |
| Architecture Modulaire | Ajouter des enrichisseurs personnalisés via le système de plugins |
| Exportation | Exporter les données d’investigation pour rapports |
# Tester les modules individuels
cd flowsint-core
poetry run pytest
cd flowsint-api
poetry run pytest
cd flowsint-enrichers
poetry run pytest
- Ajouter le domaine cible comme entité
- Exécuter Résolution DNS → découvrir les IPs
- Exécuter Énumération de Sous-Domaines → mapper la surface d’attaque
- Exécuter WHOIS → trouver les informations du registrant
- Exécuter Crawling de Site Web → mapper la structure du site
- Pivoter vers les IPs découvertes → exécuter DNS Inverse
- Ajouter l’email cible comme entité
- Exécuter Vérification de Fuites → trouver les bases de données compromises
- Exécuter Découverte Gravatar → trouver le profil lié
- Extraire le nom d’utilisateur → exécuter Recherche de Nom d’Utilisateur sur les plateformes
- Ajouter l’IP ou ASN connu
- Exécuter Propriété ASN → identifier l’organisation
- Exécuter Expansion CIDR → mapper les plages IP
- Exécuter DNS Inverse sur les IPs → découvrir les domaines
- Visualiser l’infrastructure complète sur le graphe
| Problème | Solution |
|---|
| Échec de build Docker | Assurez-vous que Docker et Make sont installés et en cours d’exécution |
| Conflit de port sur 5173 | Changer le mapping de port dans docker-compose.yml |
| Timeout d’enrichisseur | Vérifier la connectivité réseau ; certains enrichisseurs nécessitent internet |
| Résultats vides | Vérifier que le format d’entité est correct (domaine valide, IP, etc.) |
| Erreurs d’authentification | S’inscrire pour un nouveau compte à /register |