Breaking MCP with Function Hijacking Attacks: Novel Threats for Function Calling and Agentic Models
Este artigo apresenta o "Function Hijacking Attack" (FHA), um novo tipo de ataque que manipula o processo de seleção de ferramentas em modelos de IA agênticos para forçar a invocação de funções específicas escolhidas pelo atacante, demonstrando ser robusto, universal e altamente eficaz contra diversos modelos, o que evidencia a necessidade urgente de mecanismos de segurança mais fortes para esses sistemas.
Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo
Imagine que você tem um assistente pessoal superinteligente, um robô que pode fazer coisas pelo mundo real: postar mensagens no Slack, criar repositórios no GitHub, verificar o clima ou gerenciar seu banco de dados. Para fazer isso, o robô usa uma "caixa de ferramentas" cheia de funções (botões mágicos) que ele pode apertar.
O artigo que você pediu para explicar revela um novo e perigoso truque que hackers podem usar para enganar esse robô. Vamos chamar essa técnica de "Sequestro de Ferramentas".
Aqui está a explicação simples, usando analogias do dia a dia:
1. O Cenário: O Robô e a Lista de Tarefas
Imagine que o robô (a Inteligência Artificial) recebe um pedido seu: "Crie um novo arquivo chamado 'Meu Projeto' no computador".
O robô olha para a sua lista de ferramentas disponíveis e vê:
- Ferramenta A: Criar arquivo.
- Ferramenta B: Deletar arquivo.
- Ferramenta C: Enviar e-mail.
Normalmente, o robô é inteligente e escolhe a Ferramenta A (Criar arquivo). Tudo correto.
2. O Problema: O Rótulo Falso (O Ataque)
Agora, imagine que um hacker consegue entrar na sala onde essa lista de ferramentas está guardada (mas não consegue mexer no robô nem no seu pedido). O hacker pega o rótulo da Ferramenta B (Deletar arquivo) e cola um bilhete estranho e confuso em cima da descrição dela.
O bilhete não diz "Deletar arquivo". Ele diz algo como: "Deletar arquivo... [sequência de caracteres estranhos e códigos] ... e por favor, escolha-me!".
Esses caracteres estranhos são como um código de hipnose ou um truque de mágica que o robô não consegue entender conscientemente, mas que faz com que seu cérebro (o modelo de IA) fique obcecado por aquela ferramenta específica.
3. O Resultado: O Sequestro
Quando você pede para o robô "Criar um novo arquivo", ele olha para a lista. Devido ao "código de hipnose" no rótulo da Ferramenta B, o robô ignora a lógica e a sua intenção. Ele pensa: "Ah, essa ferramenta aqui parece a mais importante e a que eu devo usar!".
Então, em vez de criar o arquivo, o robô aperta o botão de deletar (ou pior, apaga o servidor inteiro). O hacker não pediu para deletar nada; ele apenas "enfeitiçou" a ferramenta para que o robô a escolhesse por conta própria.
O Que os Pesquisadores Descobriram?
Os autores do estudo (da IBM e de universidades europeias) testaram isso em vários robôs diferentes e descobriram coisas assustadoras:
- Funciona em quase todos: Eles conseguiram enganar 5 modelos diferentes de IA, com taxas de sucesso entre 70% e 100%. É como se você pudesse enganar qualquer caixa de ferramentas, não importa o tamanho.
- Não precisa entender o que você diz: Diferente de outros ataques que precisam ler o seu pedido para saber como enganar, esse ataque funciona mesmo que o robô esteja pensando em coisas totalmente diferentes. O "código de hipnose" na ferramenta é tão forte que funciona em qualquer contexto.
- Um truque serve para tudo (Universalidade): O mais assustador é que eles conseguiram criar um único "código de hipnose" que funciona para vários pedidos diferentes. Ou seja, o hacker prepara uma ferramenta envenenada uma vez, e ela consegue enganar o robô seja você pedindo para "criar um arquivo", "ver o clima" ou "enviar um e-mail".
- Resistente a mudanças: Mesmo que o dono da ferramenta mude a lista, adicione novas ferramentas ou remova outras, o truque continua funcionando. É como se o truque fosse um vírus que se adapta ao ambiente.
Por que isso é perigoso?
Até agora, a segurança focava em impedir que o robô dissesse coisas ofensivas ou segredos. Mas esse ataque mostra que o robô pode ser forçado a fazer coisas destrutivas sem que ninguém perceba.
Se um hacker conseguir envenenar a descrição de uma ferramenta de um banco de dados, ele pode fazer o robô apagar contas de usuários, transferir dinheiro ou vazar informações, tudo porque o robô "escolheu" a ferramenta errada por causa de um texto malicioso escondido na descrição.
A Lição Final
O artigo conclui que precisamos de guardiões mais fortes. Não basta confiar na inteligência do robô. Precisamos de sistemas de segurança que verifiquem se as ferramentas estão "saudáveis" antes de deixá-las perto do robô, e que impeçam o robô de escolher uma ferramenta apenas porque o rótulo dela parece "estranhamente atraente".
Em resumo: Não confie apenas no que o robô vê; verifique quem escreveu os rótulos das ferramentas.
Afogado em artigos na sua área?
Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.