Module Dark Web Monitoring
Surveillance multi-sources des fuites de données — HIBP, DeHashed, Leak Lookup, Intelligence X
Module Dark Web Monitoring
Le module Dark Web surveille en continu les fuites de données affectant vos emails, domaines, IP et noms d'utilisateur dans les bases de données publiques de breach et de credentials volés.
Disponible à partir du plan Essentiel (HIBP seul) ; les sources additionnelles sont disponibles à partir du plan Pro.
Sources de données (depuis v0.127.x)
À partir de la migration 000173_darkweb_multi_source.up.sql, Scanyze interroge 4 fournisseurs distincts en parallèle :
| Provider | Couverture | Statut Beta | Plan minimum |
|---|---|---|---|
| HIBP (Have I Been Pwned) | ~12 milliards d'identifiants, breaches publiques bien documentées | Stable | Essentiel |
| DeHashed | Hashes de mots de passe, snapshots de breach historiques | Beta — clé API tenant requise | Pro |
| Leak Lookup | Breaches communautaires + dump forums | Beta — clé API tenant requise | Pro |
| Intelligence X (IntelX) | Indexation pastebins, dark web markets, leaks Telegram | Beta — clé API tenant requise | Business |
Pourquoi multi-sources ?
Aucun fournisseur ne couvre l'ensemble des fuites. Les 4 sources se complètent :
- HIBP : fiabilité maximale, breach publiques bien attribuées (Adobe 2013, LinkedIn 2012, etc.)
- DeHashed : couverture plus profonde des credentials avec hashes
- Leak Lookup : breach communautaires récentes
- IntelX : pastebins, leaks privés non couverts ailleurs
Configurer un fournisseur
Option 1 — utiliser le pool partagé Scanyze (HIBP uniquement)
Par défaut, HIBP est interrogé via la clé API mutualisée Scanyze. Aucune configuration requise. Il y a une quota de 1000 lookups/jour partagé pour les plans Essentiel + Starter.
Option 2 — fournir vos propres clés API (recommandé pour Pro+)
- Naviguez vers
/dark-web/providers. - Pour chaque provider, cliquez sur Configurer.
- Saisissez votre API key (chiffrée AES-256-GCM, jamais loggée en clair). Pour DeHashed, fournir aussi l'email du compte associé.
- Choisissez :
- Mode économique : 1 lookup par identifiant et par jour
- Mode aggressive : jusqu'à 10 lookups/jour, multiple sources en parallèle
- Configurez le rate limit (par défaut 60 r/min) et le quota quotidien (par défaut 1000 lookups).
- Sauvegardez. Scanyze effectue un health check immédiat pour valider la clé.
L'API key est stockée comme une référence vers cloud_secrets (chiffré AES-256-GCM avec master key OVH KMS). Elle n'est jamais persistée en clair en DB.
Cibles surveillées
Vous pouvez ajouter des cibles de surveillance (/dark-web/search) :
| Type | Exemple |
|---|---|
marc.tremblay@monsite.ca | |
| Domaine | monsite.ca (interroge tous les emails associés) |
| IP | 203.0.113.42 (recherches de logs leakés mentionnant cette IP) |
| Username | marct1990 |
Pour chaque cible, vous pouvez configurer :
- Fréquence de re-check : quotidien / hebdomadaire / mensuel
- Notifications : email immédiate, Slack, webhook si nouveau breach détecté
Lancer une recherche manuelle
- Dans
/dark-web/search, saisissez l'identifiant à rechercher. - Cochez les sources à interroger (par défaut : toutes celles configurées + HIBP partagé).
- Cliquez sur Rechercher.
- Les résultats arrivent par streaming (Server-Sent Events).
Chaque résultat contient :
- Source : provider qui a trouvé le résultat
- Breach : nom du breach (ex. « LinkedIn 2012 »)
- Date du breach : si connue
- Données exposées :
email,password_hash,name,phone,address, etc. (uniquement les types, jamais les valeurs en clair) - Confidence :
low/medium/highselon la fiabilité du provider - Snippet URL : si fournie par la source (paste, forum), avec rate-limit côté Scanyze
Privacy by design
Scanyze applique une politique stricte de privacy sur ce module :
- Aucun mot de passe en clair n'est jamais affiché ni stocké, même en provenance de DeHashed. Seuls les hashes (et leur type : MD5, SHA-1, bcrypt, etc.) sont indexés.
- Audit log : la table
darkweb_query_logstocke un SHA-256 hash de la cible recherchée (query_target_hash), pas la valeur en clair, pour préserver la vie privée des emails recherchés tout en gardant un audit trail rate-limit. - Tenant isolation : RLS PostgreSQL stricte. Aucun croisement entre tenants.
- Pas de revente : Scanyze ne ré-vend pas les données récupérées des fournisseurs.
Source : secuscan-api/internal/migrations/000173_darkweb_multi_source.up.sql (commentaires détaillés).
Lecture du rapport
Sur /dark-web (dashboard) :
- Total identifiants surveillés vs cibles
- Breaches détectés par sévérité
- Tendance des nouveaux breaches détectés sur 30 jours
- Top breaches affectant votre organisation
- Bouton « Forcer un re-check » sur chaque cible
Sur la fiche d'un breach détecté :
- Description du breach (source HIBP)
- Date d'occurrence
- Nombre total de comptes affectés (toutes organisations confondues)
- Vos identifiants concernés (avec masque :
m****t@monsite.ca) - Recommandation : forcer le reset de mot de passe, activer MFA, vérifier les logs récents
Notifications
Sur détection d'un nouveau breach :
- Email : envoyé à tous les
client_admindu tenant - Slack : si configuré (canal #security-alerts par défaut)
- PagerDuty : pour les breaches
high/criticalsi l'intégration est active - Webhook : POST JSON vers votre endpoint avec les détails
Quota et coûts
| Plan | Cibles surveillées max | Lookups/jour (toutes sources) | Sources disponibles |
|---|---|---|---|
| Essentiel | 5 | 50 (HIBP partagé) | HIBP |
| Starter | 25 | 200 (HIBP partagé) | HIBP |
| Pro | 100 | Selon vos clés API | HIBP + DeHashed + Leak Lookup |
| Business | 500 | Selon vos clés API | HIBP + DeHashed + Leak Lookup + IntelX |
| Enterprise | -1 | Selon vos clés API | Toutes |
Les coûts d'API des fournisseurs externes (DeHashed ~$5/mois, Leak Lookup ~$10/mois, IntelX ~$50/mois) sont à votre charge lorsque vous fournissez vos propres clés. Cela évite la mutualisation des quotas et vous garantit la priorité.
Sources de cette page
- Backend :
secuscan-api/internal/services/darkweb/(orchestrator + 3 clients : DeHashed, IntelX, Leak Lookup) +secuscan-api/internal/scanner/tools/hibp.go - Migration multi-sources :
secuscan-api/internal/migrations/000173_darkweb_multi_source.up.sql - Frontend :
secuscan-web/app/(dashboard)/dark-web/{providers,quota,search}/
À jour pour Scanyze v0.130.x.