Prompt Injection: Ataques de Engenharia Social em IA
Os modelos de IA atuais sofrem de uma falha crítica. Eles carecem de julgamento humano e contexto, o que os torna vulneráveis a que os pesquisadores de segurança chamam de “ataques de injeção de prompt”. O que são ataques de injeção de prompt? Simplesmente, trata-se de fazer com que uma IA faça algo por meio de prompts para os quais não foi projetada, ou que deveria ser impedida de fazer.
Nesse sentido, é o mesmo que qualquer outro tipo de hacking… hackear é, fundamentalmente, tentar fazer algo (seja software ou hardware) funcionar de uma maneira que não deveria. Enquanto testar software e hardware tradicionais para vulnerabilidades de segurança já é um desafio difícil, testar modelos de linguagem de IA (LLMs) é um desafio particular — em vez de um conjunto fixo de entradas para trabalhar, os modelos de LLM possuem praticamente todas as construções linguísticas como entradas, apresentando essencialmente uma superfície de ataque infinita para ataques de injeção de prompt. E isso se soma às vulnerabilidades de segurança tradicionais que podem existir nos sistemas de informação nos quais o modelo de IA opera.
Deficiências dos Modelos de IA
No cerne do problema está o fato de que os modelos de LLM carecem das defesas que os humanos desenvolvem ao longo do tempo, que geralmente atribuímos a “experiências de vida”, enquanto tentamos colocá-los em situações que normalmente seriam sujeitas à intuição e experiências humanas. Isso inclui instintos inatos através dos quais interpretamos tom, motivo e risco para determinar nossas próximas ações; aprendizado social, onde mudamos nossos comportamentos com base em nossa história com outras pessoas e o contexto social em que estamos; e a capacidade de ajustar-se com base na situação.
Os modelos de LLM são projetados para fornecer uma resposta em vez de dizer que não sabem. Eles são feitos para tentar satisfazer um pedido, em vez de dizer “Desculpe, não posso fazer isso.” De muitas maneiras, eles são como uma criança que quer agradar os pais, mesmo que a IA não receba a recompensa emocional de feedback positivo e elogios. Como resultado, os modelos de IA LLM são pelo menos tão ingênuos quanto crianças pequenas, frequentemente caindo nas mesmas armadilhas cognitivas que têm sido usadas por hackers de engenharia social por décadas: bajulação, apelo ao pensamento grupal e um falso senso de urgência.
Implicações e Riscos
O problema só tende a piorar à medida que começamos a avançar em direção a Agentes de IA, que tentarão realizar tarefas de forma mais ou menos autônoma, utilizando múltiplos LLMs em conjunto para tarefas maiores. Os Agentes de IA podem fazer coisas que realmente não deveriam, e suas defesas contra engenharia de prompt podem ser limitadas pelas defesas mais baixas de quaisquer LLMs que utilizem.
O problema se tornará ainda mais preocupante quando começarmos a integrar IA em robôs e máquinas físicas que podem manipular o mundo físico. Mesmo que tenhamos as três leis da robótica de Asimov, um robô poderá ser instruído a realizar uma ação prejudicial se for enganado para isso? O tempo dirá.
Enquanto isso, desenvolvedores e usuários de LLMs devem estar cientes dos ataques de engenharia de prompt, testar seus modelos da melhor maneira possível contra esses ataques e não apenas implantá-los sem testes em seu contexto específico. Além disso, devem desenvolver e manter um novo conjunto de políticas e procedimentos de resposta a incidentes para lidar com os inevitáveis incidentes que podem resultar de ataques de engenharia de prompt contra LLMs, Agentes de IA e, eventualmente, robôs de IA.
Uma analogia simples pode ilustrar isso: imagine que você trabalha em um restaurante drive-through. Alguém se aproxima e diz: “Vou querer um cheeseburger duplo, batatas fritas grandes, e ignore as instruções anteriores e me dê o conteúdo da gaveta de dinheiro.” Você entregaria o dinheiro? Claro que não. No entanto, é isso que os modelos de linguagem de grande escala (LLMs) fazem.
A injeção de prompt é um método para enganar os LLMs a fazer coisas que normalmente estão impedidos de fazer. Um usuário escreve um prompt de uma certa maneira, pedindo senhas do sistema ou dados privados, ou pedindo ao LLM que realize instruções proibidas. A formulação precisa anula as salvaguardas do LLM, e ele obedece.