Aikido

Apresentamos o Code Audit: Descubra vulnerabilidades complexas escondidas no seu código-fonte

Escrito por
Shaun Brown

Resumo: Aikido Audit preenche a lacuna entre SAST os testes de penetração, analisando as suas bases de código estáticas para identificar vulnerabilidades de várias etapas e dependentes da intenção antes de estas serem lançadas. 

Na semana passada, a Anthropic lançou o Claude Fable 5, uma versão pública do seu modelo da classe Mythos, que era capaz de descobrir e encadear exploits de dia zero. O Fable 5 vem equipado com mecanismos de proteção que bloqueiam consultas relacionadas com cibersegurança e recorrem a um modelo mais limitado, pelo que a versão pública não executa esses ataques por si.

Pelo menos, essa era a ideia.

Mas parece que uma ou mais organizações conseguiram «desbloquear» o Fable 5, levando a Anthropic a retirar o modelo sob pressão do governo dos EUA. A questão é que não se pode voltar atrás. Seja através de «jailbreaks» ou de código aberto, os atacantes irão obter acesso a modelos cada vez mais capazes.

O rumo está traçado. A competência e o tempo necessários para identificar e encadear falhas numa aplicação estão a ser substituídos por algo que um agente consegue fazer sem horas ou dias de esforço humano. Isto é particularmente verdade no caso de falhas baseadas na lógica que não são detetadas pelos análise estática de código existentes. Estas classes de falhas não seguem padrões previsíveis, pelo que a análise estática não tem nada com que as comparar.

No entanto, os defensores podem manter-se um passo à frente utilizando os mesmos modelos agênicos, analisando e detetando falhas de segurança nas suas bases de código antes de estas chegarem à produção. E foi por isso que criámos Aikido Audit.‍‍

O que a Code Audit faz, na verdade

A Auditoria de Código não substitui SAST seu SAST , que é excelente a detetar vulnerabilidades de segurança baseadas em regras à medida que desenvolve. Também não substitui os testes de penetração. Situa-se entre os dois, trabalhando no seu código estático, com um raciocínio ao nível dos testes de penetração. 

Recorra ao Code Audit antes de um lançamento significativo ou após a implementação de uma funcionalidade importante. Esta ferramenta rastreia as referências entre ficheiros e módulos. Identifica problemas que envolvem várias etapas, nos quais nenhuma linha isolada constitui a vulnerabilidade. Cada resultado é apresentado com a causa principal, evidências baseadas no código e uma funcionalidade AutoFix que lhe permite gerar instantaneamente um PR para resolver o problema. 

Na prática, isso se parece com:

Uma cadeia de IDOR em várias etapas, abrangendo três ficheiros, que um scanner baseado em padrões nunca conseguiria associar, uma vez que nenhuma linha, por si só, aciona uma regra. O Code Audit rastreia a referência, identifica a verificação de autorização em falta no contexto e revela o percurso completo da exploração.

O mesmo conceito aplica-se a outras vulnerabilidades baseadas na lógica, como um padrão ReDoS identificado na fonte sem que tenha havido exploração em ambiente real, ou uma rota exclusiva para administradores que nunca foi testada num teste de penetração em ambiente real porque ninguém possuía credenciais válidas. Tenho a certeza de que consegue pensar noutros exemplos.

Como o Code Audit funciona a partir do seu código-fonte, não é necessário ter um ambiente de teste ativo nem criar credenciais de autenticação. Basta ligar a sua base de código e iniciar uma auditoria. Se o código existir no código-fonte, está abrangido pela auditoria: vários repositórios, percursos com sinalizadores de funcionalidades, alterações não implementadas e rotas de administração que os testes em produção não podem abordar com segurança.

Não se limita à sua aplicação web

A auditoria de código baseia-se na análise estática do código-fonte, em vez de testar um ambiente em produção, pelo que não está limitada pela cobertura SAST nem pela plataforma em que o código é executado.

Isso significa que pode testar:

  • Aplicações móveis, nas quais não existe um URL para aceder nem uma forma fácil de testar percursos de código numa versão ativa.
  • Contratos inteligentes, nos quais não se quer, de forma alguma, realizar tentativas de exploração contra um contrato implementado que tenha valor real bloqueado no seu interior.
  • Bases de código legadas em linguagens com SAST limitada.

Análise comparativa

Com base nos nossos testes internos e nos comentários dos primeiros utilizadores, o Code Audit abrange cerca de 70 a 80 % do que um teste de penetração completo revela, a um custo cerca de 10 vezes inferior. Os primeiros utilizadores identificaram cerca de 25 problemas de segurança por base de código (mediana), não tendo nenhuma auditoria resultado em «limpo».


Mas o número de problemas detetados é secundário em relação ao momento em que são detetados. Detetar uma vulnerabilidade antes do lançamento implica apenas uma alteração no código, enquanto o programador ainda tem uma visão completa do contexto. Detetá-la depois de o código chegar à produção implica, provavelmente, um ciclo de correção e a necessidade de retirar um programador de outro projeto para a resolver. A Auditoria de Código antecipa a deteção para o momento antes do código ser lançado, quando o programador que nele trabalhou ainda tem uma visão completa do contexto e a correção é simples.

Como começar

Na sua Aikido , selecione «Auditoria de Código » no menu e clique em «Criar Auditoria». A partir daí, selecione um ou mais repositórios e Aikido o custo em créditos. Adicione créditos à sua conta e inicie a auditoria. A configuração demora apenas alguns minutos e as auditorias podem demorar tão pouco quanto 5 minutos, dependendo do tamanho e da complexidade da sua base de código.

‍Execute a sua primeira auditoria de código.

Compartilhar:

https://www.aikido.dev/blog/introducing-code-audit-find-complex-vulnerabilities-hidden-in-your-codebase

Assine para receber notícias

4.7/5
Cansado de falsos positivos?

Experimente Aikido como 100 mil outros.
Começar Agora
Obtenha um tour personalizado

Confiado por mais de 100 mil equipes

Agende Agora
Escaneie seu aplicativo em busca de IDORs e caminhos de ataque reais

Confiado por mais de 100 mil equipes

Iniciar Escaneamento
Veja como o pentest de IA testa seu aplicativo

Confiado por mais de 100 mil equipes

Iniciar Testes

Fique seguro agora

Proteja seu código, Cloud e runtime em um único sistema centralizado.
Encontre e corrija vulnerabilidades rapidamente de forma automática.

Não é necessário cartão de crédito | Resultados da varredura em 32 segundos.