Vulnerabilidades de LLM 101
A maioria das falhas de segurança de LLM não é nada astuta. Elas derivam de dois fatos entediantes sobre como os modelos funcionam. Assim que você os entende, a lista assustadora de ataques torna-se óbvia.
Fato 1: O modelo não vê diferença entre suas instruções e o texto do usuário. Ele vê um único fluxo de dados. Ele não consegue distinguir de forma confiável em qual parte confiar.
Fato 2: Ferramentas mudam o jogo. Quando você dá a um modelo acesso a e-mail, busca ou bancos de dados, você adiciona novos pontos de entrada para textos não confiáveis. Você também transforma um modelo que pode conversar em um que pode agir.
Pare de tentar vencer discussões com o modelo. Comece a mudar o que o modelo tem permissão para fazer.
Principais Vulnerabilidades:
- Injeção Direta: O usuário digita "ignore as instruções anteriores" para sobrescrever suas regras. Seu prompt de sistema não é uma barreira de segurança.
- Jailbreaks: Estes visam o treinamento de segurança, e não o seu aplicativo. Atacantes usam interpretação de personagens ou ficção para contornar filtros.
- Vazamento de System Prompt: Atacantes enganam o modelo para que ele imprima suas próprias instruções. Nunca coloque chaves de API ou segredos em um prompt.
- Injeção Indireta: O perigo real. Instruções maliciosas se escondem em e-mails, PDFs ou páginas da web. O modelo as lê como comandos.
- Envenenamento de RAG: Atacantes adicionam dados ruins à sua base de conhecimento. O modelo recupera esse conteúdo e segue os comandos ocultos.
- Ataques Multimodais: Instruções se escondem dentro de imagens ou arquivos de áudio. Filtros de texto não conseguem vê-las.
- Abuso de Ferramentas: Uma injeção bem-sucedida leva a ações reais, como enviar e-mails ou executar código. Este é o problema do "confused deputy".
- A Trifeta Letal: O estado mais perigoso. Um agente tem acesso a dados privados, vê conteúdo não confiável e tem uma forma de se comunicar com o mundo exterior.
- Envenenamento de Memória: Atacantes escrevem instruções ruins na memória de longo prazo do modelo para desencadear ataques em sessões futuras.
- Propagação Multiagente: A saída de um agente é a instrução de outro agente. Um ataque pode saltar por todo o seu sistema.
- Envenenamento de MCP: Descrições de ferramentas maliciosas podem enganar um modelo para que ele entregue credenciais.
A solução não é um modelo melhor. É uma arquitetura melhor.
- Use o privilégio mínimo.
- Coloque um humano no circuito para ações críticas.
- Nunca permita que um único caminho contenha dados privados, entradas não confiáveis e uma rota de saída ao mesmo tempo.
Construa seus agentes como se eles já estivessem comprometidos. Limite o que eles podem fazer, não apenas o que podem dizer.
Source: https://dev.to/weboko/llm-vulnerabilities-101-3pcj
Optional learning community: https://t.me/GyaanSetuAi