Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Actualités


Index du Forum » Actualités » Crawlers IA sur la forge : état du service et blocage
Lephenixnoir En ligne Administrateur Points: 24960 Défis: 174 Message

Crawlers IA sur la forge : état du service et blocage

Posté le 27/03/2025 19:34

Notre forge Git est actuellement harcelée par des crawlers utilisés pour entraîner des IA. Ce n'est pas que nous, c'est partout dans les news des sites techniques en cette fin de mois.

Pour contexte, on se prend facilement 10 requêtes par seconde, depuis des User-Agent randomisés (qui n'osent pas révéler leur identité) qui requêtent depuis des IP parfois résidentielles (i.e. tout à fait légitime en surface) aléatoires dans des petits groupes.

On fait ce qu'on peut pour essayer de rétablir le service mais c'est pas facile.

Les habitués du forum connaîtront sans doute ma haine profonde de l'IA sur tous les plans ; sociétal, scientifique, environnemental, économique. Voilà notamment pourquoi


Slyvtt Hors ligne Maître du Puzzle Points: 2521 Défis: 17 Message

Citer : Posté le 27/03/2025 19:51 | #


Absorption massive de contenu, assimilation sans demande de consentement ni respect des licenses, top l'IA !!!
Sans compter les problèmes de consanguinité de l'info autogénérée qui pollue le net.
C'est vraiment une plaie cette IA.
A mon taf ils se gargarisent tous de l'IA, il n'y a que cela qui vaille ... ils en reviendront car c'est le chaos.

Je te rejoins à 100%. Allez je fais mon vieux : c'était mieux sans ...
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Lephenixnoir En ligne Administrateur Points: 24960 Défis: 174 Message

Citer : Posté le 27/03/2025 20:35 | #


Access log avec les plages d'IP/24 ayant fait le plus de requêtes aujourd'hui.

% cat git_access.log | grep -Po '^(\d+\.\d+\.\d+)' | sort | uniq -c | sort -n
(...)
  25569 102.129.130
  25741 202.155.137
  25926 45.93.184
  26007 140.228.23
  26026 146.103.10
  26099 45.89.148
  26312 91.124.117
  26330 96.62.105

Oui, aujourd'hui !! Je vais voir pour les bannir.
Mon graphe (28 Janvier): (MPM ; serial gint ; (Rogue Life || HH2) ; PythonExtra ; ? ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Calamari Hors ligne Membre Points: 414 Défis: 0 Message

Citer : Posté le 28/03/2025 01:32 | #


What if the server used a non-standard port, such as 8443, would that be a useful workaround? You could keep the https://git.planet-casio.com/ landing page on 443, with a message explaining which port to use for the forge.

EDIT: On second thought, no this wouldn't work, because the first time someone linked to it then the bots would find it again.
“Remember to have fun doing this, or it ain't worth it.” — Robert Alan Koeneke
“They call me the king of the spreadsheets, got 'em all printed out on my bedsheets.” — “Weird Al” Yankovic
Eragon En ligne Gardien des bots Points: 493 Défis: 0 Message

Citer : Posté le 28/03/2025 01:49 | #


The bots are probably hammering the forum too, but that's OVH's problem I guess.

Lephenixnoir a écrit :

Access log avec les plages d'IP/24 ayant fait le plus de requêtes aujourd'hui.
[…]
Oui, aujourd'hui !! Je vais voir pour les bannir.

@Lephe je pense qu'on doit pouvoir automatiser ça avec fail2ban ou un truc dans le genre.
Si un range d'ip fait plus de 1000? 10.000? requêtes par jour on peut sans doute les ajouter dans une jail de fail2ban pour 15jours ou un mois.

Ça permet de gérer le pire des bots déjà. Ça sera pas instantané mais ça peut aider un peu

EDIT: Vu mes dernières emmerdes avec mon pare-feu sur eragon.re (j'ai ban tout internet… 🤦‍♀️) je vais pas toucher à celui du VPS
Lephenixnoir En ligne Administrateur Points: 24960 Défis: 174 Message

Citer : Posté le 28/03/2025 10:09 | #


J'ai pensé à automatiser en effet mais je vais être conservateur dans un premier temps et surveiller manuellement. Plus long terme si la méthode marche alors on pourrait le faire automatiquement.

J'ai ban la vague d'IP ci-dessus, pour l'instant (les quelques premières minutes) ça répond déjà nettement mieux. On va voir si ça dure et combien d'itérations il faut.

Hopefully j'ai banni aucun utilisateur légitime au passage, si c'est le cas il faudra qu'ils viennent se plaindre pour qu'on puisse les débloquer.
Mon graphe (28 Janvier): (MPM ; serial gint ; (Rogue Life || HH2) ; PythonExtra ; ? ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Dark storm En ligne Labélisateur Points: 11643 Défis: 179 Message

Citer : Posté le 28/03/2025 12:14 | #


Je remets ici ce que j'ai mis sur #hs, parce que c'est pas si HS que ça…

Ce soir j'ai un peu de dispo donc je peux regarder pour mettre en place reaction une alternative à fail2ban qui marche franchement bien.

Dans les pistes de règles qui peuvent aider :
- Plus de 10k requêtes sur 24h
- User-Agent faisant partie d'une liste genre ai.robots.txt
- Accès à une ressource interdite dans le robots.txt (la ressource n'étant pas légitimement accédée par des visiteurices)
- Plus de 50(?) DL d'archives sur 24h (à l'exception des archives des branches main utilisées par giteapc)
- Et globalement tous les patterns qu'on pourrait identifier par la suite.

Pour le blocage, y'a deux écoles :
- blocage firewall
- blocage http (403) avec une page statique

Autant à titre perso je fais du blocage firewall, autant là je pense qu'il serait judicieux de mettre un blocage http avec un message indiquant de passer par le forum pour débloquer l'IP si jamais c'était légitime.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir En ligne Administrateur Points: 24960 Défis: 174 Message

Citer : Posté le 28/03/2025 12:27 | #


On bannit déjà une liste de user-agents très généreuse côté nginx, ça c'est bon a priori.

Pour les requêtes ça me semble le plus simple, j'ai pas trop de chiffres d'usage normaux mais 10000 semble être un bon début. Après c'est facile pour un humain de voir les access patterns stupides où le crawler affiche toutes les versions de fichiers obscurs de dépôt clônés pour des commits préhistoriques, en boucle 20 fois par minute.

Pour l'instant j'ai banni côté nginx avec deny ce qui donne une 403 sans message d'explication mais ça devrait pas être trop dur d'en ajouter un.

Je serais tenté d'attendre un peu pour voir ce qui se passe avant d'automatiser. J'ai pas l'impression qu'on connaisse bien les patterns encore. En tous cas faudra garder un œil manuel dessus pour quelques temps.
Mon graphe (28 Janvier): (MPM ; serial gint ; (Rogue Life || HH2) ; PythonExtra ; ? ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Yannis300307 Hors ligne Membre Points: 310 Défis: 4 Message

Citer : Posté le 28/03/2025 15:59 | #


Ah... Je comprends mieux les 2 000 requêtes de DNS par jour sur mon nom de domaine... Foutus bots, ils doivent me prendre pas mal de bande passante. Est ce que Cloudflare en filtre une partie ou ils passent tous ?
WOW ! Mais qu'est-ce-que je vois ??!! Une extension VS Code qui permet de simplifier le développement sur calculatrices ??!! C'est ici : Casio Dev Tools. C'est incroyable ! C'est prodigieux !
Lephenixnoir En ligne Administrateur Points: 24960 Défis: 174 Message

Citer : Posté le 28/03/2025 16:00 | #


Cloudflare a récemment déployé un outil (opt-in je crois) pour emmerder ces bots : https://blog.cloudflare.com/ai-labyrinth/
Mon graphe (28 Janvier): (MPM ; serial gint ; (Rogue Life || HH2) ; PythonExtra ; ? ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Lephenixnoir En ligne Administrateur Points: 24960 Défis: 174 Message

Citer : Posté le 28/03/2025 16:07 | #


La forge était de nouveau inondée donc j'ai banni plusieurs dizaines de /24, par ordre de spam de requêtes jusqu'à descendre à ceux qui ont fait ~900 requêtes aujourd'hui. C'est bas, mais y'a beaucoup d'IP qui spamment. Et si un utilisateur légitime en fait autant (pour info j'étais à 150 aujourd'hui) alors cette personne est sur le forum et saura faire signe.

S'il faut continuer de descendre dans le futur le nombre de requêtes ne pourra pas être la seule métrique. La nature des requêtes peut cela dit permettre à un script de lire les logs et bannir sélectivement. Comme je l'ai mentionné l'immense majorité des URLs sur la forge sont des versions antiques de fichiers obscurs provenant de forks de gros projets. Visuellement on voit bien que c'est pas une activité légitime.
Mon graphe (28 Janvier): (MPM ; serial gint ; (Rogue Life || HH2) ; PythonExtra ; ? ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Slyvtt Hors ligne Maître du Puzzle Points: 2521 Défis: 17 Message

Citer : Posté le 29/03/2025 12:47 | #


Ça a l'air de beaucoup mieux se passer aujourd'hui, je ne sais pas si cela provient de votre liste de bans ou si il y a moins de crawling aujourd'hui, mais on revient sur des niveaux de perfs normaux.
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Lephenixnoir En ligne Administrateur Points: 24960 Défis: 174 Message

Citer : Posté le 29/03/2025 13:10 | #


Le crawling ne s'arrête pas non, mais ça se calme. On est passés de 10 req/s à 1 req/s environ, et encore une bonne proportion (2/3) est jertée automatiquement par nginx à cause du ban.
Mon graphe (28 Janvier): (MPM ; serial gint ; (Rogue Life || HH2) ; PythonExtra ; ? ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Eragon En ligne Gardien des bots Points: 493 Défis: 0 Message

Citer : Posté le 29/03/2025 13:11 | #


On à regardé à quel point ça impactait la v5 aussi?
Ça peut donner des idées de trucs à améliorer dessus
Lephenixnoir En ligne Administrateur Points: 24960 Défis: 174 Message

Citer : Posté le 29/03/2025 13:14 | #


J'ai pas regardé en détail non, c'est plus calme en tous cas.
Mon graphe (28 Janvier): (MPM ; serial gint ; (Rogue Life || HH2) ; PythonExtra ; ? ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2025 | Il y a 160 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd