Il DNA nascosto del JavaScript generato da LLM: i modelli strutturali abilitano un'attribuzione di paternità ad alta precisione
The Hidden DNA of LLM-Generated JavaScript: Structural Patterns Enable High-Accuracy Authorship Attribution
October 12, 2025
Autori: Norbert Tihanyi, Bilel Cherif, Richard A. Dubniczky, Mohamed Amine Ferrag, Tamás Bisztray
cs.AI
Abstract
In questo articolo, presentiamo il primo studio su larga scala che esplora se il codice JavaScript generato da Large Language Models (LLM) possa rivelare quale modello lo ha prodotto, consentendo un'attribuzione affidabile dell'autore e l'identificazione del modello. Con la rapida ascesa del codice generato dall'IA, l'attribuzione sta svolgendo un ruolo cruciale nel rilevare vulnerabilità, segnalare contenuti dannosi e garantire la responsabilità. Mentre il rilevamento IA-vs-umano di solito tratta l'IA come una singola categoria, dimostriamo che i singoli LLM lasciano firme stilistiche uniche, anche tra modelli appartenenti alla stessa famiglia o con dimensioni di parametri simili. A tal fine, introduciamo LLM-NodeJS, un dataset di 50.000 programmi back-end Node.js provenienti da 20 grandi modelli linguistici. Ciascuno ha quattro varianti trasformate, producendo 250.000 campioni unici di JavaScript e due rappresentazioni aggiuntive (JSIR e AST) per diverse applicazioni di ricerca. Utilizzando questo dataset, confrontiamo i tradizionali classificatori di machine learning con encoder Transformer fine-tuned e introduciamo CodeT5-JSA, un'architettura personalizzata derivata dal modello CodeT5 da 770M di parametri, con il decoder rimosso e una testa di classificazione modificata. Raggiunge un'accuratezza del 95,8% nell'attribuzione a cinque classi, del 94,6% su dieci classi e dell'88,5% su venti classi, superando altri modelli testati come BERT, CodeBERT e Longformer. Dimostriamo che i classificatori catturano regolarità stilistiche più profonde nel flusso di dati e nella struttura del programma, piuttosto che affidarsi a caratteristiche superficiali. Di conseguenza, l'attribuzione rimane efficace anche dopo l'offuscamento, la rimozione dei commenti e pesanti trasformazioni del codice. Per supportare la scienza aperta e la riproducibilità, rilasciamo il dataset LLM-NodeJS, gli script di addestramento su Google Colab e tutti i materiali correlati su GitHub: https://github.com/LLM-NodeJS-dataset.
English
In this paper, we present the first large-scale study exploring whether
JavaScript code generated by Large Language Models (LLMs) can reveal which
model produced it, enabling reliable authorship attribution and model
fingerprinting. With the rapid rise of AI-generated code, attribution is
playing a critical role in detecting vulnerabilities, flagging malicious
content, and ensuring accountability. While AI-vs-human detection usually
treats AI as a single category we show that individual LLMs leave unique
stylistic signatures, even among models belonging to the same family or
parameter size. To this end, we introduce LLM-NodeJS, a dataset of 50,000
Node.js back-end programs from 20 large language models. Each has four
transformed variants, yielding 250,000 unique JavaScript samples and two
additional representations (JSIR and AST) for diverse research applications.
Using this dataset, we benchmark traditional machine learning classifiers
against fine-tuned Transformer encoders and introduce CodeT5-JSA, a custom
architecture derived from the 770M-parameter CodeT5 model with its decoder
removed and a modified classification head. It achieves 95.8% accuracy on
five-class attribution, 94.6% on ten-class, and 88.5% on twenty-class tasks,
surpassing other tested models such as BERT, CodeBERT, and Longformer. We
demonstrate that classifiers capture deeper stylistic regularities in program
dataflow and structure, rather than relying on surface-level features. As a
result, attribution remains effective even after mangling, comment removal, and
heavy code transformations. To support open science and reproducibility, we
release the LLM-NodeJS dataset, Google Colab training scripts, and all related
materials on GitHub: https://github.com/LLM-NodeJS-dataset.