Détection de la fraude sur les formulaires de leads : du blocage à un filtrage intelligent
Les formulaires de lead font face à des attaques multicouches — allant de simples bots à des soumissions payées par des personnes réelles. Au départ, les bots scrapaient des pages statiques et remplissaient automatiquement les champs. Le passage à une génération dynamique de formulaires via Vue.js a temporairement perturbé ce flux en cachant les éléments aux scrapers.
Les spams ont rapidement adapté leur stratégie en inversant les endpoints API et en falsifiant des en-têtes comme User-Agent, la résolution d'écran ou les cookies. Les CAPTCHA traditionnels ont perdu de leur efficacité au fur et à mesure que les bots produisaient des réponses en temps réel.
L'introduction de jetons JWT liés aux sessions utilisateur, combinée à une vérification côté serveur, a permis de reprendre le contrôle. Pourtant, dans des niches concurrentielles comme l'immobilier, des services de remplissage de formulaires payants sont apparus — des personnes complètent des quiz contre rémunération, faussant ainsi les métriques de conversion.
Analyse comportementale pour un premier tri
Les timestamps à chaque étape du quiz permettent de détecter les tentatives automatisées. Si les délais de réponse tombent en dessous d'un seuil (par exemple <2 secondes par question), le lead est marqué comme suspect.
Le suivi de la trace numérique inclut :
- Vérification des IPs pour des pics provenant de centres de données.
- Analyse des cookies et de la fingerprinting (canvas, WebGL, polices).
- Détection de contacts répétés dans la base (seuil >3 par session).
Ces mesures filtrent entre 80 et 90 % du spam automatisé, mais les attaques payées les contournent grâce à une exécution manuelle et à une nettoyage préalable.
Un nouveau paradigme : le contrôle du blocage
Un blocage strict déclenche une adaptation — les spams changent de proxy et effacent localStorage. Passer à une approche de « filtrage doux » change la donne.
Tous les leads sont traités avec succès, mais dirigés vers différents scénarios :
- Ignorance totale : les données ne sont pas sauvegardées dans le CRM ni envoyées en notifications — les leads disparaissent simplement.
- Marquage noir : stockés dans une base isolée pour analyse, jamais envoyés aux intégrations opérationnelles.
- Conversion fantôme : envoyés au CRM avec un indicateur « spam », mais sans suivi d’événements dans les outils d’analyse (GA4, Yandex Metrika).
Cela décourage les attaquants : pas de refus signifie pas de retour, réduisant le ROI des campagnes frauduleuses payantes.
Mise en œuvre technique du filtre
Un middleware Node.js/Express vérifie les vecteurs de caractéristiques :
const fraudScore = calculateFraudScore(req.body, req.headers, sessionData);
if (fraudScore > 0.8) {
routeToBlackhole(req.body); // Scénario 1
} else if (fraudScore > 0.5) {
markAsSpamAndLog(req.body); // Scénario 2
} else if (fraudScore > 0.3) {
sendToCrmWithFlag(req.body); // Scénario 3, pas d'analytique
} else {
processNormally(req.body);
}
function calculateFraudScore(data, headers, session) {
let score = 0;
score += data.quizTime < 30 ? 0.4 : 0; // Durée du quiz
score += isProxyIP(headers['x-forwarded-for']) ? 0.3 : 0;
score += session.repeatContacts > 2 ? 0.2 : 0;
return score;
}
La fingerprinting via scripts côté client collecte des données d'entropie : mémoire du dispositif, décalage horaire, contexte audio. Le serveur agrège ces données dans Redis pour une détection en temps réel au sein du cluster.
Échelle et surveillance
Pour les systèmes à fort trafic, intégrez des modèles d'apprentissage machine (XGBoost entraîné sur des données historiques de leads). L'entraînement sur des jeux de données étiquetés (spam/légitimes) atteint une précision >95 % avec un rappel de 90 %.
Surveillez via des tableaux de bord Grafana suivant le taux de fraude et les faux positifs. Testez A/B sur des sous-ensembles de trafic pour minimiser les risques.
Points clés
- La fraude payée coûte 10 à 50 RUB par lead, mais gonfle le CPC des annonces de 20 à 30 %.
- Le filtrage doux réduit la motivation des attaquants sans nuire à l'expérience utilisateur.
- Combine analyse comportementale et ML pour une résilience à long terme.
- Enregistrez tout pour l'analyse post-hoc et le re-entraînement des modèles.
- Testez rigoureusement sur du trafic réel avant déploiement.
— Editorial Team
Aucun commentaire pour le moment.