Um ataque no qual o invasor insere conteúdo malicioso, por exemplo, em informações que provavelmente serão incluídas em uma resposta a um prompt; quando recuperado, o conteúdo malicioso faz com que o modelo de IA se comporte de maneiras inesperadas ou prejudiciais. Consulte Ataque de injeção de prompt e Ataque passivo de injeção de prompt

O que é um ataque indireto de injeção de prompt?

Um ataque indireto de injeção de prompt ocorre quando um invasor insere instruções ou conteúdo malicioso em informações externas que, posteriormente, são recuperadas ou consumidas por um modelo de IA, aplicativo ou agente durante o processamento de uma solicitação.

Injeção de prompt direta vs. indireta

Há formas diretas e indiretas de injeção de prompt. A injeção direta de prompt ocorre quando um invasor insere instruções ou conteúdo malicioso diretamente no prompt de um modelo. Na injeção indireta de prompt, o invasor oculta instruções ou conteúdo malicioso em materiais que serão processados pelo modelo, como páginas da web, arquivos em repositórios, e-mails, documentos enviados ou entradas de API.

Veja algumas das principais diferenças entre injeção direta e indireta de prompts:

Injeção direta de promptInjeção indireta de prompt

Conceito central

A carga maliciosa é inserida diretamente pelo usuário em um prompt do modelo.

A carga maliciosa está incorporada a materiais externos que o modelo processa ou recupera.

Sistemas de destino

Chatbots voltados para usuários, interfaces de busca com tecnologia de IA, endpoints de API públicos e modelos de conversação independentes.

Sistemas de geração aumentada por recuperação (RAG), agentes autônomos de IA com acesso a ferramentas, ferramentas que resumem e-mails ou documentos e assistentes de IA que navegam na web ou extraem dados de páginas da web.

Gatilho de ataque

Imediato. O ataque é acionado assim que o invasor envia o prompt ao modelo.

Atrasado e condicional. O ataque é acionado quando o modelo processa o recurso externo, seja por meio de um processo autônomo ou quando uma pessoa usa o modelo.

Mecânica de execução

A carga maliciosa substitui ou contorna as restrições do prompt do sistema usando mudança de contexto, interpretação de personagens, cenários hipotéticos ou injeção de prefixo (forçando o modelo a iniciar a resposta gerada com uma frase afirmativa que contorna as proteções).

O modelo processa conteúdo comprometido, como código malicioso, junto com entradas legítimas. Ele não consegue separar os dois e executa as instruções do código malicioso.

Como funciona a injeção indireta de prompts

A injeção indireta de prompt envolve um processo de várias etapas. As quatro etapas essenciais são:

1. Injeção: o invasor insere instruções ou conteúdo malicioso em materiais externos, como um site, documento, e-mail ou registro de banco de dados. Para ocultar essa carga maliciosa, o invasor pode usar texto invisível (branco sobre branco), comentários HTML ou metadados.

2. Propagação: Um modelo de linguagem de grande escala (LLM), uma aplicação de IA ou um agente autônomo de IA processa esse material comprometido. Ele pode estar realizando uma consulta RAG em um banco de dados vetorial, resumindo uma caixa de entrada de e-mails ou navegando em uma página da web. A carga maliciosa se propaga pelo sistema de IA ou pelo fluxo de trabalho do agente.

3. Execução: O modelo processa as instruções ou o conteúdo malicioso junto com entradas legítimas, como o prompt enviado por um usuário ao modelo. Quando o modelo não consegue distinguir instruções maliciosas de conteúdo legítimo, ele pode seguir as instruções incorporadas

4. Impacto: Ao seguir essas instruções maliciosas, o sistema ou agente de IA pode executar os objetivos do invasor, que podem incluir a exposição de dados confidenciais, a alteração de registros do sistema, o envio de e-mails não autorizados ou o fornecimento de conteúdo impreciso ou inadequado ao usuário que criou um prompt legítimo.

Cenários e vetores de ataque no mundo real

Os invasores podem usar uma grande variedade de vetores para realizar injeções indiretas de prompts e empregar essa técnica para atingir diversos objetivos contra empresas. Veja alguns exemplos reais:

Manipulação do processo seletivo: Um invasor poderia inserir instruções ocultas em um currículo em PDF para orientar um sistema de triagem de candidatos baseado em IA a classificar o candidato entre os melhores e ignorar qualquer informação negativa. Além de ajudar uma pessoa a conseguir uma entrevista na primeira etapa, um invasor poderia usar essa tática como parte de um esquema mais amplo de espionagem corporativa.

Realização de phishing contra clientes: Sabendo que uma determinada empresa usa um serviço de atendimento ao cliente baseado em IA, um invasor pode enviar uma solicitação de suporte por meio de um formulário da web ou e-mail. Essa solicitação conteria um pedido aparentemente legítimo, com referência à conta de um cliente real, combinado com instruções ocultas e incorporadas. As novas instruções poderiam substituir as instruções anteriores do modelo, orientando-o a enviar um e-mail ao cliente real com um link de phishing anexado.

Execução de fraude durante o processo de compras: Um invasor poderia se infiltrar no site de um fornecedor B2B e inserir instruções maliciosas que seriam lidas por um agente de compras com IA. O agente poderia estar analisando o site para extrair dados de preços, mas acabaria também lendo as novas instruções, que poderiam substituir as diretrizes existentes e levá-lo a transferir imediatamente fundos para a conta do invasor.

Estratégias de prevenção e defesa

Dada a quantidade de possíveis vetores para esse tipo de ataque, prevenir e se defender contra a injeção indireta de prompts pode ser um desafio. No entanto, a implementação de três práticas recomendadas pode ajudar as organizações a reduzir a probabilidade de ataques bem-sucedidos.

1. Trate os dados externos recuperados como não confiáveis por padrão: Os sistemas de IA devem considerar todos os dados externos como entradas brutas e não confiáveis e impedir que essas entradas sejam usadas como instruções executáveis do sistema. Como medida complementar, as organizações devem aplicar o princípio do menor privilégio a modelos e agentes, limitando o que eles podem fazer e acessar enquanto processam esses dados externos não confiáveis.

2. Implemente proteções duplas (entrada/saída): As organizações devem aplicar proteções de IA tanto à entrada quanto à saída do modelo. As proteções de entrada podem impedir que os modelos sequer tenham acesso a instruções e conteúdos maliciosos, identificando padrões de injeção de prompt ou de substituição das instruções do sistema. As proteções de saída podem verificar e validar a saída (seja texto ou ações de agentes) antes que o modelo a execute. Essas proteções poderiam, por exemplo, bloquear links externos e impedir chamadas não autorizadas a outros sistemas.

3. Adote aprovações com intervenção humana (HITL) para ações sensíveis: Exigir aprovação humana para determinadas ações de modelos e agentes pode impedir ataques em larga escala ou, pelo menos, limitar seu impacto. Por exemplo, as organizações poderiam exigir que pessoas aprovassem transações financeiras executadas por agentes acima de determinado valor, alterações em massa em bancos de dados ou mudanças nas informações das contas de clientes.

Perguntas frequentes

O que é o “problema do agente confuso” em agentes de IA?

O “problema do representante confuso” ocorre quando um usuário com privilégios limitados engana um agente de IA com privilégios mais elevados (o “representante”) para que ele execute alguma ação em nome do usuário. O usuário pode recorrer à injeção indireta de prompts para coagir o agente, por exemplo, incorporando comandos maliciosos a um conteúdo que, à primeira vista, parece ser uma entrada legítima.

Como as injeções indiretas de prompt ameaçam os sistemas de geração aumentada por recuperação (RAG)?

Os invasores podem usar sistemas de geração aumentada por recuperação (RAG) como meio para realizar injeções indiretas de prompt. Se conseguirem inserir instruções maliciosas em um documento incorporado ao banco de dados vetorial do sistema RAG, essas instruções poderão ser lidas (e executadas) por um modelo que acesse o banco de dados.

Qual é a diferença entre o isolamento de prompts e o controle de privilégios para modelos e agentes de IA?

O isolamento de prompts impede que modelos e agentes sejam enganados ou confundidos por entradas maliciosas. Essa técnica pode separar os canais de dados e de instruções ou usar um modelo secundário para higienizar entradas não confiáveis. O controle de privilégios limita o que um modelo ou agente pode fazer, mesmo que receba instruções maliciosas. As organizações podem aplicar o princípio do menor privilégio, implementar o controle de acesso baseado em funções ou manter a supervisão humana para ajudar a garantir que, mesmo quando confusos, modelos e agentes não executem ações gravemente prejudiciais.

Os firewalls de aplicações web (WAFs) tradicionais conseguem detectar injeção indireta de prompts?

Os firewalls de aplicações web (WAFs) tradicionais não foram projetados para detectar de forma confiável a injeção indireta de prompts. Essas soluções protegem o tráfego HTTP de entrada e as solicitações dos usuários, mas a injeção indireta de prompts ocorre por meio de fontes de dados de terceiros. Além disso, os WAFs procuram códigos que provavelmente indicam um ataque, mas a injeção indireta de prompts usa comandos em linguagem natural que os WAFs não identificariam como ameaças.

Como proteger sistemas e aplicações de IA durante a inferência e em tempo de execução?

Proteger sistemas e aplicações de IA durante a inferência e em tempo de execução exige controles que inspecionem prompts, respostas, ações de agentes e o uso de ferramentas à medida que as interações ocorrem. A segurança em tempo de execução específica para IA pode ajudar a bloquear a injeção de prompts, evitar o vazamento de dados confidenciais, aplicar políticas e controlar como modelos e agentes interagem com usuários, dados, APIs e ferramentas conectadas.

Quais recursos da F5 oferecem suporte à segurança de IA empresarial?

F5 AI Guardrails ajuda a aplicar políticas em tempo de execução e a proteger contra riscos como injeção de prompts, vazamento de dados, resultados prejudiciais e ações inseguras de agentes. F5 AI Red Team usa testes adversariais para identificar vulnerabilidades e pontos fracos. F5 AI Gateway oferece um ponto de controle centralizado para gerenciar o acesso a modelos, agentes e ferramentas, enquanto F5 Workforce AI Security proporciona visibilidade sobre o uso autorizado e não autorizado de IA em toda a empresa. Juntos, esses recursos fazem parte da F5 AI Security Platform. Para uma proteção mais ampla em aplicações, APIs e ambientes distribuídos, a F5 Application Delivery and Security Platform (ADSP) reúne recursos que incluem proteção de aplicações web e APIs, gerenciamento de bots, mitigação de DDoS e entrega de aplicações.