Aller au contenu principal

🔧 Bibliothèque des 29+ patterns spam


Statistiques globales

SourcePatternsScore moyenSévérité dominante
Manuels13~78high
Kaggle675high
UCI Spambase453low-medium
HuggingFace672medium-high
Total29+

Source 1 — Patterns manuels (spam_patterns.json)

Patterns artisanaux couvrant les scénarios les plus fréquents en France.

IDNomTypeSévéritéScore
PHISH-001Faux colis livraisonphishinghigh85
PHISH-002Faux email bancairephishingcritical90
PHISH-003Faux remboursement impôtsphishingcritical92
PHISH-004Faux Google/Microsoft 365phishinghigh87
SCAM-001Loterie / Héritagescamcritical95
SCAM-002Prince nigérian / Transfertscamcritical98
MALW-001Pièce jointe malveillantemalwarehigh88
COMM-001Spam commercial génériquecommerciallow40
COMM-002Pharmacie en lignecommercialmedium75
BANK-001Faux PayPal / Stripebankinghigh88
TECH-001Faux support Microsoft/Appletech_supporthigh82
SEXT-001Chantage webcam/Bitcoinsextortionmedium70
DELIV-001Faux Amazon / e-commercedeliveryhigh80

Détail PHISH-001 (exemple)

{
"id": "PHISH-001",
"type": "phishing",
"name": "Faux colis livraison",
"keywords": ["colis", "livraison", "tracking", "suivi", "expedition", "transporteur"],
"subject_regex": ["(?i)(colis|livraison).*(prêt|attente|retard)", "(?i)suivi.*commande"],
"sender_domains": ["thepiratebuy.com", "tracking-verify.com"],
"body_keywords": ["cliquez ici pour suivre", "votre colis vous attend"],
"score": 85,
"is_spam": true,
"severity": "high",
"description": "Imite les notifications de livraison DPD, Colissimo, UPS pour voler des identifiants"
}

Source 2 — Patterns Kaggle (spam_kaggle_patterns.json)

Extraits des datasets SMS Spam Collection, Enron Spam et Spam Mails Dataset.

IDNomTypeSévéritéScore
KGL-SMS-001SMS Prize Scamsms_spamhigh90
KGL-SMS-002SMS Urgent Actionsms_spamhigh85
KGL-ENRON-001Corporate Phishingcorporate_spammedium60
KGL-ENRON-002Investment Scamfinancial_spamhigh80
KGL-GEN-001Weight Loss / Healthgeneric_spammedium65
KGL-GEN-002Adult Content Spamgeneric_spammedium70

Sources datasets :


Source 3 — Patterns UCI Spambase (spam_uci_patterns.json)

Basés sur les 57 attributs du dataset UCI Spambase (4 601 instances, précision baseline 92.8%).

IDNomTypeSévéritéScore
UCI-WORD-001High-frequency spam wordsword_frequencymedium55
UCI-CHAR-001Special character patterns (!, $)char_frequencylow45
UCI-CAP-001Capital letter ratio élevécapital_frequencylow35
UCI-COMBO-001Multi-signal spamcombinationhigh78

Feature weights UCI (sélection) :

FeaturePoids
word_freq_free0.52
word_freq_remove0.28
word_freq_your0.27
char_freq_!0.30
char_freq_$0.20
capital_run_avg0.15

Source : UCI ML Repository — Spambase (CC BY 4.0)


Source 4 — Patterns HuggingFace (spam_huggingface_patterns.json)

Issus de SetFit/enron_spam, dair-ai/emotion, talby/spamassassin et sms_spam.

IDNomTypeSévéritéScore
HF-ENRON-001Enron-style corporate spamcorporate_spammedium55
HF-SA-001SpamAssassin — Nigerian scamscamcritical95
HF-SA-002SpamAssassin — HTML spamgeneric_spammedium72
HF-EMOTION-001Fear/Urgency manipulationphishingmedium68
HF-EMOTION-002Joy/Excitement manipulationscammedium75
HF-SMS-001SMS Premium rate scamsms_spamhigh82

Sources datasets :


Règles header (Header Rules)

Ces règles s'appliquent aux résultats SPF/DKIM/DMARC indépendamment des patterns.

IDCheckConditionScore ajouté
HDR-001SPFfail+25
HDR-002DKIMfail+25
HDR-003DMARCfail+20
HDR-004rDNS mismatchtrue+15
HDR-005IP blacklistéetrue+30

headerScore plafonné à 100.


Ajouter un nouveau pattern

Pour contribuer un nouveau pattern :

  1. Identifier le type et rédiger la structure JSON
  2. Tester avec node scripts/extract-spam-patterns.cjs
  3. Valider que le pattern ne génère pas de faux positifs sur des emails légitimes
  4. Créer une PR avec le pattern documenté

Voir CONTRIBUTING.md pour le processus complet.


Roadmap patterns

HorizonAmélioration
Q2 2026Schéma Zod pour validation automatique des patterns
Q3 2026Fine-tuning modèle ML sur corpus communautaire
Q3 2026API signalement → enrichissement automatique des patterns
Q4 2026NLP sur corps d'email (URLs, intent, entités)

Voir FUTURE-RESEARCH.md.