O avanço dos modelos de inteligência artificial está criando um problema inesperado para uma das principais infraestruturas do ecossistema Linux. O Kernel.org, que hospeda os repositórios e diversos recursos utilizados no desenvolvimento do kernel Linux, está recebendo milhões de requisições automatizadas todos os dias, muitas delas feitas por crawlers interessados em coletar dados para treinamento de modelos.
Segundo Konstantin Ryabitsev, responsável por parte da infraestrutura do Kernel.org, o git.kernel.org recebe aproximadamente 6 milhões de requisições diárias apenas para páginas individuais de commits. O volume é suficiente para consumir uma parcela significativa da capacidade computacional disponível.
Atualmente, o Kernel.org possui 90 núcleos de CPU distribuídos em cinco localidades. Entre 14 e 16 núcleos permanecem ocupados constantemente renderizando páginas HTML de commits para crawlers. Isso representa cerca de 20% de toda a capacidade da infraestrutura. O mais curioso é que esse processamento sequer seria necessário para obter os dados.
O jeito mais ineficiente de coletar código
O histórico do kernel Linux está disponível publicamente por meio do Git. Em vez de baixar os repositórios e trabalhar localmente com os dados, os crawlers estão acessando milhões de páginas individuais.
O problema fica particularmente grande no caso do Kernel.org porque o git.kernel.org não hospeda apenas uma cópia do Linux. O repositório principal possui aproximadamente 1,48 milhão de commits, enquanto existem centenas de forks hospedados na mesma infraestrutura.
Além dos commits, o sistema permite acessar páginas de patches, diferenças entre versões e outras representações do mesmo conteúdo. Isso cria uma quantidade gigantesca de URLs potencialmente acessíveis por robôs.
Um crawler pode consultar repetidamente diferentes URLs que acabam apresentando informações iguais ou muito semelhantes. Para o servidor, entretanto, cada solicitação ainda exige processamento para gerar a página correspondente.
Ryabitsev resume o problema de maneira direta: atualmente, o Kernel.org gasta mais ciclos de CPU renderizando commits para scrapers do que atendendo outras formas legítimas de acesso, incluindo o git clone.
Bloquear os robôs ficou mais difícil
Inicialmente, combater esse tráfego era relativamente simples. Os administradores identificavam endereços IP suspeitos e os bloqueavam. Muitos crawlers também informavam sua identidade no user-agent, facilitando a identificação.
Com o tempo, porém, os robôs começaram a se comportar como navegadores comuns. Depois, passaram a utilizar grandes redes de servidores e proxies.
O cenário piorou quando as requisições começaram a aparecer de milhões de endereços residenciais e móveis. Um determinado IP podia realizar apenas algumas requisições antes de desaparecer, tornando o bloqueio individual praticamente inútil.
Foi nesse contexto que o Kernel.org passou a utilizar o Anubis, um sistema que exige que o visitante execute uma pequena tarefa computacional antes de acessar o conteúdo. A ideia é tornar a operação cara o suficiente para desestimular acessos automatizados em massa.
A estratégia funcionou inicialmente. Os crawlers simplesmente desistiram diante do custo adicional. O problema é que eles também se adaptaram.
Os robôs passaram a resolver desafios mais difíceis, obrigando os administradores a aumentar progressivamente a dificuldade. Isso, por outro lado, também aumenta o inconveniente para usuários legítimos, especialmente em dispositivos móveis.
A maior parte do tráfego não parece ser humana
Atualmente, cerca de 66% das requisições suspeitas são bloqueadas pelo Anubis, mas aproximadamente um terço consegue passar pelo desafio.
Ryabitsev estima que, considerando as características dos acessos, apenas cerca de 2% do tráfego do git.kernel.org seja legítimo. O restante seria composto principalmente por scrapers.
Isso não significa que o Kernel.org esteja constantemente prestes a sair do ar. A infraestrutura ainda consegue lidar com a demanda e, em condições normais, o site continua respondendo rapidamente.
O problema é o desperdício de recursos. Uma parte considerável da capacidade que poderia ser utilizada para desenvolvedores, usuários e serviços do próprio projeto está sendo consumida para produzir páginas destinadas a robôs.
Kernel.org pode restringir o acesso anônimo
Diante da dificuldade de bloquear os crawlers individualmente, a equipe está considerando reduzir a quantidade de URLs que podem ser exploradas automaticamente e restringir operações que exigem muito processamento para usuários anônimos.
Isso pode significar a perda de algumas funcionalidades para quem acessa o Kernel.org sem autenticação. O conteúdo do projeto, entretanto, continuará público e os repositórios continuarão disponíveis para download.
A situação também evidencia um problema maior provocado pela corrida por dados para treinamento de IA. Projetos que disponibilizam seu conteúdo gratuitamente podem acabar pagando uma conta significativa em infraestrutura quando milhões de máquinas automatizadas começam a coletá-lo de maneira ineficiente.
Fique por dentro das principais novidades da semana sobre tecnologia e Linux: receba nossa newsletter!




