- Logiciel conçu pour piéger les crawlers web, en particulier ceux qui scrapent des données pour les grands modèles de langage (LLM).
- Il génère une séquence infinie de pages afin que le crawler ne puisse pas s’en échapper.
- Il ajoute des ralentissements intentionnels pour éviter que le crawler ne surcharge le serveur, et peut utiliser du Markov-babble pour inciter le crawler à collecter les données.
- Ce logiciel a été conçu dans un but malveillant et son utilisation demande de la prudence.
- Avertissement
- Les crawlers de LLM sont extrêmement tenaces, et utiliser ce logiciel revient à continuer à leur fournir les données qu’ils recherchent.
- Il n’existe aucun moyen de distinguer les crawlers de moteurs de recherche de ceux qui entraînent des modèles d’IA, et l’utilisation de ce logiciel augmente fortement le risque que le site disparaisse des résultats de recherche.
- Utilisation
- Il est recommandé de cacher le tarpit derrière Nginx ou Apache.
- Le tarpit se configure via des en-têtes HTTP, avec un exemple de snippet de configuration nginx fourni.
- Installation
- Installation possible avec Docker ou manuellement.
- Lua, SQLite, OpenSSL ainsi que plusieurs modules Lua sont nécessaires.
- Après l’installation, il est possible de démarrer en ajustant le fichier
config.yml.
- Bootstrap du Markov Babbler
- La fonction Markov nécessite un corpus entraîné, qui peut l’être à partir de diverses sources de texte.
- Les données d’entraînement peuvent être ajoutées en les envoyant vers un endpoint POST.
- Statistiques
- Plusieurs endpoints de statistiques au format JSON sont fournis, permettant de consulter les adresses IP et les chaînes de user-agent.
- Usage défensif de Nepenthes
- Des liens du site vers l’emplacement de Nepenthes empêchent les crawlers d’accéder au vrai contenu.
- La liste des adresses IP collectées peut être utilisée pour bloquer les crawlers.
- Usage offensif de Nepenthes
- Au lieu de bloquer les crawlers, il est possible de leur fournir un maximum de données afin de perturber les modèles d’IA.
- Fichier de configuration
- Toutes les directives possibles du fichier
config.yaml sont décrites.
- Différents réglages permettent d’ajuster le comportement de Nepenthes.
1 commentaires
Avis Hacker News
Certains commentent la manière de tester une vulnérabilité de DDOS par réflexion du crawler de ChatGPT. Cette vulnérabilité peut faire qu’une seule requête HTTP en déclenche 5000
Quelqu’un partage son expérience passée d’exploitation d’un bot motel, en mentionnant des cas où des crawlers sont restés piégés pendant plusieurs jours
Quelqu’un raconte qu’un site web à but non lucratif a dû fermer temporairement à cause du crawling agressif des bots d’Amazon
Selon un avis, le tarpitting peut ralentir le crawling, mais n’aurait pas beaucoup d’effet à moins que de nombreux sites l’utilisent
Certains estiment qu’un générateur de texte aléatoire basé sur une chaîne de Markov ne poserait pas de gros problèmes aux crawlers d’entraînement des LLM
Selon un commentaire, une erreur 502 Bad Gateway se produit actuellement, sans qu’on sache s’il s’agit d’une classification comme crawler web IA ou simplement d’une surcharge
Certains pensent que tant que ce concept ne se popularise pas, il restera facile à filtrer
Il existe déjà sur Internet des sites « infinis », et les crawlers fixent un nombre de pages à explorer par domaine
Une approche simple envisagée consiste à envoyer 100 requêtes HTTP erronées pour chaque requête HTTP erronée reçue
Certains pensent que les sites utilisant ce logiciel risquent fort de disparaître de tous les résultats de recherche