Nous publions les vecteurs d’abus identifiés et ce que nous faisons pour chacun. Ce document est vivant — il évolue à mesure que nous livrons des renforcements.
Rétrofacturation après livraison du dossier
PartielVecteur
L'acheteur achète le dossier, télécharge le PDF, puis conteste le débit comme « service non reçu » — affirmant que le reçu n'est jamais arrivé.
Mesure
Chaque affichage de dossier et téléchargement de PDF est journalisé avec horodatage + IP + user-agent. Un webhook Stripe écoute les événements de rétrofacturation ; nous soumettons automatiquement le journal de livraison + l'IP-géo + l'utilisateur connecté comme preuve probante (code motif 13.1 — crédit non traité / fraude amicale).
Partage d'identifiants du plan Investisseur
En attenteVecteur
Un abonnement à $129/mois utilisé par tout un cabinet de courtage acheteur ou une agence de 20 personnes, sapant l'économie unitaire.
Mesure
Limite de débit souple sur la génération de dossiers par compte/IP (Upstash). Plafond strict mis en place après le lancement via la détection de sessions simultanées dans l'auth Supabase + hachage d'empreinte. Un palier tarifaire agence est annoncé en cas d'abus détecté.
Test de cartes via /upgrade
PartielVecteur
Un bot sonde /upgrade avec des numéros de carte volés dans un balayage de $1 à $49 pour trouver des cartes actives.
Mesure
Limite de débit sur /api/checkout (5/min/IP, dur 20/h). Les règles par défaut de Stripe Radar couvrent la vélocité BIN + l'incohérence CVC + les refus répétés. Ajout de reCAPTCHA Enterprise au checkout lorsque le ratio de bots dépasse 5 %.
Un avocat malveillant référence des biens fictifs
DocumentéVecteur
Un faux profil d'avocat référence des biens qu'il ne représente pas, récolte des prospects acheteurs, puis disparaît.
Mesure
Revue éditoriale manuelle de chaque annonce (SLA 24 h) pendant le MVP. Après le lancement : l'avocat doit compléter la vérification du numéro au barreau + le téléversement d'un certificat d'exercice récent + une contre-signature d'un pair vérifié existant. Le ratio annonce-conclusion est suivi ; les annonces sous 10 % sont signalées pour examen.
Usurpation d'un cabinet vérifié
DocumentéVecteur
Un attaquant s'inscrit en utilisant le numéro au barreau d'un vrai cabinet d'avocats issu du registre public.
Mesure
L'inscription requiert un e-mail de vérification envoyé au domaine du cabinet (validé par DNS MX, pas de Gmail/Hotmail). Le numéro au barreau est recoupé avec le registre public du barreau du pays (England Bar Council, Ordem dos Advogados, Colegio de Abogados, Conseil National des Barreaux, Türkiye Barolar Birliği).
Falsification de requête côté serveur via le paramètre URL de /api/analyse
AppliquéVecteur
Un attaquant soumet une URL de réseau interne (http://169.254.169.254, http://localhost) pour extraire des métadonnées des services cloud.
Mesure
La PORTAL_ALLOWLIST de lib/geocode.ts code en dur les noms d'hôtes (rightmove.co.uk, idealista.com, seloger.com, imovirtual.com, sahibinden.com, …). Toute URL absente de la liste blanche renvoie 422 avant qu'aucune requête ne soit lancée.
Injection de prompt via le contenu d'annonce scrapé
AppliquéVecteur
Un og:title ou og:description malveillant sur une page d'annonce contient « Ignore les instructions précédentes et … » pour tenter d'altérer le prompt Gemini.
Mesure
Les chaînes scrapées sont échappées, limitées en longueur (1000 caractères) et encapsulées dans des blocs délimités [USER_INPUT] dans le prompt. Le prompt système ordonne explicitement à Gemini de traiter l'entrée comme des données non fiables, pas comme des instructions.
Blanchiment via dépôt Concierge
DocumentéVecteur
L'acheteur paie des frais de $1 500 avec la carte A, demande un remboursement sur la carte B — nous utilisant comme mélangeur de blanchiment.
Mesure
Règle stricte via l'API Stripe Refunds : le remboursement doit revenir sur le moyen de paiement d'origine. Aucun remboursement à un bénéficiaire alternatif. Contrôle AML (preuve de fonds) sur les dépôts supérieurs à 10 000 €. Le client Concierge doit compléter la vérification d'identité (Stripe Identity) avant l'acceptation du dépôt.