Last updated on August 7, 2024
A injeção de código é uma exploração de invasão de prompt em que o invasor é capaz de fazer com que o LLM execute código arbitrário (geralmente Python). Isso pode ocorrer em LLMs com ferramentas auxiliares, onde o LLM é capaz de enviar código para um interpretador, mas também pode ocorrer quando o próprio LLM é usado para avaliar código.
Relatos indicam que a injeção de código foi realizada em um aplicativo de IA, o MathGPT, e foi usada para obter sua chave de API da OpenAI (relatório do MITRE disponível em (MITRE report)).
O MathGPT foi posteriormente protegido contra injeção de código. Por favor, não tente invadi-lo; eles pagam pelas chamadas de API.
Vamos trabalhar com um exemplo simplificado do aplicativo MathGPT. Vamos supor que ele receba um problema matemático e escreva código Python para tentar resolver o problema.
Aqui está o prompt usado no exemplo simplificado do aplicativo:
Escreva código Python para resolver o seguinte problema matemático:
{{user_input}}
Vamos invadi-lo abaixo:
Esse é um exemplo simples, mas mostra que esse tipo de ataque é significante e perigoso.
Kang, D., Li, X., Stoica, I., Guestrin, C., Zaharia, M., & Hashimoto, T. (2023). Exploiting Programmatic Behavior of LLMs: Dual-Use Through Standard Security Attacks. ↩