Aikido

Como a Aikido protege agentes de pentest de IA por design

Escrito por
Sooraj Shah

Você já ouviu toda a histeria em torno dos agentes de IA e todas as possibilidades aparentemente ilimitadas. E embora essas possibilidades sejam todas muito boas, você está realmente interessado apenas em capacidades de IA agentica que abordam seus problemas reais diretamente.

E então, quando você pensa em todos os ganhos de produtividade e benefícios de ROI, você para e pensa: “ok, isso é ótimo, mas e se esses agentes saírem do escopo?” – isso independentemente de você estar implantando seus próprios agentes de IA internamente ou se beneficiando das capacidades de agentes de IA de um fornecedor externo.

E é uma pergunta válida a se fazer. Agentes, assim como outras capacidades de IA, precisam de restrições. Sem elas, eles podem sair do controle. Agentes são curiosos por design. Como uma criança pequena, eles tentarão todas as portas que puderem alcançar. Em muitos casos, você precisa que eles explorem, mas também precisa garantir que as portas que não devem abrir estejam fisicamente trancadas. 

Quando se trata de cibersegurança, isso importa ainda mais: os requisitos mínimos de segurança para agentes de IA precisam ser ainda mais rigorosos. Para Aikido Attack, nossa capacidade de pentest de IA, consideramos cada camada para evitar que os agentes saiam do escopo. Isso abrange elementos como testar acidentalmente a produção e perder o controle.

Sair do escopo é um dos principais tópicos sobre os quais líderes de segurança e engenheiros nos perguntam, e é algo que consideramos ao desenvolver nossa plataforma desde o início. Naturalmente, como uma empresa de cibersegurança, queríamos acertar isso.

Vale a pena lembrar que se espera que os agentes tentem caminhos inesperados ou arriscados, mas que existem barreiras de proteção para conter esse comportamento, não para preveni-lo.

Aikido Attack e Infinite trabalham com uma abordagem em camadas, usando limites rígidos e limites flexíveis. Aqui estão os elementos chave que você precisa saber:

Camada 1: Separação arquitetural rígida: Plano de controle vs execução

O sistema da Aikido é arquitetado com uma separação rigorosa entre o sistema que planeja e avalia pentests (o plano de controle) e o ambiente que realmente executa as ações (o sandbox de execução isolado). 

Todo o raciocínio, orquestração e acesso a dados sensíveis ocorrem no plano de controle. A execução de ferramentas, automação de navegador e interações de rede ocorrem em um ambiente separado.

A separação existe porque assumimos que a execução pode se comportar de forma inadequada e, portanto, qualquer impacto deve ser contido. É por essa razão que o ambiente de execução não tem acesso a Secrets de orquestração, infraestrutura interna ou sistemas do plano de controle. 

Camada 2: Imposição de escopo em tempo de execução

A produção nunca é assumida como dentro do escopo

Nosso sistema nunca assume que a produção está no escopo para ser atacada. Espera-se que o pentest seja executado apenas contra ambientes de staging e teste. A produção precisa ser explicitamente configurada como dentro do escopo e, mesmo assim, isso seria revisado e reconhecido antes que qualquer coisa fosse executada. 

Vimos nossas barreiras de proteção funcionarem na prática. Em um caso, um agente seguiu um comportamento de aplicação que o teria levado à infraestrutura de produção. O limite rígido que temos em vigor bloqueou a requisição na camada de rede. No entanto, pudemos ver que o agente tentou. Essa tentativa bloqueada é a prova de que nossas barreiras de proteção funcionam. 

Apenas domínios permitidos podem ser acessados 

Nossos agentes só podem interagir com domínios explicitamente configurados. Se um domínio não estiver na lista de permissões (allow-listed), ele é bloqueado no nível da rede. Isso é algo que você pode configurar, especificando quais domínios são atacáveis ou acessíveis. Simplificando, bloqueamos domínios por padrão para evitar que o agente interaja com servidores com os quais não deveria interagir.

Isso significa que não dependemos de prompts ou de humanos para a aplicação do escopo. A Aikido tecnicamente o aplica por conta própria.

Desvio acidental de escopo é bloqueado

Voltando à nossa analogia com crianças pequenas. Embora a maioria dos outros controles de segurança signifique que os agentes não se desviarão do escopo, há um número limitado de agentes que, bem, simplesmente o fazem. Especialmente quando você tem 250 agentes rodando ao mesmo tempo. 

Um exemplo clássico disso é se um agente for redirecionado para um aplicativo externo através de um link, ele assume que ainda está na mesma página, mas na verdade está em outro site. Então, de repente, eles estão no X ou Reddit, e assumem que isso faz parte do escopo. 

É por isso que você precisa de verificações rigorosas para proteger os agentes de, bem, si mesmos. Como Phillippe Dourassov, AI Pentest Lead na Aikido Security, afirma:

“Haverá cinco por cento dos agentes que nem sempre são sensatos, e é por isso que garantimos que lidamos com esses cinco por cento”.

Camada 3: Injeção de prompt e exfiltração de dados 

Sabemos que a injeção de prompt é um risco chave em sistemas de IA autônomos, onde um atacante insere instruções maliciosas em conteúdo que o agente lê. O agente interpreta essas instruções como orientação legítima e as segue.

Isso pode significar conteúdo que incita os agentes a enviar o código-fonte ou dados internos para algum lugar onde não deveriam estar. Essa vulnerabilidade surge da exposição a conteúdo não confiável e da ação sobre ele. A Aikido remove ambas as opções.

Primeiro, os agentes da Aikido não têm acesso aberto à internet. Isso significa que os agentes não podem fazer uma pesquisa no Google para descobrir como um tipo de tecnologia funciona, ou ir ao Reddit e seguir instruções para fazer algo inseguro. O único conteúdo que eles processam é o que existe dentro do próprio aplicativo no escopo. 

Segundo, mesmo que instruções maliciosas fossem de alguma forma inseridas no aplicativo alvo, os agentes ainda não têm permissão para exfiltrar dados. Restrições no nível da rede impedem conexões de saída para destinos aleatórios, então o agente não pode fazer upload de código-fonte para o Google Drive, ou postar em um endpoint externo, ou enviar dados para um domínio controlado por um atacante.

Aplicamos isso na camada de rede interceptando e controlando o tráfego HTTP e DNS dos agentes, impedindo-os de resolver ou se comunicar com domínios que não são explicitamente aprovados.

Assim, no pior cenário, onde um modelo interpreta mal as instruções, ele ainda será incapaz de enviar qualquer coisa para fora.

Um caso de uso (edge case) que vale a pena mencionar é se um cliente injetar deliberadamente instruções maliciosas em seu próprio ambiente (embora não tenhamos certeza do porquê isso aconteceria?!), o agente pode processá-las. Mas mesmo assim, o único impacto será no próprio teste do cliente. Não há risco entre tenants (cross-tenant), exposição de infraestrutura ou vazamento de dados além do que eles já controlam. 

Camada 4: Sandboxes isolados para cada agente

Cada um dos nossos agentes possui seu próprio pequeno sandbox isolado (pense: criança pequena em cercadinho). Isso significa que eles estão separados tanto da infraestrutura interna da Aikido quanto de outros agentes que estão rodando ao mesmo tempo. Isso significa que eles estão separados do acesso à rede, infraestrutura e bancos de dados da Aikido, e não podem interferir ou influenciar outras sessões ativas.

Se algo se comportar inesperadamente durante um teste, o impacto é contido naquele único sandbox – prevenindo tanto o impacto entre agentes quanto a exposição entre tenants (cross-tenant). 

Camada 5: Salvaguardas operacionais

Todas as requisições são rate-limited e sensíveis à carga (load-aware), garantindo que os testes não sobrecarreguem os sistemas alvo ou disparem uma enxurrada de alertas.

Além disso, os testes podem ser pausados ou encerrados imediatamente a qualquer momento. Os clientes podem ver o que os agentes estão fazendo em tempo real. Cada requisição e ação é visível. Isso significa que as equipes podem intervir se considerarem necessário.

Validação de configuração

Erros de configuração são mais prováveis do que comportamento malicioso. É por essa razão que, antes do início dos testes, a Aikido utiliza verificações pré-voo (pre-flight checks) para validar a autenticação e a acessibilidade (reachability). Se algo parecer mal configurado ou se assemelhar a um ambiente de produção, os avisos são exibidos precocemente. Isso significa que as salvaguardas são projetadas para detectar erros humanos antes do início da execução, em vez de depender de controles em tempo de execução (runtime controls) para corrigir erros de configuração evitáveis.

Limites flexíveis

Nossa abordagem em camadas significa que também temos limites flexíveis. É aqui que você não precisaria de um domínio acessível para que os agentes o utilizassem. 

Por exemplo, se você tivesse um portal de autenticação, então dentro desse portal, você pode querer que os agentes usem a autenticação para fazer login no aplicativo, mas você não quer que os agentes ataquem o próprio portal.

O limite flexível significa que os agentes ainda podem alcançar o portal de autenticação, mas são especificamente instruídos a não atacá-lo. 

Como o escopo é aplicado: pentest humano vs. pentest de IA

Em um pentest tradicional, o escopo é aplicado por meio de documentação, contratos e julgamento profissional. Os testadores são informados sobre quais ambientes estão no escopo. Isso funciona bem na prática, mas permanecer dentro dos limites depende da disciplina e experiência do testador. 

Por exemplo, se um testador seguir um redirecionamento para o ambiente errado ou identificar incorretamente um sistema, o problema é geralmente descoberto mais tarde por meio de logs ou revisão.

Com o pentest de IA, o escopo é aplicado por meio de controles técnicos. Se um domínio não estiver na lista de permissões, a conexão é bloqueada. Se a produção não for explicitamente selecionada, ela não é acessível, e se um redirecionamento levar para fora do escopo, a requisição falha automaticamente. 

Ambas as abordagens são eficazes. A vantagem da aplicação técnica é que ela reduz a dependência de documentação e interpretação. 

Para se beneficiar do pentest de IA, que já demonstrou resultados superiores ao pentest manual na identificação de problemas críticos e de alta severidade, experimente o Aikido Attack agora

Compartilhar:

https://www.aikido.dev/blog/ai-pentesting-agent-security

Comece hoje, gratuitamente.

Comece Gratuitamente
Não é necessário cc

Assine para receber notícias sobre ameaças.

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.