ShadowBroker - tableau de bord OSINT intégrant 15 flux de données en temps réel du monde entier
(github.com/BigBodyCobain)- Intègre dans une seule interface géospatiale diverses données en temps réel comme les avions, navires, satellites, séismes, conflits, CCTV et brouillage GPS
- Construit avec Next.js, MapLibre GL, FastAPI et Python, il permet aux analystes et chercheurs de visualiser l’activité à l’échelle mondiale sur un seul écran
- Propose des fonctions de suivi détaillées dans 6 grands domaines : aérien, maritime, spatial, géopolitique, surveillance et renseignement d’origine électromagnétique, avec contrôle individuel de chaque couche
- Le déploiement facile via Docker/Podman et l’automatisation de l’intégration API simplifient l’auto-hébergement et la configuration de l’environnement de développement
- Toutes les données sont collectées à partir de sources OSINT publiques, avec une utilisation explicitement limitée à des fins éducatives et de recherche
Vue d’ensemble
- ShadowBroker est un tableau de bord d’information open source en temps réel (Real-Time OSINT) multi-domaines, qui agrège des dizaines de flux de données publics dans une interface dark map unique
- Il permet de suivre en temps réel les avions, navires, satellites, séismes, zones de conflit, réseaux CCTV, brouillages GPS et événements géopolitiques
- Il est composé de Next.js, MapLibre GL, FastAPI et Python, et a été conçu comme un outil de visualisation pour les analystes, chercheurs et passionnés d’OSINT
Principaux cas d’usage
- Suivi des jets privés de milliardaires
- Surveillance des passages orbitaux de satellites
- Observation du trafic maritime mondial
- Détection des zones de brouillage GPS
- Observation en temps réel des séismes et catastrophes
Résumé des fonctionnalités
🛩️ Suivi aérien (Aviation Tracking)
- Affichage de la position en temps réel de plus de 5 000 avions commerciaux via OpenSky Network
- Classification distincte des avions privés et militaires et suivi des jets d’affaires avec informations sur les propriétaires
- Prise en charge de fonctions détaillées comme l’accumulation des trajectoires de vol, la détection des virages et l’affichage de l’état au sol
- Fournit des icônes SVG précises selon le type d’aéronef
🚢 Suivi maritime (Maritime Tracking)
- Données en temps réel de plus de 25 000 navires via aisstream.io WebSocket
- Code couleur par type de navire (cargo, pétrolier, ferry, navire militaire, etc.)
- Estimation de la position des 11 porte-avions de l’US Navy sur base OSINT et automatisation du scraping des actualités GDELT
- Prise en charge d’une couche dédiée aux croisières et ferries et de l’affichage en clusters selon le niveau de zoom
🛰️ Espace et satellites (Space & Satellites)
- Affichage en temps réel de l’orbite de plus de 2 000 satellites basé sur CelesTrak TLE + SGP4
- Code couleur par type de mission : reconnaissance militaire (rouge), SAR (cyan), SIGINT (blanc), navigation (bleu), alerte avancée (magenta), imagerie commerciale (vert), station spatiale (or)
🌍 Géopolitique et conflits (Geopolitics & Conflict)
- Agrégation d’environ 1 000 incidents de conflit des 8 dernières heures via GDELT
- Données en temps réel de la ligne de front en Ukraine via DeepState Map
- Fournit un flux d’actualités SIGINT/RISINT et un panneau d’informations régionales
- Inclut population, capitale, langue, monnaie, superficie, forme de gouvernement, chef d’État (Wikidata) et résumé Wikipedia
📷 Surveillance (Surveillance)
- Intègre les flux en direct de plus de 2 000 CCTV de circulation
- Londres (TfL), Austin (TxDOT), New York (NYC DOT), Singapour (LTA), etc.
- Prise en charge de la détection automatique des flux et du rendu, ainsi que de l’affichage en clusters basé sur le zoom
📡 Renseignement d’origine électromagnétique (Signal Intelligence)
- Détection de brouillage GPS : visualisation des zones d’interférences via l’analyse des valeurs NAC-P des aéronefs
- Panneau d’interception radio : interface de type écoute des communications radio
🌐 Couches supplémentaires
- Inclut les données sismiques USGS (24 h), l’affichage de la frontière jour/nuit, les indices des marchés financiers en temps réel et un outil de mesure de distance et d’azimut
Architecture système
- Frontend (Next.js) : carte 2D WebGL basée sur MapLibre GL, flux d’actualités SIGINT, panneau de contrôle, modules marché et radio
- Backend (FastAPI) : collecte périodique depuis de multiples sources de données (OpenSky, adsb.lol, CelesTrak, USGS, GDELT, CCTV, etc.)
- Transmission des données au frontend via API REST toutes les 60 à 120 secondes
Sources de données et API
| Source | Données | Fréquence de mise à jour | Clé API |
|---|---|---|---|
| OpenSky Network | Avions commerciaux et privés | Environ 60 s | Optionnelle |
| adsb.lol | Avions militaires | Environ 60 s | Non requise |
| aisstream.io | Position des navires | Temps réel | Requise |
| CelesTrak | Orbites de satellites | Environ 60 s | Non requise |
| USGS | Séismes | Environ 60 s | Non requise |
| GDELT | Incidents de conflit | Environ 6 h | Non requise |
| DeepState Map | Front ukrainien | Environ 30 min | Non requise |
| TfL, TxDOT, NYC DOT, LTA | CCTV de circulation | Environ 5 min | Partiellement requise |
| RestCountries, Wikidata, Wikipedia | Informations pays/cartographie | À la demande | Non requise |
Installation et exécution
Basé sur Docker/Podman
- Après
git clone, exécution automatique avec la commande./compose.sh up -d - Ports par défaut : frontend
3000, backend8000 - Possibilité de redéfinir les ports via la variable d’environnement
NEXT_PUBLIC_API_URL
Environnement de développement pour modifier le code
- Node.js 18+ et Python 3.10~3.12 requis
- Clé API
aisstream.ioobligatoire, clésOpenSkyetLTAoptionnelles - Exécution simultanée du frontend et du backend avec
npm run dev
Contrôle des couches de données
- Toutes les couches peuvent être activées/désactivées individuellement : avions, satellites, navires, séismes, CCTV, conflits, brouillage GPS, etc.
- Activées par défaut : avions commerciaux et militaires, satellites, porte-avions, séismes, conflits, brouillage GPS, frontière jour/nuit
Optimisation des performances
- Traitement efficace de grands volumes de données temps réel grâce à la compression Gzip (92 %), au cache ETag, au viewport culling, au rendu en clusters et à la réduction de la précision des coordonnées (5 décimales)
- Charge de rendu minimisée grâce à React.memo et au debounce (300 ms)
Variables d’environnement
- Obligatoire :
AIS_API_KEY - Optionnelles :
OPENSKY_CLIENT_ID,OPENSKY_CLIENT_SECRET,LTA_ACCOUNT_KEY
Avertissement et licence
- Toutes les données reposent sur des sources OSINT publiques, sans utilisation d’informations privées ou classifiées
- Interdiction d’usage à des fins militaires ou de renseignement, limité à l’éducation et à la recherche
- Nécessité de respecter les conditions d’utilisation de chaque fournisseur d’API
Structure du projet
- backend/ : application FastAPI, ordonnanceur de collecte des données, traitement des données CCTV, porte-avions et conflits
- frontend/ : composants Next.js pour carte, panneaux, filtres, actualités, marchés et radio
- Inclut des scripts de déploiement automatique comme docker-compose.yml et compose.sh
Résumé
- ShadowBroker est une plateforme open source de visualisation unifiée de données OSINT mondiales en temps réel
- Elle permet d’analyser sur une seule carte plusieurs domaines comme l’aérien, le maritime, le spatial, la géopolitique, la surveillance et le renseignement d’origine électromagnétique
- Elle propose un déploiement facile basé sur Docker, un rendu haute performance et n’utilise que des données publiques
- C’est un outil de renseignement en temps réel utile pour les chercheurs en sécurité et en analyse du renseignement ainsi que les data engineers de startups
Aucun commentaire pour le moment.