SecuAAS Docs
SecuScan / ScanyzeModules

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 :

ProviderCouvertureStatut BetaPlan minimum
HIBP (Have I Been Pwned)~12 milliards d'identifiants, breaches publiques bien documentéesStableEssentiel
DeHashedHashes de mots de passe, snapshots de breach historiquesBeta — clé API tenant requisePro
Leak LookupBreaches communautaires + dump forumsBeta — clé API tenant requisePro
Intelligence X (IntelX)Indexation pastebins, dark web markets, leaks TelegramBeta — clé API tenant requiseBusiness

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+)

  1. Naviguez vers /dark-web/providers.
  2. Pour chaque provider, cliquez sur Configurer.
  3. Saisissez votre API key (chiffrée AES-256-GCM, jamais loggée en clair). Pour DeHashed, fournir aussi l'email du compte associé.
  4. Choisissez :
    • Mode économique : 1 lookup par identifiant et par jour
    • Mode aggressive : jusqu'à 10 lookups/jour, multiple sources en parallèle
  5. Configurez le rate limit (par défaut 60 r/min) et le quota quotidien (par défaut 1000 lookups).
  6. 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) :

TypeExemple
Emailmarc.tremblay@monsite.ca
Domainemonsite.ca (interroge tous les emails associés)
IP203.0.113.42 (recherches de logs leakés mentionnant cette IP)
Usernamemarct1990

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

  1. Dans /dark-web/search, saisissez l'identifiant à rechercher.
  2. Cochez les sources à interroger (par défaut : toutes celles configurées + HIBP partagé).
  3. Cliquez sur Rechercher.
  4. 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 / high selon 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_log stocke 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_admin du tenant
  • Slack : si configuré (canal #security-alerts par défaut)
  • PagerDuty : pour les breaches high / critical si l'intégration est active
  • Webhook : POST JSON vers votre endpoint avec les détails

Quota et coûts

PlanCibles surveillées maxLookups/jour (toutes sources)Sources disponibles
Essentiel550 (HIBP partagé)HIBP
Starter25200 (HIBP partagé)HIBP
Pro100Selon vos clés APIHIBP + DeHashed + Leak Lookup
Business500Selon vos clés APIHIBP + DeHashed + Leak Lookup + IntelX
Enterprise-1Selon vos clés APIToutes

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.

On this page