O DNA Oculto do JavaScript Gerado por LLMs: Padrões Estruturais Habilitam Atribuição de Autoria com Alta Precisão
The Hidden DNA of LLM-Generated JavaScript: Structural Patterns Enable High-Accuracy Authorship Attribution
October 12, 2025
Autores: Norbert Tihanyi, Bilel Cherif, Richard A. Dubniczky, Mohamed Amine Ferrag, Tamás Bisztray
cs.AI
Resumo
Neste artigo, apresentamos o primeiro estudo em larga escala que investiga se o código JavaScript gerado por Modelos de Linguagem de Grande Escala (LLMs) pode revelar qual modelo o produziu, permitindo a atribuição confiável de autoria e a identificação de modelos. Com o rápido aumento do código gerado por IA, a atribuição está desempenhando um papel crucial na detecção de vulnerabilidades, sinalização de conteúdo malicioso e garantia de responsabilidade. Embora a detecção de IA versus humanos geralmente trate a IA como uma única categoria, mostramos que LLMs individuais deixam assinaturas estilísticas únicas, mesmo entre modelos pertencentes à mesma família ou com tamanho de parâmetros semelhante. Para isso, introduzimos o LLM-NodeJS, um conjunto de dados de 50.000 programas back-end em Node.js de 20 grandes modelos de linguagem. Cada programa possui quatro variantes transformadas, resultando em 250.000 amostras únicas de JavaScript e duas representações adicionais (JSIR e AST) para diversas aplicações de pesquisa. Utilizando este conjunto de dados, avaliamos classificadores tradicionais de aprendizado de máquina contra codificadores Transformer ajustados e introduzimos o CodeT5-JSA, uma arquitetura personalizada derivada do modelo CodeT5 de 770 milhões de parâmetros, com seu decodificador removido e uma cabeça de classificação modificada. Ele alcança 95,8% de precisão na atribuição de cinco classes, 94,6% em dez classes e 88,5% em vinte classes, superando outros modelos testados, como BERT, CodeBERT e Longformer. Demonstramos que os classificadores capturam regularidades estilísticas mais profundas no fluxo de dados e na estrutura do programa, em vez de depender de características superficiais. Como resultado, a atribuição permanece eficaz mesmo após ofuscação, remoção de comentários e transformações pesadas no código. Para apoiar a ciência aberta e a reprodutibilidade, disponibilizamos o conjunto de dados LLM-NodeJS, scripts de treinamento no Google Colab e todos os materiais relacionados no 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.