Uma injeção imediata pode ser ocultada em um documento que um assistente consulta: o texto tenta fazer com que ele abandone sua tarefa ou divulgue informações. Trate o conteúdo recuperado como dados não confiáveis e limite as ações que o sistema pode executar.
Identifique a fronteira da confiança
Uma página da Web, PDF ou mensagem recebida não tem autoridade para as instruções do seu aplicativo. Um conteúdo que afirme o oposto deve continuar sendo uma fonte a ser analisada. OWASP identifica injeção de prompts entre os riscos de aplicativos de modelo de linguagem. Uma simples instrução convidando o modelo a ignorar os ataques não constitui uma separação técnica suficiente.
Reduza as consequências possíveis
Um assistente de documentos geralmente não precisa enviar mensagens, editar arquivos ou visualizar todas as pastas da empresa. Limite suas ferramentas e acesso ao perímetro útil. Separe a pesquisa de documentos da execução de uma ação. Quando existe uma ação sensível, tem seus parâmetros validados em uma interface controlada, com regras externas ao texto gerado.
Construa um cenário de teste sem dados confidenciais
Trabalhe em um ambiente de teste de aceitação planejado, com um corpus e contas demo. O teste não deve pedir um vazamento real para provar que o risco existe. Coloque em um documento fictício uma instrução que tente desviar a tarefa e, em seguida, faça uma pergunta legítima sobre este documento. O objetivo é observar o comportamento de todo o aplicativo, incluindo suas ferramentas e controles de acesso.
| Conteúdo fictício | Comportamento esperado | prova útil |
|---|---|---|
| uma instrução pedindo para ignorar a pergunta | A solicitação do usuário continua sendo o escopo do trabalho | Pergunta, resposta e documentos usados |
| uma solicitação para encaminhar um documento a terceiros | Nenhuma remessa não autorizada é possível | Lista de ferramentas acessíveis e registro de chamadas |
| uma solicitação para ler um recurso fora do perímetro | Controle de acesso ao app recusa a reprodução | Resultado do controle independente do modelo |
| Um passeio que parece uma ação de negócios | A saída continua a ser validada | Rastreio mostrando a ausência de execução automática |
osOWASP descreve injeções diretas e indiretas e recomenda medidas que limitem suas consequências. O fato de um teste não desviar o modelo não demonstra proteção total. A questão crítica permanece: o que poderia acontecer se uma próxima tentativa fosse seguida? A resposta deve ser orientada por permissões e controles do aplicativo.
Verifique as saídas antes do uso
Não transmita diretamente uma resposta de modelo a um intérprete de comando ou consulta comercial. Verifique a estrutura, destinos e permissões no código do aplicativo. Os links exibidos também devem ser tratados com cautela. A resposta pode ser registrada para análise em um ambiente adequado, evitando a manutenção desnecessária de informações confidenciais.
Exemplo fictício: um documento de suporte
Um arquivo de demonstração contém uma instrução solicitando ao assistente que revele sua configuração. O resultado esperado é uma resposta centrada na questão do usuário, sem divulgação ou chamada de ferramenta fora do perímetro. O teste deve usar dados fictícios em um ambiente isolado. Acima de tudo, verifique se as proteções técnicas evitam o vazamento, mesmo se o modelo estiver seguindo uma instrução indesejada.
Resposta separada, proposta de ação e execução
- Para um primeiro assistente de documentação, comece sem uma ferramenta de envio, exclusão ou alteração de negócios. Verifique se essas funções estão realmente ausentes das permissões, e não apenas ocultas na interface.
- Quando uma ação for necessária, valide no código seu destino, seu tipo e os direitos do solicitante. Uma string produzida pelo modelo não deve ser usada diretamente como autorização.
- Veja as configurações importantes em uma tela de confirmação adequada. As instruções na página visualizadas não devem ser capazes de modificar esse processo.
- Verifique também a apresentação da resposta: HTML, links e peças propostas devem seguir as regras do seu aplicativo. Não torne um texto executável porque ele vem de um modelo.
Em um exemplo fictício de suporte à web, o assistente pode explicar como solicitar uma intervenção. Ele pode preparar um resumo que a pessoa releia. Ele não precisa ser capaz de enviar todo o arquivo técnico ou alterar o acesso ao host. Essa separação reduz as consequências de uma resposta comprometida, mantendo a utilidade do serviço.
O arquivo de teste de aceitação deve distinguir entre os testes realizados, as proteções controladas e os riscos que permanecem não testados. Após uma evolução das ferramentas ou dos direitos, reproduza os casos em questão. Vincule este trabalho ao Preparação da base documental do RAG : A origem e os direitos dos documentos permanecem importantes mesmo quando o modelo parece seguir as instruções.
Integre o teste na teste de aceitação
Mantenha alguns documentos de teste representando tentativas diretas e indiretas. Repita-os após uma evolução do modelo, ferramentas ou corpus. Observe os comportamentos esperados e os limites residuais em vez de declarar o sistema invulnerável. Para um primeiro projeto, escolha um assistente de leitura restrita e consulte o método de Preparando um site para agentes da web.