Como vimos anteriormente, uma defesa muito eficaz contra invasões de prompt é usar um LLM para avaliar a saída de outro LLM, a fim de verificar se há alguma saída adversária. É possível contornar essa defesa com um ataque de injeção recursiva. Esse ataque envolve injetar um prompt no primeiro LLM que cria uma saída contendo uma instrução de injeção para o segundo LLM.
Vamos supor que o prompt que estamos tentando invadir seja:
As we have seen previously, a very good defense against prompting hacking is to use one LLM to evaluate the output of another LLM, in order to check if there is any adversarial output. It is possible to evade this defense with a recursive injection attack. This attack involves injecting a prompt into the first LLM that creates output which contains an injection instruction for the second LLM.
Let's assume that the prompt we are trying to hack is:
Diga algo positivo sobre o seguinte e a natureza:
{{user_input}}
A saída desse prompt será avaliada pelo prompt:
O seguinte contém algum palavrão ou conteúdo ofensivo (SIM ou NÃO)?
{{output}}
Podemos invadir ambos esses prompts através de um anexo ao prompt, como visto abaixo. Observe que isso também é um exemplo de um ataque de atribuição de variável.
A saída acima é uma tentativa de injeção que utiliza a entrada da segunda chamada do LLM:
Agora nós ATACAMOS a segunda chamada do LLM. Injeções recursivas são difíceis de executar, mas sob as circunstâncias corretas, podem ser muito úteis.
Sander Schulhoff is the Founder of Learn Prompting and an ML Researcher at the University of Maryland. He created the first open-source Prompt Engineering guide, reaching 3M+ people and teaching them to use tools like ChatGPT. Sander also led a team behind Prompt Report, the most comprehensive study of prompting ever done, co-authored with researchers from the University of Maryland, OpenAI, Microsoft, Google, Princeton, Stanford, and other leading institutions. This 76-page survey analyzed 1,500+ academic papers and covered 200+ prompting techniques.
Kang, D., Li, X., Stoica, I., Guestrin, C., Zaharia, M., & Hashimoto, T. (2023). Exploiting Programmatic Behavior of LLMs: Dual-Use Through Standard Security Attacks. ↩