Arnaud Ouvrier

Mon blog à propos d'informatique, d'électronique, de tout, de rien

AccueilÀ proposLinkedInGitHub

Le robot d'indexation web de Facebook est joueur

Par Arnaud Ouvrier, publié le 05/11/2024

J'ai remarqué qu'un de mes serveurs web était particulièrement lent dernièrement. Le chargement des pages web prenait environ une minute à chaque fois. Je n'arrivais pas à trouver la cause jusqu'à ce que je regarde les journaux d'accès de mes sites.

Dans celui correspondant à mon proxy Gemini (https://gemweb.arnaudouvrier.fr/), je suis tombé sur ces lignes, montrant une grosse quantité de requêtes provenant du robot d'indexation web de Facebook (Meta) :

[...]
2a03:2880:f800:1a:: - - [05/Nov/2024:12:06:16 +0100] "GET /?url=gemini%3A%2F%2Fjsreed5.org%2Flive%2Fcgi-bin%2Ftwisty%2Frubiks.cgi%3FBCGkDFJaheLI1456207301212102FL HTTP/1.1" 200 12540 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
2a03:2880:f800:1b:: - - [05/Nov/2024:12:06:16 +0100] "GET /?url=gemini%3A%2F%2Fjsreed5.org%2Flive%2Fcgi-bin%2Ftwisty%2Frubiks.cgi%3FeJAGicDLfkhB4362057120122212UF HTTP/1.1" 200 12539 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
2a03:2880:f800:16:: - - [05/Nov/2024:12:06:16 +0100] "GET /raw.php?url=gemini%3A%2F%2Fjsreed5.org%2Flive%2Fcgi-bin%2Ftwisty%2Frubiks.cgi%3FBCDFELHGKJIA1725460302120100DB HTTP/1.1" 200 9910 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
2a03:2880:f800:1b:: - - [05/Nov/2024:12:06:16 +0100] "GET /?url=gemini%3A%2F%2Fjsreed5.org%2Flive%2Fcgi-bin%2Ftwisty%2Frubiks.cgi%3FhcgkFELDjaIB2756341022011000LB HTTP/1.1" 200 12540 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
2a03:2880:f800:a:: - - [05/Nov/2024:12:06:16 +0100] "GET /?url=gemini%3A%2F%2Fjsreed5.org%2Flive%2Fcgi-bin%2Ftwisty%2Frubiks.cgi%3FdaCLeBHGiFJK3276015410000101LB HTTP/1.1" 200 12540 "-" "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)"
[...]

Mon proxy Gemini permet, en théorie, d'explorer tout le contenu Gemini publiquement accessible. Sur la page d'accueil, j'ai des liens vers des capsules Gemini. Le robot n'ayant pas identifié qu'il était sur un proxy, il ouvre tous les liens sur lesquels il tombe. Il est pratiquement dans un piège infini.

Ce qui pour le coup est encore plus marrant, c'est qu'en regardant de plus près les URLs qu'il ouvre en boucle, il est tombé sur une capsule contenant un Rubik's cube à résoudre ! Ce Rubik's cube textuel se résout en cliquant sur des liens hypertext, correspondant chacun aux actions qu'il est possible de faire. Chaque page chargée correspond donc à un état différent du Rubik's cube.

jsreed5 Rubik's cube en Gemini : gemini://jsreed5.org/live/cgi-bin/twisty/rubiks.cgi?daCLeBHGiFJK3276015410000101LB (ou ici en HTTP via mon proxy)

D'après la documentation Facebook, ce robot d'indexation est utilisé pour l’entraînement d'intelligences artificielles :

Le robot d’indexation Meta-ExternalAgent indexe le Web pour des cas d’utilisation tels que l’entraînement de modèles d’IA ou l’amélioration de produits en indexant directement le contenu.

— Documentation Facebook (https://developers.facebook.com/docs/sharing/webmasters/web-crawlers)

Une IA serait-elle en train de s’entraîner à la résolution des Rubik's cubes sans même le savoir ?

Bon maintenant je n'ai plus qu'à trouver comment arrêter le robot Facebook et tous les suivant de recommencer. C'est bien drôle de gaspiller des ressources de Facebook en piégeant inintentionnellement des robots, mais je gaspille aussi les ressources de mon serveur et celles de jsreed5...

Bonus : en regardant les journaux d'accès du proxy, je suis aussi tombé sur un robot qui charge périodiquement le même gemlog à propos de pornographie...