Détecter le phishing sophistiqué : du mirage des scores parfaits à un banc d'essai honnête
En résumé : sur les corpus publics, notre détecteur de phishing affichait un F1 de 0,99. Un audit de fuite a montré qu'un quart du jeu de test était en réalité mémorisé à l'entraînement, le score était un mirage. Évalué sur un banc de cas durs tenus à l'écart (BEC, mobile money, quishing, FR+EN), un modèle de base tombait au niveau du hasard et bloquait 37 % des courriers légitimes. En reconstruisant les données, diversité et cas légitimes difficiles plutôt que volume, la performance sur ce banc interne atteint une AUC d'environ 0,98. Nous présentons ce chiffre pour ce qu'il est : un banc d'essai interne contrôlé, pas une performance produit en conditions réelles.
Le mirage des scores parfaits
Les jeux de données publics de phishing sont anciens, majoritairement anglophones, et surtout truffés de courriers quasi identiques : un même gabarit réenvoyé des centaines de fois. Un découpage aléatoire disperse ces quasi-jumeaux des deux côtés, entraînement et test, si bien que le modèle « reconnaît » au test ce qu'il a mémorisé à l'entraînement. Le F1 qui en résulte, proche de 1, ne mesure pas la capacité à généraliser à du phishing inédit.
Nous avons donc audité la fuite avant tout le reste. Résultat : 24 % de notre jeu de test possédaient un quasi-jumeau dans l'entraînement, jusqu'à 79 % sur certaines sources. Le 0,99 n'était pas une performance, c'était de la mémorisation. C'est le même inconfort méthodologique que pour la détection réseau : un chiffre trop beau cache presque toujours un protocole trop indulgent.
Un juge honnête : le banc de cas durs
Pour mesurer ce qui compte vraiment, nous avons constitué un banc d'essai de cas difficiles, écrits à la main et tenus strictement à l'écart de l'entraînement : fraude au président sans lien ni pièce jointe, détournement de virement, hameçonnage mobile money (Orange Money, Wave), quishing par QR code, le tout en français et en anglais, accompagnés de courriers légitimes volontairement piégeux (vraies demandes de paiement internes, notifications de sécurité, relevés).
Le verdict fut sévère et salutaire. Sur ces cas réalistes, le modèle de base se situait au niveau du hasard (AUC ≈ 0,67) et bloquait plus d'un courrier légitime sur trois. La détection excellait sur le phishing d'hier, mais restait aveugle au phishing sophistiqué, précisément celui que les outils d'IA produisent aujourd'hui.
Des données souveraines, pas des millions de clones
La tentation est de « générer des millions d'exemples ». Nous l'avons écartée : un million de clones reproduit le mirage à plus grande échelle. Le vrai levier est la diversité. Nous avons construit un générateur compositionnel, souverain et hors-ligne, qui assemble chaque message à partir de tournures, de contextes locaux (mobile money, banques, administration) et d'adresses réalistes, moitié phishing, moitié courriers légitimes difficiles, dédupliqué, et filtré pour ne jamais recouper le banc d'évaluation. Ce sont les cas légitimes difficiles qui font chuter les faux positifs.
| Métrique (banc interne) | Base | Itération 3 | Itération 4 |
|---|---|---|---|
| AUC, cas durs | 0,67 | 0,98 | 0,98 |
| Rappel, phishing détecté | 0,61 | 0,87 | 0,91 |
| Faux positifs, légitime bloqué | 37 % | 5 % | 10 % |
| Rappel, anglais | n/a | 0,63 | 0,88 |
Ce que ces chiffres disent, et ne disent pas
Nous refusons de transformer ce banc en argument marketing. L'entraînement repose sur des données synthétiques et l'évaluation sur un jeu que nous avons nous-mêmes rédigé : le chiffre est donc probablement optimiste. Un taux de faux positifs de 10 % reste trop élevé pour bloquer automatiquement du courrier d'affaires ; en production, ce signal doit d'abord servir à alerter, pas à supprimer seul. La seule preuve qui compte viendra du courrier réel.
La suite : la donnée réelle
Le synthétique nous a servi à amorcer et à mesurer juste, il a un plafond. Le prochain palier passe par la donnée réelle, consentie et anonymisée à la source, et par une boucle d'annotation où l'analyste corrige les verdicts. Deux cents courriers réels étiquetés valent plus que deux cent mille synthétiques supplémentaires. C'est ainsi qu'un bon prototype devient un produit digne de confiance.