Owasp Top 10 V2
OWASP Top 10 para Aplicações Baseadas em Modelos de Linguagem de Grande Escala (LLMs) — Versão 2 (2025)
O OWASP Top 10 para Aplicações que utilizam Modelos de Linguagem de Grande Escala (LLMs) é uma lista abrangente que identifica as vulnerabilidades de segurança mais críticas associadas a essas tecnologias emergentes. Esta iniciativa tem como objetivo fomentar a conscientização entre desenvolvedores, cientistas de dados e profissionais de segurança sobre os riscos inerentes ao uso de LLMs, além de oferecer diretrizes para mitigá-los de forma eficaz. A seguir, estão listadas as principais vulnerabilidades identificadas:
- Injeção de Prompt: Atacantes podem manipular prompts de entrada para influenciar as respostas do modelo de maneira prejudicial.
- Divulgação de Informações Sensíveis: LLMs podem vazar dados confidenciais por meio de respostas inesperadas, seja por construção inadequada de prompts ou falhas em mecanismos de isolamento.
- Vulnerabilidades na Cadeia de Suprimentos: O uso de bibliotecas, plugins ou fontes de dados externas pode comprometer a segurança do sistema.
- Envenenamento de Dados e Modelo: Dados manipulados podem influenciar o comportamento do modelo, inserindo vieses ou comandos maliciosos.
- Manipulação Insegura da Saída: Saídas do modelo que não passam por validações podem desencadear execuções não autorizadas ou exibir conteúdo perigoso.
- Permissão Excessiva: LLMs que atuam com autonomia irrestrita podem executar ações críticas sem o devido controle.
- Vazamento de Prompt do Sistema: Prompts internos podem ser expostos e explorados, comprometendo regras e instruções da aplicação.
- Fragilidades em Embeddings e Vetores: Dados embutidos podem revelar informações sensíveis ou ser usados para ataques indiretos.
- Desinformação: Respostas falsas, alucinações ou informações sem base podem levar a decisões incorretas.
- Consumo Ilimitado de Recursos: O uso descontrolado de recursos pode causar negação de serviço ou elevar custos operacionais.
Dentre estas vulnerabilidades, algumas são de responsabilidade da Atos, outras são da Cloud, e algumas podem não ser aplicáveis ao projeto em questão. Na sequência, exporemos cenários específicos e detalharemos as abordagens propostas para mitigar os riscos identificados.
1. Injeção de Prompt (Prompt Injection)
Cenários Possíveis
- Injeção direta via chatbot, resultando em ações maliciosas.
- Instruções escondidas em arquivos externos lidos pelo modelo.
- Comandos divididos em múltiplos campos de entrada para burlar detecção.
- Instruções disfarçadas em imagens (multimodal).
Ações de Prevenção
- Restringir o comportamento do modelo com prompts de sistema bem definidos.
- Definir formatos de saída esperados e validá-los programaticamente.
- Filtrar entradas e saídas com regras semânticas e verificação de contexto.
- Aplicar privilégio mínimo e tokens separados para cada função.
- Aprovação humana para ações de risco.
- Identificar conteúdo externo e tratá-lo com precaução.
- Realizar testes adversariais contínuos.
2. Divulgação de Informações Sensíveis
Cenários Possíveis
- Vazamento de informações do sistema via falhas de prompt.
- Exposição de dados proprietários em respostas inesperadas.
- Uso de embeddings que vazam dados originais.
Ações de Prevenção
- Filtrar conteúdo sensível na entrada e saída.
- Reduzir persistência de histórico de conversas.
- Evitar treinar ou ajustar o modelo com dados sensíveis.
- Monitorar saídas em ambientes de produção.
3. Vulnerabilidades na Cadeia de Suprimentos (Supply Chain)
Cenários Possíveis
- Componentes ou plugins inseguros.
- Bibliotecas de embeddings vulneráveis.
- Dados ou fontes externas maliciosas.
Ações de Prevenção
- Usar apenas fontes e plugins auditados.
- Atualizar frequentemente bibliotecas e modelos.
- Monitorar dependências com ferramentas de segurança.
4. Envenenamento de Dados e Modelo (Data and Model Poisoning)
Cenários Possíveis
- Injeção de vieses no modelo via ajustes contínuos.
- Dados contaminados usados em re-treinamentos.
- Uso de RAG com fontes manipuladas.
Ações de Prevenção
- Treinar apenas com dados verificados.
- Validar documentos usados em RAG.
- Separar fontes confiáveis e não confiáveis.
- Realizar auditorias regulares no comportamento do modelo.
5. Manipulação Insegura da Saída (Improper Output Handling)
Cenários Possíveis
- Saída gera código ou comandos maliciosos.
- RAG ou plugins executam ações baseadas em saída do modelo.
- Saídas com HTML/JS causam XSS.
Ações de Prevenção
- Tratar toda saída como entrada não confiável.
- Validar e sanitizar qualquer conteúdo antes de execução ou exibição.
- Aplicar codificação e limites de escopo nas respostas.
6. Permissão Excessiva (Excessive Agency)
Cenários Possíveis
- LLM atua como agente com acesso irrestrito.
- Execução de ações em nome do usuário sem supervisão.
Ações de Prevenção
- Separar o LLM do executor de ações (por exemplo, via camada intermediária).
- Implementar controle de acesso baseado em contexto.
- Requerer confirmação para decisões críticas.
7. Vazamento de Prompt do Sistema (System Prompt Leakage)
Cenários Possíveis
- Prompt interno exposto via engenharia social.
- Respostas revelam regras ou instruções internas.
Ações de Prevenção
- Evitar incluir dados sensíveis ou operacionais em prompts.
- Detectar e bloquear respostas que revelem regras internas.
- Isolar variáveis e instruções críticas fora do alcance do modelo.
8. Fragilidades em Embeddings e Vetores (Vector and Embedding Weaknesses)
Cenários Possíveis
- Vetores permitem inferência de dados originais.
- Exploração de semelhança semântica para injeções indiretas.
Ações de Prevenção
- Usar hashing, truncamento ou vetorização com técnicas de anonimização.
- Validar similaridade semântica antes de retornar contextos.
- Evitar exposição direta de vetores.
9. Desinformação (Misinformation)
Cenários Possíveis
- LLMs alucinam fatos com tom autoritário.
- Respostas falsas são usadas para decisões críticas.
Ações de Prevenção
- Exigir fontes e justificativas em respostas.
- Validar conteúdo com serviços externos ou regras heurísticas.
- Limitar o escopo de conhecimento do modelo.
10. Consumo Ilimitado de Recursos (Unbounded Consumption)
Cenários Possíveis
- Ataques de negação de serviço via requisições complexas.
- Uso abusivo que gera custos elevados.
Ações de Prevenção
- Definir cotas por usuário e limites de tempo/resposta.
- Interromper execuções longas ou suspeitas.
- Monitorar uso com alertas proativos.
Notas Finais
Esta versão 2.0 considera os avanços no uso de arquiteturas com agentes, modelos multimodais e pipelines baseados em RAG. Atribuímos responsabilidades conforme o modelo de aplicação:
- Atos: validação da entrada, moderação de saída, controle de permissões, escolha de plugins.
- Cloud Provider segurança do modelo base, isolamento de instâncias, atualizações automáticas.
- Cliente: definição do contexto e fontes confiáveis, políticas de uso, revisão de prompts de sistema.
A aplicação segura de LLMs é responsabilidade compartilhada. Essa documentação oferece uma base atualizada e contextualizada para projetos que envolvam modelos generativos, com foco em segurança, rastreabilidade e eficiência operacional.