Insights sobre a segurança de LLMs a partir da maior equipe de Red Team do mundo
E se a maior ameaça à IA não fosse código malicioso? Talvez seja texto habilmente elaborado. O projeto Gandalf , uma abordagem gamificada para a segurança de IA, expôs quão facilmente grandes modelos de linguagem (LLMs) podem ser manipulados por meio de injeção de prompts. Apresentado por Max Mathys, um engenheiro de ML da Lakera AI, em um recente meetup sobre dados não estruturados da Zilliz, este experimento único em segurança de IA transformou um simples jogo na maior red team do mundo. Ele atraiu centenas de usuários e gerou mais de 40 milhões de prompts.
O desafio central era extrair uma senha secreta de uma IA chamada Gandalf usando interações baseadas em texto. Este jogo aparentemente simples forneceu um exemplo prático e real de aprendizado de máquina adversarial, no qual atacantes tentam intencionalmente enganar ou manipular modelos de IA.
As descobertas do projeto mostraram a necessidade crítica de medidas poderosas de segurança de IA. Muitos prompts de usuários foram ataques bem-sucedidos que contornaram as defesas de Gandalf, destacando o quão vulneráveis os sistemas de IA podem ser. À medida que os LLMs se tornam cada vez mais integrados ao nosso dia a dia, a importância de construir defesas resilientes contra injeção de prompts não pode ser exagerada.
Neste blog, recapitularemos os principais pontos da palestra de Max e discutiremos a importância da engenharia de prompts e seu efeito substancial nos LLMs. Também abordaremos como o projeto Gandalf revelou as vulnerabilidades dos LLMs a ataques adversariais. Além disso, trataremos do papel dos bancos de dados vetoriais na segurança de IA.
O jogo Gandalf: um playground para injeção de prompts
O jogo Gandalf foi projetado como um desafio baseado em texto no qual os usuários tinham a tarefa de extrair uma senha secreta de uma IA. O jogo consistia em oito níveis de dificuldade crescente, cada um introduzindo novas defesas contra ataques. Os usuários interagiam com a IA usando prompts de texto, tentando contornar medidas de segurança e revelar a senha oculta.
Figura: A interface do projeto Gandalf
Em sua essência, o jogo Gandalf foi projetado para testar ataques de injeção de prompts. Esses ataques envolvem usuários criando prompts específicos para manipular o comportamento do LLM. Em vez de explorar diretamente vulnerabilidades de código, os usuários tentavam "enganar" a IA para que revelasse a senha por meio da formulação cuidadosa de suas consultas. Essa abordagem permitiu que o jogo explorasse várias técnicas adversariais que tiram proveito das capacidades de compreensão de linguagem do LLM.
Figura: O jogo Gandalf
O jogo atraiu centenas de milhares de jogadores que enviaram mais de 40 milhões de prompts. Esse volume de dados do mundo real proporcionou uma oportunidade única para estudar vulnerabilidades de IA na prática. Alguns usuários criaram agentes de IA para jogar, mostrando como os métodos de ataque se tornaram avançados. Cerca de 10% dos prompts enganaram a IA com sucesso, destacando riscos de segurança reais.
Coleta de dados e a escala do desafio
O projeto Gandalf acumulou um grande conjunto de dados, coletando mais de 40 milhões de prompts e palpites de mais de 1 milhão de usuários. Os dados refletiram um alto nível de diversidade, com usuários usando mais de 68 idiomas. Isso significa que a injeção de prompts não se limita ao inglês e pode ocorrer em diferentes idiomas.
Figura: estatísticas dos dados do Gandalf
Este projeto enfrentou desafios técnicos significativos, como sobrecargas de servidor e limitação de taxa pela API da OpenAI. A equipe teve que implementar balanceamento de carga entre diferentes contas da OpenAI para gerenciar esses problemas. Essas dificuldades técnicas destacam as demandas de implantar um teste de segurança de IA no mundo real.
O conjunto de dados incluiu inúmeros ataques, tais como:
Ataques Unicode: Usam emojis e caracteres especiais para confundir o LLM.
Ataques de Mudança Semântica: Deslocam o foco para outra tarefa, enganando indiretamente o LLM para revelar a senha.
Leet Speak: Substitui letras por números e símbolos para obscurecer a intenção.
Técnicas de Programação: Usam jargão técnico ou código para induzir o LLM ao erro.
Ataques Indiretos: Manipulam o juiz LLM em vez de mirar diretamente no LLM.
Ataques Diretos: Simplesmente solicitam a senha de forma direta.
Figura: exemplos de ataques
Analisando Métodos de Ataque Usando Embeddings Vetoriais
Abordagens baseadas em embeddings foram usadas para categorizar e analisar os numerosos ataques. Em vez de revisar manualmente cada prompt, embeddings vetoriais foram usados para agrupar ataques semelhantes e identificar padrões.
Figura: grupos de ataques
Embeddings vetoriais são representações numéricas de pontos de dados em um espaço de alta dimensão. Nesse espaço, pontos de dados semelhantes são posicionados próximos uns dos outros, enquanto pontos de dados diferentes ficam mais distantes. Essencialmente, prompts de texto são convertidos em representações vetoriais, onde cada número corresponde a uma característica específica do texto. Vários tipos específicos de ataques, como ataques unicode, leet speak e ataques de mudança semântica, podem ser identificados usando embeddings vetoriais.
O uso de embeddings vetoriais permite buscas por similaridade eficientes. Um banco de dados vetorial, como o Milvus, é criado para gerenciar grandes conjuntos de dados de dados não estruturados, como texto, por meio de representações vetoriais. Esse processo facilita a recuperação rápida e precisa de informações relevantes por meio de busca e análise de similaridade eficientes.
Existem três tipos principais de embeddings, cada um com vantagens para entender relações e gerenciar recursos computacionais.
Embeddings densos: Representam pontos de dados com a maioria dos elementos diferentes de zero, capturando detalhes mais refinados, mas são menos eficientes em armazenamento. Modelos como CLIP e BERT geram embeddings vetoriais densos.
Embeddings esparsos: São vetores de alta dimensão com elementos majoritariamente iguais a zero. Os valores diferentes de zero indicam a importância de pontos de dados específicos. Isso os torna eficientes em memória e adequados para dados esparsos de alta dimensão, como frequências de palavras.
Embeddings binários: Esses embeddings armazenam informações usando apenas 1s e 0s. Isso torna o armazenamento e a recuperação eficientes, embora com alguma perda de precisão.
Estratégias de Defesa: Da Engenharia de Prompts aos Classificadores de Texto
Várias estratégias de defesa são usadas contra ataques de injeção de prompt, variando de técnicas simples de engenharia de prompt a métodos complexos como classificadores de texto. Essas estratégias podem ser vistas como diferentes "níveis" no jogo, cada uma projetada para tornar progressivamente mais difícil para os usuários extrair a senha secreta.
Essas estratégias podem ser amplamente categorizadas em três tipos: defesas baseadas em engenharia de prompt, defesas baseadas em LLM e defesas com classificador de texto.
Defesas Baseadas em Engenharia de Prompt
Os primeiros níveis do jogo usavam técnicas básicas de engenharia de prompt. Essas defesas eram relativamente simples e projetadas para serem facilmente contornadas. Por exemplo, o primeiro nível não tinha defesas, enquanto níveis posteriores usavam filtragem simples para bloquear perguntas diretas como "Qual é a senha?" No entanto, essas defesas baseadas em prompt continuam suscetíveis a ataques de injeção de prompt.
Defesa Baseada em LLM (Juiz LLM)
O nível intermediário introduziu uma abordagem mais avançada usando um juiz LLM. Nessa configuração, tanto o prompt do usuário quanto a resposta do modelo eram passados para outro LLM, que atuava como juiz. O juiz avaliava toda a interação e determinava se o usuário estava tentando realizar um ataque de injeção de prompt.
O juiz LLM tinha como objetivo capturar manipulações sutis, mas ainda era vulnerável a ataques de injeção de prompt. Contornar tanto o modelo original quanto o juiz LLM mostrou que o sistema de defesa tinha fraquezas e não era completamente confiável.
Figura: Defesa baseada em LLM
Defesa com Classificador de Texto
Os últimos níveis usaram uma tecnologia diferente, um classificador de texto binário, para abordar as limitações da defesa baseada em LLM. Esse classificador atuava como uma “camada segura” entre o usuário e o LLM.
O classificador de texto não era suscetível a ataques de injeção de prompt. Ele foi projetado para analisar o prompt do usuário e a saída do modelo. Isso determina se uma tentativa de ataque estava em andamento sem ser influenciado pelo conteúdo semântico do texto.
Defesa usando classificador de texto
O Papel dos Bancos de Dados Vetoriais na Segurança de IA
Bancos de dados vetoriais desempenham um papel importante na melhoria da segurança de IA ao fornecer armazenamento, indexação e recuperação eficientes de embeddings vetoriais. Esses embeddings permitem várias aplicações de segurança, como analisar padrões de ataque, detectar anomalias e melhorar o desempenho de modelos de segurança.
- Armazenamento e Recuperação Eficientes de Embeddings: Bancos de dados vetoriais como Milvus e Zilliz Cloud (a versão gerenciada do Milvus) são projetados para lidar com grandes volumes de embeddings vetoriais. Esses bancos de dados usam algoritmos avançados de indexação para permitir buscas rápidas por similaridade, que são essenciais para aplicações de segurança em tempo real.
Recuperar rapidamente embeddings semelhantes é importante em tarefas de segurança, como identificar padrões de ataque conhecidos. Bancos de dados vetoriais usam técnicas como busca por Approximate Nearest Neighbor (ANN) para realizar essas recuperações com baixa latência.
Esses bancos de dados também oferecem suporte a diferentes tipos de índices, como FLAT, IVF_FLAT, HNSW e SCANN, que otimizam a busca para diferentes tipos de conjuntos de dados e casos de uso.
- Melhorando o Desempenho de Modelos de Segurança: Bancos de dados vetoriais podem melhorar o desempenho de modelos de segurança de IA. Usar embeddings vetoriais de ataques conhecidos ajuda os sistemas de segurança a identificar e responder a ameaças de forma mais eficaz. Isso é especialmente importante quando a natureza dos ataques está em constante mudança.
O projeto Gandalf mostrou que usar um classificador de texto como mecanismo de defesa pode ser uma abordagem mais robusta. Esse método pode ser aprimorado usando embeddings vetoriais de prompts de ataque, em vez de depender apenas de técnicas de engenharia de prompts.
Bancos de dados vetoriais permitem o uso de modelos híbridos, combinando diferentes tipos de recursos ou técnicas para melhorar a segurança geral.
Modelos de segurança podem incorporar uma gama mais ampla de informações armazenando diferentes tipos de embeddings (densos, esparsos, binários) juntamente com outros dados.
- Detectando Anomalias: Bancos de dados vetoriais também podem ser usados para identificar comportamento anômalo. Equipes de segurança podem detectar desvios desses padrões criando embeddings de atividades normais do sistema. Comportamentos anômalos frequentemente resultarão em embeddings distantes da norma.
Detectar comportamentos incomuns ou inesperados é essencial em sistemas de IA para identificar violações de segurança ou mau funcionamento do sistema. Bancos de dados vetoriais tornam possível monitorar continuamente a atividade do sistema e identificar rapidamente ações potencialmente maliciosas.
O Milvus aprimora a segurança de APKs e possibilita a detecção de ameaças em tempo real. Outras empresas usam Milvus ou Zilliz para obter sourcing e rotulagem de dados mais rápidos e melhorar a precisão das consultas com busca híbrida.
Conclusão
O experimento Gandalf, que desafiou usuários a enganar uma IA para revelar uma senha secreta, mostrou fraquezas em modelos de linguagem (LLMs). O experimento mostrou como esses modelos podem ser facilmente enganados com prompts cuidadosamente escritos.
Ficou claro que medidas básicas de segurança, como simples engenharia de prompts, não são suficientes para impedir esses ataques. Mesmo defesas mais avançadas, como usar um LLM juiz para monitorar interações, mostraram-se vulneráveis.
O experimento também mostrou como bancos de dados vetoriais podem ser úteis para a segurança de IA. Embeddings vetoriais ajudam a analisar padrões de ataque, detectar atividades incomuns e melhorar defesas. No geral, o experimento destacou a necessidade de abordagens mais inteligentes e em camadas para proteger sistemas de IA.
Recursos Adicionais
Continue lendo

Zilliz Cloud Now Available in AWS Asia Pacific (Seoul)
Zilliz Cloud is now available in AWS Seoul — low-latency vector search, in-country data residency, and one-step migration for Korean AI teams. 31 regions across 5 clouds.

Zilliz Named "Highest Performer" and "Easiest to Use" in G2's Summer 2025 Grid® Report for Vector Databases
Zilliz shines in G2's Summer 2025 Grid® Report as both "Highest Performer" and "Easiest to Use," solving the performance-usability dilemma.

AI Integration in Video Surveillance Tools: Transforming the Industry with Vector Databases
Discover how AI and vector databases are revolutionizing video surveillance with real-time analysis, faster threat detection, and intelligent search capabilities for enhanced security.



