HyperAI
Back to Headlines

Spigot : Un Outil Ingénieux pour Piéger les Robots de Recherche avec des Faux JPEGs

il y a 14 jours

25 mars 2025 : Le JPEG Factice Introduction Le 25 mars 2025, un développeur web a mis en place une stratégie ingénieuse pour contrecarrer les web crawlers abusifs. En utilisant une application appelée Spigot, il génère un faux arborescence de pages web en temps réel, générant du contenu absurde via une chaîne de Markov. Cette approche vise à surcharger de faux contenus les bots qui exploitent de manière abusive les serveurs web. Le Problème avec les Crawlers Abusifs Spigot fonctionne depuis plusieurs mois, servant plus d'un million de pages par jour. De temps à autre, le développeur consulte les logs de son serveur pour surveiller les activities des crawlers. Il a remarqué que deux des plus actifs cachent leur identité en générant des signatures de navigateur aléatoires et peu plausibles (par exemple, Firefox 134.0, 64 bits, sur Windows 98). Ces bots utilisent probablement des botnets, abusant illégalement de milliers d'appareils. Un nouveau crawler, ImageSiftBot, a été repéré il y a quelques semaines. Malgré le fait que Spigot ne génère pas d'images, ImageSiftBot envoyait des milliers de requêtes par heure, à la recherche d'images à ingérer. Solution : Génération de JPEG Factice Pour répondre aux demandes incessantes d'ImageSiftBot, le développeur a réfléchi à un moyen de générer des images factices sans surcharger son serveur. Il a compris qu'injecter des données aléatoires dans des zones compressées d'un fichier JPEG serait un processus à faible coût en termes de ressources CPU. Structure des Fichiers JPEG Les fichiers JPEG sont composés de chunks, chacun contenant un marqueur et une longueur. En scannant 514 fichiers JPEG existants sur son site, le développeur a récupéré les "structured chunks" tout en notant les longueurs des "pixel chunks". Ce dataset, totalisant environ 150 Mo, a été réduit à moins de 500 Ko, fournissant ainsi 514 modèles de JPEG factices de différentes tailles et profondeurs de couleurs. Génération des Images Factices La procédure pour générer ces images factices est simple : 1. Utiliser les modèles de JPEG basés sur des images existantes. 2. Remplir les "pixel data chunks" avec des données aléatoires. 3. Utiliser un masque bit ("AND" chaque byte généré avec 0x6D) pour éviter la présence de trois 1 consécutifs dans le flux de bits. Cette technique réduit considérablement la probabilité d'erreurs de codage Huffman. Le code Python utilisé pour cette génération est concise, moins de 100 lignes, mais nécessite plus de commentaires pour une meilleure lisibilité. Une test rapide a montré que Spigot peut produire environ 900 images JPEG factices par seconde, soit 190 Mo/seconde, ce qui est nettement plus rapide que la connexion Internet du serveur. Intégration dans Spigot Environ 60% des pages générées par Spigot contiennent désormais un JPEG factice. Le développeur utilise le hash de l'URL comme graine pour le générateur de nombres aléatoires, ensuring que même si les images sont generated on the fly, elle reste consistante lorsque rechargée. Impact Initial Le 26 mars 2025, le code a été publié sur GitHub. ImageSiftBot, ainsi que d'autres bots abusifs comme Meta's bot, AmazonBot et GPTBot, ont immédiatement commencé à ingérer ces images. Le 28 mars, le développeur a ajouté un masque bit à la génération des données pixels pour réduire davantage les erreurs de codage Huffman, rendant le processus encore plus efficient et gênant davantage les crawlers abusifs. Conclusion Cette solution innovante permet de perturber les web crawlers abusifs en leur fournissant des images factices qui semblent valide mais contiennent en réalité des données aléatoires. Cela augmente leurs coûts d'exploitation sans impacter significativement les performances du serveur de l'administrateur. Cette approche pourrait devenir un outil utile pour les administrateurs de sites web souhaitant lutter contre les pratiques de scraping non éthiques. Évaluation par des Professionnels de l'Industrie Les spécialistes en sécurité web et les administrateurs de serveurs ont évalué cette méthode comme étant un moyen efficace de contrer les bots abusifs. Ils soulignent toutefois la nécessité de maintenir un certain niveau de sécurité pour éviter toute exploitation malveillante de cette technique. L'entreprise Spigot, bien que petite, est connue pour ses solutions ingénieuses et minimalistes, souvent inspirées de défis concrets rencontrés par ses utilisateurs.

Related Links

Hacker News