
WhoCord v1.2.1
Analyse les liens Discord à travers les guildes mutuelles pour extraire des profils, recoupe plus de 700 sites, recherche des noms d'utilisateur avec 30+ outils, et génère un rapport alimenté par l'IA.
WhoCord
Un canevas OSINT interactif qui s'enrichit à chaque découverte. Commencez par une graine — un utilisateur Discord, un nom d'utilisateur, un email, un domaine, un téléphone, une image ou une URL — et regardez la carte se construire en temps réel.
Captures d'écran
![]() | ![]() |
| 1. Page de démarrage | 2. Canevas avec panneau de détails |
![]() | |
| 3. Arbres d'investigation multiples (392 nœuds, 391 arêtes) |
Fonctionnalités
Modules
- Discord — profil, comptes connectés, bio, avatar, recherche de liens dans l'historique des messages
- Nom d'utilisateur — User Scanner, WhatsMyName, Maigret, Linkook, Blackbird (600+ plateformes)
- Email — Holehe, HIBP, h8mail, EmailRep, GHunt, Scylla, Gravatar, MOSINT, vérification SMTP
- Domaine — WHOIS, DNS, SSL, sous-domaines, géolocalisation IP, Wayback
- Téléphone — validation, recherche d'opérateur, PhoneInfoga
- Image — EXIF, GPS, hash perceptuel, recherche d'image inversée, OCR
- URL — trace HTTP, redirections, métadonnées de page, vérification Safe Browsing
- Probe — détecte automatiquement le type d'entrée et l'achemine vers le bon module
- Pivot — enquête récursivement sur les nouveaux emails et noms d'utilisateur (profondeur limitée)
Renseignement
- Graphe de connaissances construit avec
networkx - Cinq détecteurs de corrélation : réutilisation d'avatar, clusters email-plateforme, variantes de nom d'utilisateur, liens nom-email, cohérence de localisation
- Narratif IA via Groq (Llama 3.3 70B)
Canevas
- Résultats en direct via Server-Sent Events
- Vue cartes avec recherche, chat IA, éditeur de thème, export PNG et
.whocord-map - Palette de commandes (
Cmd/Ctrl+K)
Rapports
- Rapport HTML autonome (fonctionne hors ligne)
- Résumé de persona IA et rapport markdown
Installation
1. Prérequis
- Python 3.10+
- Node.js 18+ (uniquement pour l'interface canevas moderne)
- Git
whois—sudo apt install whois/brew install whois
2. Cloner et configurer
git clone https://github.com/Siv-nick/WhoCord.git
cd WhoCord
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install --upgrade pip
pip install -r requirements.txt
3. Outils OSINT externes
pip install user-scanner maigret linkook socialscan
pip install holehe h8mail gitfive socid-extractor
pip install theharvester
Optionnel : pip install toutatis sharetrace. Scylla et PhoneInfoga nécessitent des téléchargements manuels. Blackbird est cloné à la première utilisation.
4. Compiler le frontend (optionnel)
cd frontend
npm install
npm run build
cd ..
5. Lancer
python web_app.py
Ouvrez http://127.0.0.1:5000.
6. Définir les jetons d'API
Définissez-les depuis le panneau Config dans l'interface web. Ils sont stockés dans le trousseau de votre OS.
| Jeton | Requis pour |
|---|---|
DISCORD_TOKEN | Mode Discord |
GITHUB_TOKEN | Limites de taux API GitHub plus élevées |
GROQ_API_KEY | Narratif IA et chat |
INSTAGRAM_SESSION | Toutatis |
Installation complète
git clone https://github.com/Siv-nick/WhoCord.git
cd WhoCord
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
pip install user-scanner maigret linkook socialscan holehe h8mail gitfive
cd frontend && npm install && npm run build && cd ..
python web_app.py
Utilisation
Interface web : ouvrez http://127.0.0.1:5000, cliquez sur Blank canvas, appuyez sur Cmd/Ctrl+K, choisissez un module, saisissez une cible.
CLI :
python -m discord_osint --mode discord \
--target 123456789012345678 \
--token "YOUR_TOKEN" \
--guild 987654321098765432
python -m discord_osint --mode manual --target johndoe
python -m discord_osint --interactive
| Option | Description |
|---|---|
--mode {discord,manual} | Mode d'investigation |
--target | Nom d'utilisateur ou ID utilisateur Discord |
--token | Jeton Discord |
--guild | ID de guilde |
--output {json,markdown,html} | Format du rapport |
--debug | Journalisation verbeuse |
--interactive | Forcer le menu |
Configuration
Les paramètres se trouvent dans discord_osint/config.json. Les jetons se trouvent dans le trousseau de l'OS.
Options courantes :
| Option | Défaut | Outil |
|---|---|---|
ENABLE_USER_SCANNER | Activé | User Scanner |
ENABLE_WMN | Activé | WhatsMyName |
ENABLE_HOLEHE | Activé | Holehe |
ENABLE_HIBP | Activé | HaveIBeenPwned |
ENABLE_GHUNT | Activé | GHunt |
ENABLE_MAIGRET | Désactivé | Maigret |
ENABLE_AI_REPORT | Activé | Rapport Groq |
ENABLE_PIVOTING | Désactivé | Pivots récursifs |
ENABLE_CACHING | Désactivé | Charger les renseignements précédents |
Liste complète : discord_osint/tools_config.py.
Lorsque le pivot est activé, chaque nouvel email ou nom d'utilisateur devient une graine pour une investigation enfant. Configurez avec PIVOT_EMAIL, PIVOT_USERNAME, PIVOT_MAX_DEPTH (défaut 3), PIVOT_MAX_SEEDS (défaut 5) et PIVOT_REQUIRE_CONFIRM.
Architecture
discord_osint/
__main__.py CLI entry
config.py / config_service.py
core.py Intel store
discord_api.py Discord profile and message search
scraping.py Platform scrapers
email_intel.py Email tools
extras.py WHOIS, Wayback, EXIF, reverse image
api_extractor.py Derives JSON endpoints from URLs
username_search.py User Scanner, Maigret, Linkook, Blackbird
wmn_scanner.py WhatsMyName
intelligence/ Graph, correlations, narrative, HTML report
pipeline/ Stages, context, pivot, events
frontend/ React, TypeScript, Vite, Tailwind
web_app.py Flask backend
Ordre du pipeline :
DiscordModeStage -> Discovery -> Scraping -> Media
-> Analysis -> Intelligence -> EmailIntel -> [Pivot] -> Reporting
Développement
pytest tests/ -v


