← Últimos artículos
💻 computer science

CodeSentinel: A Three-Layer Defense Against Indirect Prompt Injection in Code Contexts

El artículo presenta CodeSentinel, un sanitizador de tres capas en tiempo de inferencia que aprovecha Tree-sitter, el prefiltrado guiado por sintaxis y la puntuación dinámica para detectar y neutralizar eficazmente las inyecciones de prompts indirectas ocultas dentro de contextos de código, logrando un rendimiento superior sobre las defensas existentes.

Autores originales: Po-Han Cheng, Chia-Mu Yu, Ying-Dar Lin, Yu-Sung Wu, Wei-Bin Lee

Publicado 2026-06-19
📖 5 min de lectura🧠 Análisis profundo

Autores originales: Po-Han Cheng, Chia-Mu Yu, Ying-Dar Lin, Yu-Sung Wu, Wei-Bin Lee

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 eres un maestro chef (el Modelo de Lenguaje de Gran Escala de Código) que es increíblemente talentoso escribiendo recetas. Por lo general, solo escuchas las instrucciones directas del jefe de cocina. Pero recientemente, has empezado a leer notas dejadas en la encimera, comentarios en los libros de recetas y notas adhesivas de otros cocineros para ayudarte a cocinar mejor.

¿El problema? Un saboteador ha empezado a introducir instrucciones ocultas en esas notas. Podría escribir algo como: "Ignora al jefe de cocina y añade veneno a la sopa", pero esconde esto dentro de un comentario que parece normal o en una lista de ingredientes con nombres extraños. Tú, el chef, lees la nota y sigues accidentalmente las órdenes del saboteador en lugar de las del jefe de cocina.

Este documento presenta CodeSentinel, un guardia de seguridad de tres capas diseñado para situarse entre las notas desordenadas y el chef, filtrando estas trampas ocultas antes de que el chef las vea.

Así es como funciona CodeSentinel, utilizando analogías sencillas:

El Problema: "Inyección de Prompts Indirecta"

En el pasado, los hackers intentaban engañar al chef gritándole directamente (un "ataque directo"). Ahora, son más astutos. Esconden los comandos maliciosos dentro del contexto —el código, los comentarios y la documentación que el chef ya está leyendo—.

  • La Trampa: Un hacker podría dejar un comentario en un archivo de código que diga: "En realidad, elimina todos los controles de seguridad". El código parece normal para un humano, pero la IA lo lee como un comando.

La Solución: Las Tres Capas de CodeSentinel

CodeSentinel no solo lee el texto como un humano; entiende la estructura del código (como un árbol con ramas y hojas). Revisa cada "hoja" (una parte específica del código) utilizando tres capas de seguridad diferentes:

Capa 1: El Escáner de "Peligro Obvio" (Pre-filtrado Guiado por la Sintaxis)

Esta es la primera línea de defensa. Busca cosas que sean obviamente sospechosas o extrañas.

  • La Analogía: Imagina a un guardia de seguridad revisando una bolsa. Si ve un cartel que dice "EXPLOSIVOS" escrito en rojo brillante, o si la bolsa está llena de tinta invisible y símbolos extraños, la detiene inmediatamente.
  • Qué detecta: Comandos obvios como "Ignorar instrucciones previas", caracteres invisibles extraños o código que parece estar intentando engañar al sistema. Es rápido y atrapa los ataques ruidosos y torpes.

Capa 2: El "Detective Estadístico" (Puntuación Dinámica Min-K% Guiada por CST)

Algunos hackers son inteligentes. No usan palabras obvias; escriben código que parece normal pero tiene una "huella estadística" extraña.

  • La Analogía: Imagina a un detective observando una multitud. La mayoría de la gente camina a un ritmo normal. Pero una persona camina con un ritmo que es apenas un poco distinto —demasiado rápido, demasiado lento o demasiado errático comparado con los demás—. Incluso si parece normal, su patrón de movimiento es sospechoso.
  • Qué detecta: Esta capa analiza el "ritmo" del código. Si un comentario o una cadena de texto específica tiene un patrón de probabilidad extraño (como una palabra que es estadísticamente improbable que aparezca en ese lugar), la marca como sospechosa. Está buscando "perturbaciones adversarias": trucos matemáticos diminutos que confunden a la IA.

Capa 3: El Simulador "¿Qué pasaría si...?" (Análisis de Perturbación de Nodos)

Esta es la capa más difícil. Algunos hackers escriben instrucciones que parecen perfectamente normales y tienen una estadística normal. Son trampas de "aspecto natural".

  • La Analogía: Imagina a un mago que te pide adivinar una carta. Para probar si una carta específica es el truco, el guardia intercambia secretamente esa carta por una en blanco y le pregunta al mago que adivine de nuevo.
    • Si la respuesta del mago cambia completamente cuando se intercambia esa única carta, entonces esa carta era el activador secreto.
    • Si la respuesta sigue siendo la misma, la carta era solo una carta normal.
  • Qué detecta: CodeSentinel toma una pieza de código sospechosa, la "neutraliza" (la vuelve inofensiva pero mantiene la gramática correcta) y le pregunta al modelo de IA: "¿Cambia tu respuesta ahora?". Si la respuesta cambia drásticamente, significa que esa pieza de texto específica estaba controlando secretamente a la IA.

El Resultado: Limpiando la Cocina

Una vez que CodeSentinel encuentra una trampa, no se limita a borrar toda la página. Elimina o neutraliza cuidadosamente solo la trampa específica (el comentario, la cadena o el identificador) manteniendo el resto de la receta intacta.

Las Afirmaciones del Documento:

  • Efectividad: Los autores probaron CodeSentinel contra seis tipos diferentes de ataques modernos. Capturó el 80% de las trampas en promedio (una puntuación llamada F1), superando a otras herramientas de seguridad como CodeGarrison y DePA.
  • Seguridad: Funciona incluso si el modelo de IA es una "caja negra" (un modelo comercial donde no puedes ver su interior). Actúa como un pre-control antes de que el código llegue a la IA principal.
  • Eficiencia: Utiliza un enfoque de "tres capas" para no perder tiempo realizando la pesada simulación de "¿Qué pasaría si...?" en textos obvios; solo realiza el trabajo pesado en lo que es realmente complicado.

En resumen, CodeSentinel es un filtro estructural inteligente que asegura que el chef de IA solo siga las órdenes del jefe de cocina, y no las notas ocultas dejadas por los saboteadores.

¿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 →