veilletech.fr
30 août Feed du jour
#02 DEVOPS Article

kernel.org : les robots IA mangent 20 % du serveur

Le robots.txt ne protège que ceux qui le lisent.

Konstantin Ryabitsev, qui administre l'infrastructure de kernel.org, chiffre l'impact des robots d'entraînement sur git.kernel.org : 6 millions de requêtes par jour dont environ 2 % de trafic humain, et 14 à 16 cœurs sur 90 consacrés en permanence à rendre des commits en HTML. Le défi de preuve de travail Anubis en écarte deux tiers, mais les robots résolvent désormais la difficulté 5.

3 min de lecturevidéo 1:15
Partager
Sommaire4 sections
  1. Ce qui se passe
  2. Pourquoi ça compte
  3. Ce que ça change
  4. À retenir

Ce qui se passe

Konstantin Ryabitsev, responsable de l'infrastructure de kernel.org, publie les chiffres qui manquaient jusqu'ici au débat sur les aspirateurs d'entraînement.

Mesure Valeur
Requêtes quotidiennes sur git.kernel.org ~6 millions
Repoussées d'emblée par Anubis 66 %
Qui résolvent le défi et passent 33 %
Trafic estimé légitime ~2 %
Cœurs CPU mobilisés en permanence 14 à 16 sur 90
Nœuds géo-distribués 5

Son résumé tient en une phrase : le serveur dépense plus de cycles à fabriquer des pages de commits pour des robots que pour tous les accès légitimes réunis, git clone compris.

Pourquoi ça compte

L'ironie est complète, et elle est le vrai sujet de l'article. Tout le contenu est déjà clonable, y compris les archives de LKML : une commande suffit à obtenir l'histoire entière, et l'équipe encourage à le faire. Les aspirateurs choisissent l'inverse — demander chaque commit rendu en HTML, un par un.

Le calcul de la surface exposée explique la suite :

Autrement dit : plusieurs milliards d'URL valides, qui aboutissent à 922 duplicatas du même million et demi de commits.

La défense a suivi une escalade instructive. D'abord fail2ban sur les IP identifiées — les robots ont cessé de s'annoncer dans leur user-agent. Puis le blocage par sous-réseau, puis par ASN entier. Aujourd'hui les requêtes viennent de millions d'adresses résidentielles ou mobiles qui font quatre ou cinq appels puis disparaissent : les bannir ne fait que gonfler le pare-feu. Ces adresses sont louées via des SDK de proxy embarqués dans des applications grand public — « votre téléviseur le fait probablement », note l'auteur.

Reste Anubis, un défi de preuve de travail : trouver la chaîne qui, combinée à l'IP du client et à un secret du serveur, produit un SHA-256 commençant par n zéros. Efficacité immédiate à sa mise en place il y a un an. Puis les robots ont su résoudre la difficulté 4, on est passé à 5, ils la résolvent aussi — et un mobile met désormais plusieurs secondes à répondre, en chauffant.

Ce que ça change

Si vous exposez une forge, une doc générée ou un wiki, la charge ne vient plus de vos utilisateurs. Trois enseignements transposables :

  1. La surface compte plus que le volume. Une interface qui génère des URL combinatoires (diff entre deux révisions quelconques) est un piège : ce n'est pas le nombre de pages qui explose, c'est leur produit cartésien.
  2. Le filtrage par identité est mort. User-agent, IP, ASN : les trois ont été contournés dans l'ordre. Seul le coût imposé au client tient encore, et partiellement.
  3. Ce qui va tomber, ce sont les fonctionnalités anonymes. C'est l'annonce explicite de l'équipe kernel.org, à contrecœur : réduire le nombre d'URL moissonnables et fermer les actions coûteuses. Les données resteront téléchargeables pour qui les demande.

Source : people.kernel.org (en anglais).