Anubis fonctionne vraiment
(xeiaso.net)- Anubis a été déployé sur policytoolbox.iiep.unesco.org de l’UNESCO, ce qui attire davantage l’attention sur lui comme exemple d’outil anti-bots utilisé par une grande organisation
- Après vérification que
unesco.orgest bien le domaine officiel de l’UNESCO, ce déploiement est considéré comme un cas d’usage réel par une organisation liée aux Nations unies - Son usage s’élargit aux côtés de déploiements déjà connus, comme les archives de la Linux Kernel Mailing List, le SVN de FreeBSD, SourceHut, FFmpeg, Wine et GNOME GitLab
- Le fait que de telles organisations adoptent Anubis montre que le problème du trafic de bots sur Internet pourrait être plus grave qu’on ne le pensait
- Anubis et sa stack environnante nécessitent davantage de temps ; avec un soutien suffisant, le développement à plein temps, voire le recrutement, deviendraient possibles
Confirmation du déploiement à l’UNESCO
- Anubis a été déployé sur policytoolbox.iiep.unesco.org, un site de l’UNESCO, agence des Nations unies
unesco.orgest indiqué sur Wikipedia comme le domaine officiel de l’Organisation des Nations unies pour l’éducation, la science et la culture- L’équipe souhaite contacter les administrateurs système de l’UNESCO pour vérifier s’ils ont rencontré des problèmes lors de l’installation, et rendre le processus d’installation plus simple
Déploiements connus et travaux à venir
- Les cas confirmés de déploiements à grande échelle incluent notamment :
- les archives de la Linux Kernel Mailing List
- le SVN de FreeBSD, bientôt git
- SourceHut
- FFmpeg
- Wine
- UNESCO
- The Science Olympiad Student Center
- l’environnement de bureau Enlightenment
- le GitLab de GNOME
- Si des organisations de cette taille utilisent Anubis, le problème du trafic de bots pourrait être bien plus grave que ce qui était anticipé
- Comme dans le cas de YouTube, qui a un temps été proche de « the inversion », où le trafic de bots dépasse le trafic humain, la question restante est de savoir à quel point un phénomène similaire s’est généralisé sur l’ensemble d’Internet
- Il faut consacrer du temps de façon sérieuse à Anubis et à la stack associée ; avec suffisamment de soutien financier, il serait possible de travailler dessus à plein temps et même de recruter
- Si Anubis vous est utile, un soutien sur Patreon est demandé
1 commentaires
Avis de Hacker News
Article lié : Anubis : un proxy de preuve de travail pour bloquer les crawlers d’IA (100 points, il y a 23 jours, 58 commentaires) https://news.ycombinator.com/item?id=43427679
C’est amusant que Xe ait transformé quelque chose qui, autrefois, ressemblait presque à une blague / un shitpost en un produit réellement utile. On dit toujours que le timing fait tout
Je suis un peu surpris que tant de sites le veuillent ou en aient besoin. Je comprends le problème des pages Git lentes sur certains serveurs Git très profonds, sans cache, servis depuis des disques lents
L’UNESCO m’a un peu étonné. Ce sous-site est assez gros, avec des milliers de documents, mais comme c’est du contenu statique, il devrait être facile à servir. En regardant, c’était un WordPress déployé à la va-vite sur Apache, sans cache, sans compression du contenu, ni HTTP/2 ou HTTP/3
Il est probablement facile de corriger ça pour le servir à très bas coût même sur une toute petite machine, mais évidemment il faut de l’expertise, et l’expertise n’est toujours pas bon marché
On pourrait demander à un LLM, mais si on ne sait même pas quoi demander, ça n’aide pas encore beaucoup. Si on ne sait même pas que le site est lent au départ, pourquoi poserait-on la question ? On entendra juste dire qu’il croule sous le trafic et on ira chercher un défenseur furry
Je ne veux pas dire que c’est difficile, mais plutôt que peu de gens savent même que ça existe
À vue de nez, s’ils ne touchent pas à WordPress, ce n’est peut-être pas un problème technique : ils ne veulent pas mettre les mains dans une instance fragile, ou il y a un problème de droits dans l’organisation, ou l’administrateur part du principe que WP est déjà bien configuré
Il n’y a aucun moyen de mettre ça en cache, et les bots ne respectent même pas le fichier robots ; ils continuent à demander des URL et récupèrent les articles encore et encore avec toutes sortes de nombres et de combinaisons. C’est vraiment pénible
Jusqu’ici, les seules solutions que j’ai vues sont Cloudflare, l’obligation de se connecter, Anubis, ou une infrastructure d’une taille absurde
Un site disait que 60 % de son trafic venait de bots, et pour des sites plus petits, la proportion est probablement bien plus élevée
Je me souviens aussi de projets qui tentaient de faire de la preuve de travail un calcul utile
Si vous ne voyez pas très bien de quoi il s’agit, c’est destiné à bloquer le scraping par l’IA
« Anubis utilise des défis de preuve de travail pour garantir que le client utilise un navigateur moderne et peut calculer des sommes de contrôle SHA-256 »
https://anubis.techaro.lol/docs/design/how-anubis-works
C’est plutôt chouette, et ça pourrait être utile pour un ou deux de mes projets
Permettre de publier du contenu ou d’exécuter des actions peut évidemment poser problème dans de nombreux cas
Mais pour la simple fourniture de contenu, le fait que ce soit un humain ou un bot n’est généralement pas le critère qu’on cherche à filtrer ou à bloquer. Si un client donné n’abuse pas du système, pourquoi faudrait-il se soucier de savoir si ce client est humain ?
« Le temps est également utilisé comme entrée. Car, en raison de la nature de la ligne temporelle linéaire, le serveur comme le demandeur savent ce qu’est le temps »
C’est une phrase hilarante dans la documentation
Pour diverses raisons, les désynchronisations d’horloge sont courantes. On ne peut pas s’attendre à ce que les 10 % d’utilisateurs les moins bien lotis aient une date correcte même au jour près, et même les 25 % du bas peuvent être décalés d’environ 5 minutes
Les images de la page intermédiaire affichée en attendant la fin du contrôle Anubis sont vraiment adorables. J’ai toujours trouvé les illustrations et les personnages du blog de Xe magnifiques
À part ça, je me demandais quel impact cela aurait sur les moteurs de recherche classiques, et en quoi c’était différent de la solution de Cloudflare pour bloquer les crawlers IA ; c’est expliqué sur la page GitHub [1]
« Si vous installez et utilisez ceci, il est très probable que certains moteurs de recherche n’indexent pas votre site. Ce n’est pas considéré comme un bug d’Anubis, mais comme une fonctionnalité »
« C’est une réponse un peu façon frappe nucléaire, mais les bots scrapers d’IA ont récupéré les données de manière trop agressive, au point qu’il n’y avait pas vraiment le choix »
« Dans la plupart des cas, vous n’aurez pas besoin de l’utiliser, et protéger un serveur d’origine donné avec Cloudflare suffira probablement. Mais si vous ne pouvez pas ou ne voulez pas utiliser Cloudflare, Anubis est là »
[1]: https://github.com/TecharoHQ/anubis/
Cela dit, des services comme Google utilisent parfois les mêmes IP pour l’IA et pour l’indexation de recherche
Des améliorations sont quand même en cours, comme laisser passer les balises Open Graph, afin qu’au moins les aperçus enrichis fonctionnent
J’ai lu des choses sur Anubis, et c’est un super projet. Malheureusement, comme indiqué dans les commentaires, les visiteurs du site doivent activer JavaScript™
Si le site a de toute façon besoin de JavaScript™ pour améliorer l’expérience utilisateur, c’est tout à fait acceptable, mais c’est moins adapté à des sites statiques qui n’ont absolument pas besoin de JS
J’ai créé ma propre solution pour bloquer efficacement ces « mauvais bots » au niveau réseau. Avec la base de données MaxMind et un WAF/proxy inverse maison, je bloque au niveau ASN (BGP) des réseaux entiers de plusieurs grands acteurs « Big Tech / Big LLM »
Bien sûr, il y a aussi des manipulations d’ASN et des fraudes à la réputation, mais c’est très difficile à contrer. En examinant rapidement les logs, j’ai constaté que ces bots font généralement une seule requête depuis une IP résidentielle donnée, et que ces plages sont probablement aussi utilisées par de vrais utilisateurs humains
En bref, il y a un risque de bloquer du trafic légitime. Cette solution comporte aussi un risque, mais pour la plupart des humains, le risque réel est bien plus faible
Ce serait bien de ne pas avoir besoin de JavaScript et de pouvoir prendre en charge les utilisateurs qui l’ont désactivé, mais aucun client ni utilisateur final ne s’est jamais plaint d’une obligation d’activer JavaScript
Ceux qui s’opposent à l’exigence de JavaScript sont une minorité bruyante, et la plupart d’entre eux l’activent simplement quand ils tombent sur un site qui en a besoin. Même alors, je pense que très peu poussent un soupir de défaite
J’aime l’idée, mais une fois la nature du défi clarifiée, il faudra probablement descendre au niveau du protocole
En matière d’accessibilité, il vaudrait mieux au final que le défi de preuve de travail fasse partie de quelque chose de plus proche de TCP, plutôt que d’être implémenté séparément en JavaScript sur chaque site web
[0] https://datatracker.ietf.org/wg/privacypass/about/
La solution « suffisamment correcte » est le classique SHA(seed, nonce), déjà largement utilisé. Si les géants de la tech l’avaient voulu, cela aurait pu être facilement intégré à une couche plus basse de la pile
Sur mon téléphone, la résolution de la détection de bot prend pas moins de 5 secondes
Personnellement, je ne trouve pas l’expérience utilisateur si mauvaise, puisque je n’ai rien à faire. Je préfère clairement ça à un CAPTCHA
Je travaille actuellement sur un prototype que j’appelle « police web Enigma ». L’idée est d’appliquer à la police web servie et mise en cache une graine personnalisée et des valeurs de rotation propres à chaque session utilisateur
L’objectif est de rendre le web scraping irréaliste à cause du coût de calcul de l’OCR. Pour l’instant, c’est un jeu du chat et de la souris, et j’aimerais un peu changer l’équilibre
Sans session utilisateur, le source HTML devient en pratique dénué de sens, et si la mise en cache des assets disparaît avec un comportement de type OTP, la page web peut aussi devenir illisible
Cela permettrait effectivement de créer un CAPTCHA où l’utilisateur ajuste une fenêtre de graine locale jusqu’à pouvoir lire certains mots. Par exemple : « Déplacez le curseur jusqu’à ce que le mot Foxtrott soit lisible »
J’aimerais beaucoup avoir l’avis de Xe. Pourrions-nous unir nos forces ?
La stack technique est Go, car c’est le seul langage avec lequel il était facile de modifier directement des fichiers de police web sans problème
Abîmer le texte n’aidera probablement pas. Ils continueront quand même à marteler le site. À voir les schémas de trafic, les gens qui ont conçu ces bots sont juste... <https://www.youtube.com/watch?v=ulIOrQasR18>
Pour ce qui est de « J’aimerais avoir l’avis de Xe. Pourrions-nous unir nos forces ? », d’après ce que je comprends, le projet a surtout besoin d’aide pour devenir plus durable à court et à long terme, plutôt que d’ajouter encore des fonctionnalités. Anubis semble déjà très bien fonctionner
En tout cas, ça marche très bien pour bloquer les utilisateurs qui ont désactivé JavaScript