Detectar possíveis vulnerabilidades em software de código aberto ficou mais fácil com ferramentas de inteligência artificial, mas a facilidade de encontrar um suposto problema não significa que ele seja uma vulnerabilidade real e explorável. Como resultado, os mantenedores de projetos enfrentam um fluxo de relatos extensos, imprecisos ou repetidos, consumindo tempo que poderia ser direcionado à correção de falhas e ao desenvolvimento do software.
A iniciativa Akrites, anunciada pela Linux Foundation em junho, tenta resolver essa lacuna por meio de uma equipe conjunta de resposta a incidentes de segurança (SIRT). Sua missão é reunir e verificar relatos de vulnerabilidades e coordenar as correções com os mantenedores dos projetos originais. Em uma entrevista ao The New Stack durante o Open Source Summit Europe, em Praga, Christopher Robinson, diretor técnico da Akrites e arquiteto-chefe de segurança da Open Source Security Foundation (OpenSSF), e Laura Guazzelli, arquiteta de segurança de inteligência artificial e sistemas agentes da Linux Foundation, explicaram a natureza do problema e o funcionamento da iniciativa.
Da “pesquisa espontânea” a um ônus operacional
Robinson afirma que uma conta paga de 20 dólares já é suficiente para começar a pesquisar vulnerabilidades, indicando a redução da barreira de entrada para não especialistas. Adrianne Marcum, diretora de equipe da OpenSSF, descreveu esse padrão de forma irônica com a expressão “vibe researching”, para designar o uso de ferramentas de inteligência artificial para examinar código e enviar os resultados sem possuir o contexto de segurança ou a experiência necessários para verificá-los.
Robinson estima que a análise de um único pedido de segurança pode consumir até oito horas do engenheiro. Os relatos automatizados, segundo sua descrição, são muito detalhados, mas frequentemente imprecisos, exageram a gravidade do problema e nem sempre fornecem os dados necessários para escrever uma correção ou compreender o método de exploração.
Por que detectar código suspeito não é suficiente?
Uma das principais limitações é que o modelo pode identificar um trecho suspeito sem compreender toda a arquitetura de segurança do projeto. Pode haver controles adicionais em outro ponto que impeçam a exploração da falha, transformando o relato em um falso positivo ou reduzindo sua gravidade real. Além disso, modelos semelhantes tendem a detectar as mesmas falhas, fazendo com que os mantenedores recebam vários relatos sobre o mesmo problema.
Ainda assim, a Akrites não considera ignorar os relatos gerados por inteligência artificial uma opção prática. Robinson afirma que a qualidade dos resultados melhorou ao longo do ano, especialmente nos modelos pagos de maior custo. As ferramentas também conseguem, às vezes, conectar problemas de baixa gravidade e transformá-los em uma cadeia de exploração maior, uma tarefa que pode levar meses ou um ano para um pesquisador humano.
Revisão humana antes de o relato chegar ao projeto
A Akrites usa inteligência artificial para avaliar os relatos recebidos e detectar duplicidades. Em seguida, engenheiros cedidos os revisam antes que sejam encaminhados aos mantenedores. Seu papel não se limita a decidir se a vulnerabilidade existe; também inclui resumir o relato e acrescentar casos de teste, provas de conceito e correções, para que o projeto possa tomar uma decisão mais rápida e baseada em evidências.
A iniciativa inclui membros fundadores como Anthropic, OpenAI, Google, Microsoft, AWS, NVIDIA, Cisco, IBM, Red Hat, Citi e JPMorganChase. Segundo Robinson, os membros devem fornecer recursos de engenharia além do financiamento, e o compromisso pode chegar a 10 engenheiros em tempo integral por membro. Ele afirma que conta com cerca de 200 engenheiros cedidos, muitos deles já colaboradores ou mantenedores de projetos de código aberto.
O que muda na prática?
A Akrites coloca uma camada de classificação e verificação entre as ferramentas de detecção de vulnerabilidades e os mantenedores dos projetos, em vez de encaminhar diretamente aos responsáveis pelo código todos os resultados automatizados. Isso pode reduzir o ruído e melhorar a aplicabilidade dos relatos, mas não elimina a necessidade de conhecimento humano nem de financiamento contínuo, pois a infraestrutura e o uso de modelos de linguagem consomem muitos recursos.
Outra iniciativa ligada à Linux Foundation, o open source Cyber Reasoning System (OSS-CRS), trabalha no desenvolvimento de ferramentas que ajudam os próprios projetos a investigar vulnerabilidades e propor correções. Enquanto a Akrites se concentra na coordenação do ciclo de relatos entre os projetos, o OSS-CRS busca capacitar os mantenedores a executar uma parcela maior do trabalho. A eficácia das correções propostas continua sendo uma questão em aberto, pois é preciso verificar se elas tratam a causa raiz sem introduzir novas vulnerabilidades ou quebrar funcionalidades existentes.