← Últimos artículos
🤖 AI

Poisoned Identifiers Survive LLM Deobfuscation: A Case Study on Claude Opus 4.6

El estudio demuestra que, aunque Claude Opus 4.6 comprende correctamente la semántica al desofuscar código, los nombres de identificadores maliciosos persisten en la reconstrucción a menos que se replantee la tarea como una implementación desde cero, lo que revela una desconexión entre la comprensión semántica del modelo y su fidelidad en la generación de nombres de variables.

Autores originales: Luis Guzmán Lorenzo

Publicado 2026-04-07
📖 4 min de lectura☕ Lectura para el café

Autores originales: Luis Guzmán Lorenzo

Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo

Imagina que tienes un libro de recetas muy antiguo y confuso. Alguien ha borrado los nombres de los ingredientes (como "harina", "azúcar") y los ha reemplazado por palabras extrañas como "explosión" o "factura". Además, el libro está escrito en un código secreto que solo un traductor muy inteligente (una Inteligencia Artificial) puede leer.

Este estudio es como una investigación sobre qué pasa cuando le pides a ese traductor (en este caso, la IA Claude Opus 4.6) que "traduzca" el libro de vuelta a un lenguaje normal.

Aquí tienes la historia de lo que descubrieron, explicada de forma sencilla:

1. El Problema: La "Traducción" vs. La "Creación"

Los investigadores le dieron a la IA dos tipos de instrucciones para limpiar el código:

  • Instrucción A (Traducción): "Desencripta este código tal cual está".
  • Instrucción B (Creación): "Escribe un programa nuevo desde cero que haga lo mismo, pero con nombres correctos".

Lo sorprendente:
Cuando la IA actuaba como un traductor (Instrucción A), cometía un error curioso: seguía usando las palabras extrañas del código original (como "explosión" para una fuerza de repulsión), pero en los comentarios del texto, explicaba perfectamente qué hacía esa parte.

  • En el código: fuerza = "explosión" (¡Error!)
  • En la nota al pie: // Esto es la fuerza de repulsión (¡Correcto!)

La IA sabía lo que hacía, pero se negaba a cambiar el nombre "venenoso" que venía en la lista original. Fue como si un traductor dijera: "El texto original dice 'manzana', así que escribiré 'manzana', aunque sé que es una pera".

2. El Truco que Funcionó: Cambiar el "Guion"

Cuando los investigadores cambiaron la instrucción a "Escribe un programa nuevo desde cero" (Instrucción B), la magia sucedió.
La IA dejó de mirar la lista de palabras extrañas y comenzó a usar su propio conocimiento. De repente, "explosión" se convirtió en "repulsión" y "factura" en "costo".

  • Resultado: La IA corrigió los nombres casi 100% de las veces cuando se le pidió que "creara" en lugar de "traducir".

La analogía:
Es como pedirle a un actor que recite un guion con errores a propósito (Traducción). El actor dirá los errores porque es su trabajo seguir el guion. Pero si le dices: "Actúa esta escena, pero tú decides qué decir para que tenga sentido" (Creación), el actor ignorará los errores del guion y dirá las palabras correctas.

3. El "Veneno" no necesita tener sentido

Los investigadores probaron algo aún más loco: ¿Qué pasa si los nombres extraños no tienen nada que ver con el tema?

  • Usaron la palabra "combustión" para una fuerza de repulsión.
  • Usaron la palabra "factura" para un cálculo de distancia.

El hallazgo:
Si el código original tenía una lista de palabras que parecían tener sentido juntas (como un tema de física), la IA las mantenía. Pero si la lista era un caos total (mezcla de palabras sin sentido), la IA siguió manteniendo los nombres extraños igual de a menudo.

  • Conclusión: La IA no está "pensando" si la palabra tiene sentido. Simplemente está siguiendo la lista de nombres que le dio el código original, a menos que se le pida explícitamente que reescriba todo.

4. ¿Por qué es importante esto?

Imagina que un hacker quiere esconder un virus en una página web. No necesita esconder el virus en sí, solo necesita ponerle nombres extraños a las variables (como llamar a un botón de "borrar todo" "guardar").

  • El mito: Pensábamos que si le decíamos a la IA: "¡Oye, revisa bien, asegúrate de que los nombres sean correctos!", la IA lo arreglaría.
  • La realidad: La IA ignora esas advertencias. Sigue usando los nombres extraños.
  • La solución: No le pidas a la IA que "repare" el código. Pídele que construya una copia nueva del código basándose en lo que hace, ignorando los nombres originales.

En resumen

Este estudio nos enseña que las Inteligencias Artificiales son muy buenas entendiendo qué hace un código, pero son muy "pegajosas" con los nombres que vienen en el código original.

  • Si les pides que traduzcan, repetirán los errores del original.
  • Si les pides que creen algo nuevo, usarán su inteligencia para corregir esos errores.

Es como si la IA tuviera dos modos: el modo "Fotocopiadora" (que copia los errores) y el modo "Arquitecto" (que diseña algo nuevo y correcto). Para limpiar el código, hay que activar al Arquitecto, no a la Fotocopiadora.

¿Ahogado en artículos de tu campo?

Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.

Probar Digest →