← Últimos artigos
💻 computer science

Leveraging Large Language Models to Obscure Code Stylometry: A Comparative Study of GPT-3.5 and GPT-4

Este estudo avalia a eficácia do GPT-3.5 e do GPT-4 na ocultação da estilometria de código para evitar classificadores de atribuição de autoria, revelando que o prompting de múltiplos disparos (multi-shot prompting) e instruções detalhadas aumentam significativamente a ocultação estilística, ao mesmo tempo em que destacam os desafios inerentes à preservação da funcionalidade do código durante tais modificações.

Autores originais: Saman Pordanesh, Benjamin Tan

Publicado 2026-06-23
📖 5 min de leitura🧠 Leitura aprofundada

Autores originais: Saman Pordanesh, Benjamin Tan

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ê é um detetive tentando identificar um suspeito não pelo seu rosto, mas pela sua caligrafia. No mundo da programação de computadores, essa "caligrafia" é chamada de estilometria de código. Cada programador tem hábitos únicos: como eles espaçam suas linhas, os nomes que dão às suas variáveis e a maneira específica como estruturam sua lógica. Assim como um detetive pode associar uma nota a um suspeito, especialistas em cibersegurança usam essas impressões digitais digitais para descobrir quem escreveu um determinado software, o que é crucial para pegar os autores de programas maliciosos.

No entanto, um novo jogador entrou no jogo: Modelos de Linguagem de Grande Escala (LLMs) como o GPT-3.5 e o GPT-4. Pense nesses modelos de IA como escritores fantasmas incrivelmente talentosos. Eles podem ler um código, entender exatamente o que ele faz e, então, reescrevê-lo do zero usando uma "caligrafia" completamente diferente, mantendo as instruções da máquina idênticas.

Este artigo de pesquisa é essencialmente um teste para ver o quão bons esses escritores fantasmas de IA são em esconder a identidade do autor original sem quebrar o código.

O Experimento: Um Desafio de "Troca de Estilo"

Os pesquisadores montaram uma competição com duas equipes principais:

  1. Os Detetives: Um programa de computador (um classificador Random Forest) treinado para reconhecer a "caligrafia" única de diferentes programadores.
  2. Os Escritores Fantasmas: Os modelos de IA (GPT-3.5 e GPT-4) tentando disfarçar o código.

Os pesquisadores deram à IA 10 pedaços diferentes de código Java e pediram que ela os reescrevesse usando quatro estratégias diferentes:

  • A Abordagem "Apenas Faça": Um comando simples: "Mude o estilo deste código."
  • A Abordagem "Imitador": "Reescreva este código para parecer que foi escrito por [Programador Famoso X] ou de [Região Específica]."
  • A Abordagem "Copycat" (Imitador de Exemplo): "Aqui está um exemplo de um estilo específico; reescreva o código para corresponder a este exemplo."
  • A Abordagem "Tradutor": "Traduza este código Java para C++, depois traduza de volta para Java." A ideia é que o processo de tradução force a IA a fazer novas escolhas estilísticas.

Eles testaram essas estratégias usando dois métodos:

  • Single-Shot (Tentativa Única): Pedir à IA para fazer todo o trabalho de uma só vez.
  • Multi-Shot (Múltiplas Tentativas): Dividir a tarefa em instruções pequenas e passo a passo (ex: "Primeiro analise o código, depois liste as mudanças, depois reescreva").

Os Resultados: Quem Ganhou o Jogo?

1. A IA Ficou Melhor em Esconder
O estudo descobriu que os modelos de IA eram surpreendentemente bons em mudar a "caligrafia".

  • O GPT-4 foi o melhor escritor fantasma: Ele geralmente fez um trabalho melhor em esconder a identidade do autor original do que o GPT-3.5.
  • Instruções passo a passo funcionaram melhor: Quando os pesquisadores deram à IA instruções detalhadas e de múltiplos passos (Multi-Shot), ela teve muito mais sucesso em disfarçar o código do que quando receberam um comando simples de uma linha (Single-Shot). É como dizer a um aluno "Escreva uma história" versus "Primeiro faça o esboço do enredo, depois escreva os personagens, depois escreva o diálogo". O segundo método rendeu melhores resultados.
  • O truque do "Tradutor" foi o mais forte: A estratégia de traduzir o código para outra linguagem e de volta (Estratégia 4) foi a forma mais eficaz de embaralhar as impressões digitais estilísticas.

2. O Problema do "Código Quebrado"
Havia um porém. Embora a IA fosse boa em mudar o estilo, ela não era perfeita em manter o código funcionando.

  • Imagine pedir a um escritor fantasma para reescrever um romance, mas mantendo o enredo exatamente o mesmo. Às vezes, eles mudam o nome de um personagem tanto que a história deixa de fazer sentido.
  • No estudo, quando tentaram executar o código reescrito, 41% dele falhou ao compilar (não sequer iniciou). Outro 1% iniciou, mas falhou nos testes.
  • Apenas 58% do código reescrito realmente funcionou perfeitamente.
  • Do código que realmente funcionou, apenas 17% enganaram com sucesso o programa detetive. Isso significa que, de cada 100 tentativas, apenas cerca de 10 resultaram em um código que era ao mesmo tempo funcional e disfarçado com sucesso.

A Conclusão Final

Este artigo conclui que, embora modelos de IA como o GPT-4 sejam ferramentas poderosas para alterar estilos de código e possam esconder com sucesso a identidade de um autor, eles ainda não são "capas de invisibilidade" perfeitas.

  • Eles precisam de ajuda: Eles funcionam melhor quando recebem instruções detalhadas e passo a passo, em vez de comandos simples.
  • Eles quebram coisas: Existe um alto risco de que, no processo de mudar o estilo, a IA acabe quebrando a funcionalidade do código por acidente.
  • O jogo de gato e rato continua: À medida que a IA se torna melhor em esconder estilos de código, os "detetives" (ferramentas de cibersegurança) precisarão se tornar mais inteligentes para captá-los.

Os pesquisadores enfatizam que este estudo é um retrato das capacidades atuais. Eles descobriram que, embora a IA possa obscurecer a "caligrafia", fazer isso sem quebrar a "história" (a função do código) continua sendo um desafio significativo.

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.

Experimentar Digest →