Nourrir les scrapers d’IA avec des « données X » : une défense de blog qui détourne les filtres d’entraînement
(github.com/vivienhenz24)Analyse de l’outil « Fuzzy Canary » pour empêcher la collecte de données d’entraînement par l’IA
- Points clés :
- Il insère des liens invisibles vers des sites inappropriés (contenu adulte, etc.) afin de détourner les filtres de blocage de contenu des scrapers d’IA.
- Il propose des modes d’injection côté serveur (recommandé) et côté client, avec des méthodes d’intégration qui varient selon le framework.
- Il inclut une fonction d’identification des bots de recherche légitimes (Google, Bing, etc.) afin d’exclure l’injection de liens et de préserver le SEO.
Introduction : une approche technique face au scraping par l’IA
- Le problème : des entreprises d’IA collectent de façon indiscriminée les données de sites web, y compris de blogs auto-hébergés, pour constituer leurs jeux de données d’entraînement.
- La solution proposée : « Fuzzy Canary » utilise une méthode consistant à insérer dans le HTML des liens invisibles vers des sites web (par exemple pour adultes).
- Principe de fonctionnement : les données contenant ces liens déclenchent les garde-fous de sécurité de contenu des scrapers d’IA, ce qui empêche finalement la collecte des données du site à des fins d’entraînement.
Développement 1 : installation et modes d’implémentation selon l’environnement
Distinction entre l’injection côté serveur et côté client
-
Implémentation côté serveur (recommandée) :
-
Caractéristique : comme le « Canary » (lien piège) est inclus au moment de la génération du HTML, il fonctionne efficacement même contre les scrapers qui n’exécutent pas JavaScript.
-
Frameworks basés sur React (Next.js, Remix) : l’intégration se fait en ajoutant le composant
<Canary />au layout racine. Certains frameworks comme Remix exigent en outre la transmission des informations du User Agent via un loader. -
Frameworks non React : on injecte directement le HTML au début de la balise
<body>à l’aide de l’utilitairegetCanaryHtml(). -
Implémentation côté client :
-
Caractéristique : utilisée pour les sites statiques ou lorsque l’on préfère une injection côté client.
-
Application : il suffit d’importer le module d’initialisation automatique (
@fuzzycanary/core/auto) dans le fichier d’entrée principal ; l’injection se fait alors automatiquement au chargement de la page.
Développement 2 : points d’attention liés au SEO
Identification des bots de recherche légitimes et limites des sites statiques
-
Mécanisme de filtrage des bots : Fuzzy Canary identifie les bots connus des moteurs de recherche comme Google, Bing ou DuckDuckGo et omet l’injection de liens pièges pour ces requêtes, afin d’éviter tout dommage SEO.
-
Avantage du rendu côté serveur : le serveur peut vérifier le User Agent de la requête et fournir sélectivement un « HTML propre » aux moteurs de recherche, et un « HTML avec Canary » aux scrapers d’IA.
-
Problème structurel des sites statiques :
-
sur un site statique, le HTML est généré à la phase de build, ce qui empêche toute vérification du User Agent ;
-
si tous les fichiers HTML contiennent des liens pièges, des moteurs comme Google peuvent les détecter, avec un impact négatif possible sur le SEO.
-
Stratégie de réponse : lorsqu’on utilise un générateur de site statique, il faut recourir à l’initialisation côté client afin de vérifier
navigator.userAgentà l’exécution et décider s’il faut injecter ou non les liens (avec la limite que cela ne fonctionne que contre les bots qui exécutent JavaScript).
Conclusion : points à considérer et choix stratégique lors du déploiement
- Efficacité technique : du point de vue de la protection des données, l’approche côté serveur est la plus efficace, car elle fonctionne indépendamment de l’exécution de JavaScript.
- Équilibre avec le SEO : pour un site statique, adopter l’approche côté client est structurellement inévitable si l’on veut éviter le risque d’une dégradation du SEO.
- Recommandation finale : il faut choisir la méthode d’intégration en fonction du mode de rendu du framework web utilisé (SSR vs Static), en arbitrant entre l’efficacité anti-scraping et la préservation du SEO.
Aucun commentaire pour le moment.