← Ultimi articoli
💻 computer science

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

Questo studio valuta l'efficacia di GPT-3.5 e GPT-4 nell'offuscare la stilometria del codice per eludere i classificatori di attribuzione dell'autore, rivelando che il prompting multi-shot e le istruzioni dettagliate migliorano significativamente l'offuscamento stilistico, evidenziando al contempo le sfide intrinseche nel preservare la funzionalità del codice durante tali modifiche.

Autori originali: Saman Pordanesh, Benjamin Tan

Pubblicato 2026-06-23
📖 5 min di lettura🧠 Approfondimento

Autori originali: Saman Pordanesh, Benjamin Tan

Articolo originale sotto licenza CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo

Immagina di essere un detective che cerca di identificare un sospettato non dal suo volto, ma dalla sua calligrafia. Nel mondo della programmazione informatica, questa "calligrafia" è chiamata stilometria del codice. Ogni programmatore ha abitudini uniche: come spaziano le righe, i nomi che danno alle loro variabili e il modo specifico in cui strutturano la propria logica. Proprio come un detective può far corrispondere un appunto a un sospettato, gli esperti di cybersecurity utilizzano queste impronte digitali per capire chi ha scritto un determinato software, il che è fondamentale per catturare gli autori di programmi malevoli.

Tuttavia, un nuovo giocatore è entrato in gioco: i Large Language Models (LLM) come GPT-3.5 e GPT-4. Pensa a questi modelli di IA come a incredibilmente talentuosi scrittori fantasma. Possono leggere un pezzo di codice, capire esattamente cosa faccia e poi riscriverlo da zero usando una "calligrafia" completamente diversa, mantenendo identiche le istruzioni della macchina.

Questo articolo di ricerca è essenzialmente un test per vedere quanto siano bravi questi scrittori fantasma dell'IA nel nascondere l'identità dell'autore originale senza rompere il codice.

L'Esperimento: Una sfida di "Scambio di Stile"

I ricercatori hanno organizzato una competizione con due squadre principali:

  1. I Detective: Un programma per computer (un classificatore Random Forest) addestrato a riconoscere la "calligrafia" unica di diversi programmatori.
  2. Gli Scrittori Fantasma: I modelli di IA (GPT-3.5 e GPT-4) che cercano di travestire il codice.

I ricercatori hanno dato all'IA 10 diversi pezzi di codice Java e le hanno chiesto di riscriverli usando quattro diverse strategie:

  • L'approccio "Fallo e basta": Un comando semplice: "Cambia lo stile di questo codice".
  • L'approccio "Impersonatore": "Riscrivi questo codice affinché sembri scritto da [Programmatore Famoso X] o proveniente da [Regione Specifica]".
  • L'approccio "Imitatore": "Ecco un esempio di uno stile specifico; riscrivi il codice per corrispondere a questo esempio".
  • L'approccio "Traduttore": "Traduci questo codice Java in C++, poi traduci di nuovo in Java". L'idea è che il processo di traduzione costringa l'IA a fare nuove scelte stilistiche.

Hanno testato queste strategie usando due metodi:

  • Single-Shot: Chiedere all'IA di fare tutto il lavoro in un colpo solo.
  • Multi-Shot: Suddividere il compito in piccole istruzioni passo dopo passo (ad esempio: "Prima analizza il codice, poi elenca le modifiche, poi riscrivi").

I Risultati: Chi ha vinto la partita?

1. L'IA è diventata più brava a nascondersi
Lo studio ha scoperto che i modelli di IA sono sorprendentemente capaci di cambiare la "calligrafia".

  • GPT-4 era lo scrittore fantasma migliore: In generale, ha fatto un lavoro migliore nel nascondere l'identità dell'autore originale rispetto a GPT-3.5.
  • Le istruzioni passo dopo passo funzionavano meglio: Quando i ricercatori hanno fornito all'IA istruzioni dettagliate e multi-fase (Multi-Shot), l'IA è stata molto più efficace nel travestire il codice rispetto a quando riceveva un semplice comando di una riga (Single-Shot). È come dire a uno studente "Scrivi una storia" rispetto a "Prima delinea la trama, poi scrivi i personaggi, poi scrivi i dialoghi". Il secondo metodo ha prodotto risultati migliori.
  • Il trucco del "Traduttore" era il più forte: La strategia di tradurre il codice in un altro linguaggio e poi di nuovo in Java (Strategia 4) è stata il modo più efficace per rimescolare le impronte digitali stilistiche.

2. Il problema del "Codice Rotto"
C'era un intoppo. Sebbene l'IA fosse brava a cambiare lo stile, non era perfetta nel mantenerlo funzionante.

  • Immagina di chiedere a uno scrittore fantasma di riscrivere un romanzo mantenendo però la trama esattamente uguale. A volte, cambiano il nome di un personaggio in modo tale che la storia non abbia più senso.
  • Nello studio, quando hanno provato a eseguire il codice riscritto, il 41% non è riuscito a compilare (non partiva nemmeno). Un altro 1% è partito ma ha fallito i test.
  • Solo il 58% del codice riscritto funzionava perfettamente.
  • Del codice che effettivamente funzionava, solo il 17% ha ingannato con successo il programma detective. Ciò significa che, su ogni 100 tentativi, solo circa 10 hanno prodotto un codice che fosse sia funzionale che con successo camuffato.

Il Punto Fondamentale

Questo articolo conclude che, sebbene i modelli di IA come GPT-4 siano strumenti potenti per alterare gli stili di codice e possano nascondere con successo l'identità di un autore, non sono ancora dei "mantelli dell'invisibilità" perfetti.

  • Hanno bisogno di aiuto: Funzionano meglio quando ricevono istruzioni dettagliate e passo dopo passo piuttosto che semplici comandi.
  • Rompono le cose: C'è un alto rischio che, nel processo di cambiamento dello stile, l'IA possa accidentalmente rompere la funzionalità del codice.
  • Il gioco del gatto e del topo continua: Man mano che l'IA diventa più brava a nascondere gli stili di codice, anche i "detective" (gli strumenti di cybersecurity) dovranno diventare più intelligenti per catturarli.

I ricercatori sottolineano che questo studio è un'istantanea delle capacità attuali. Hanno scoperto che, sebbene l'IA possa offuscare la "calligrafia", farlo senza rompere la "storia" (la funzione del codice) rimane una sfida significativa.

Sommerso dagli articoli nel tuo campo?

Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.

Prova Digest →