Code Fingerprints: Disentangled Attribution of LLM-Generated Code

Este artículo presenta DCAN, un enfoque basado en aprendizaje contrastivo que disocia la semántica del código de sus características estilísticas específicas del modelo para lograr una atribución precisa de la fuente de código generado por LLM, validado mediante un nuevo conjunto de datos a gran escala.

Jiaxun Guo, Ziyuan Yang, Mengyu Sun, Hui Wang, Jingfeng Lu, Yi Zhang

Publicado 2026-03-05
📖 4 min de lectura☕ Lectura para el café

Each language version is independently generated for its own context, not a direct translation.

¡Claro que sí! Imagina que este artículo es como una historia de detectives modernos, pero en lugar de buscar huellas dactilares en un vaso de cristal, buscan "huellas digitales" en el código de computadora escrito por Inteligencias Artificiales (IA).

Aquí tienes la explicación, traducida al español y con analogías sencillas:

🕵️‍♂️ El Problema: ¿Quién escribió esto?

Imagina que tienes un pastel delicioso. Sabes que lo hizo una máquina, pero no sabes si fue la Máquina A (como ChatGPT), la Máquina B (como Claude) o la Máquina C (como DeepSeek).

Antes, los investigadores solo se preocupaban por saber: "¿Esto lo hizo un humano o una máquina?". Pero ahora, el mundo necesita saber exactamente qué máquina lo hizo. ¿Por qué?

  • Si el código tiene un error o un virus, necesitas saber a quién culpar.
  • Si hay un problema de derechos de autor, necesitas saber quién lo generó.
  • Si una empresa usa código de una IA específica, necesita saberlo para cumplir las reglas.

El problema es que todas estas IAs son muy inteligentes y escriben código que funciona igual. Es como si cuatro chefs diferentes hicieran el mismo plato de espaguetis; al probarlo, sabe casi igual. Pero un experto sabe que el Chef A siempre usa un poco más de sal, y el Chef B siempre corta la cebolla en trozos más pequeños.

🔍 La Solución: "DCAN" (El Detective Desentrelazador)

Los autores crearon un sistema llamado DCAN (Red de Atribución de Código Desentrelazada). Para entenderlo, usa esta analogía:

Imagina que el código generado por una IA es como una sopa.

  1. El Sabor Base (Información Agnóstica): Es el sabor de la sopa en sí (el algoritmo, la lógica). Si todos hacen una "sopa de tomate", todos tendrán el sabor de tomate. Esto es lo que hace que el código funcione.
  2. El Toque Personal (Información Específica): Es la forma en que cada chef sazona la sopa. ¿Usa pimienta negra? ¿Un poco de aceite de oliva? ¿Corta el tomate en cubos o en rodajas? Esto es el "estilo" de la IA.

El truco del DCAN:
La mayoría de los detectores anteriores intentaban probar la sopa entera y se confundían porque el sabor de tomate (la lógica) era muy fuerte y tapaba los detalles del chef.

El DCAN hace algo genial: Separa la sopa.

  • Usa un filtro mágico para quitar todo lo que es "sabor de tomate" (la lógica común que todos comparten).
  • Se queda solo con el toque personal (el estilo único de cada IA).
  • Luego, compara ese toque personal con una base de datos de "firmas" de cada IA para decir: "¡Esto lo hizo DeepSeek!".

🧪 El Experimento: La Gran Prueba de Cocina

Para probar su teoría, los investigadores hicieron algo monumental:

  1. Crearon un "Laboratorio de Cocina": Pidieron a 4 IAs famosas (DeepSeek, Claude, Qwen y ChatGPT) que resolvieran 2,869 problemas de programación diferentes.
  2. Dos Escenarios:
    • Modo "Solo Código": Las IAs escribieron el código sin explicar nada (como un chef que solo sirve el plato).
    • Modo "Con Comentarios": Las IAs escribieron el código y añadieron notas explicativas (como un chef que te dice cómo lo hizo).
  3. El Resultado: ¡Funcionó increíblemente bien!
    • El sistema pudo identificar al "chef" (la IA) con una precisión del 93% al 98%, incluso cuando las IAs intentaban hacer lo mismo.
    • Descubrieron que, aunque el código haga la misma función, cada IA tiene "manías":
      • Una IA usa nombres de variables muy largos.
      • Otra usa más comentarios.
      • Otra prefiere ciertas formas de escribir los bucles.

💡 ¿Por qué es importante esto?

Piensa en esto como la forense digital para el futuro.

  • Seguridad: Si un hacker usa una IA para crear un virus, la policía podrá rastrear qué IA se usó para generar el código malicioso.
  • Justicia: Si una empresa usa código generado por una IA sin pagar, se puede probar de dónde vino.
  • Calidad: Sabemos que cada IA tiene un "estilo" único, y esto nos ayuda a entender sus fortalezas y debilidades.

En resumen

Este papel nos dice que las IAs no son clones perfectos. Aunque todas escriben código que funciona, cada una tiene una "firma" oculta en su forma de escribir (su estilo, sus comentarios, su estructura). Los autores crearon un sistema inteligente que ignora lo que el código hace (la lógica) y se enfoca en cómo lo hace (el estilo), permitiéndonos saber exactamente qué máquina escribió cada línea de código.

¡Es como tener un detector de mentiras para el código generado por robots! 🤖🔎