3 min de lectura

ReasonGate bloquea la inyección de prompts antes de que se ejecute el LLM

ReasonGate es una nueva puerta de seguridad de código abierto para aplicaciones con LLM que bloquea la inyección de prompts, explica por qué y registra decisiones auditables.

Imagen: Hacker News

ReasonGate es una puerta de seguridad de código abierto para aplicaciones con LLM diseñada para detener la inyección de prompts antes de que se llame a un modelo — y explicar exactamente por qué tomó esa decisión.

El proyecto, publicado en Hacker News como “Show HN: ReasonGate”, apunta a lo que define como la debilidad estructural detrás de la inyección de prompts: los modelos leen tanto las instrucciones como los datos no confiables por el mismo canal y no pueden separarlos de forma fiable. En lugar de intentar arreglar eso dentro del modelo, ReasonGate coloca un filtro delante.

Demostración de riesgos — Escudo DESACTIVADO: el registro del cliente es exfiltrado y se transfieren $84,200; Escudo ACTIVADO: el mismo ataque se bloquea antes de que se llame al modelo
Demostración de riesgos — Escudo DESACTIVADO: el registro del cliente es exfiltrado y se transfieren $84,200; Escudo ACTIVADO: el mismo ataque se bloquea antes de que se llame al modelo

La demo del repositorio se centra en un agente de soporte bancario con acceso a herramientas como send_email y transfer_funds. Con el escudo desactivado, un registro de cliente envenenado provoca una brecha: el registro se envía por correo a un atacante y se transfieren $84,200, con los efectos secundarios escritos en disco. Con el escudo activado, la misma entrada se bloquea antes de llamar al modelo, mientras que la entrada limpia sigue siendo permitida.

ReasonGate es agnóstico respecto al modelo. Envuelve cualquier función prompt -> str — incluyendo OpenAI, Anthropic, modelos locales o una canalización RAG personalizada — e inspecciona tres superficies:

  • Prompts de usuario
  • Contexto recuperado
  • Salida del modelo

La versión open-core es puro Python sin dependencias y sin llamadas de red. Incluye detección basada en reglas, normalización y desofuscación, escaneo de inyección indirecta, detección de fugas, comprobaciones de canarios, un motor de políticas y registro de auditoría estructurado.

Recomendado

Vulnerabilidad de FortiSandbox entra en el KEV de CISA mientras se propagan los ataques

Capas de detección y resultados del benchmark

ReasonGate utiliza múltiples capas en lugar de un único detector. Estas incluyen:

  • Normalización/desofuscación para caracteres de ancho cero, homoglifos, leetspeak, letras con puntos y cargas útiles en base64
  • Detección de inyección/jailbreak mediante reglas, con una capa de ML opcional
  • Escaneo de inyección indirecta para documentos recuperados y salidas de herramientas
  • Acumulación de riesgo en sesiones de múltiples turnos
  • Detección de fugas en la salida y de canarios para secretos, PII (información personal identificable) y filtraciones demostrables del system-prompt

Según la sección de benchmark del proyecto, su detector de ML opcional — que usa embeddings de VoyageAI y un árbol de decisión suave ajustado para recall — logró:

  • 96.1% recall, 0.3% false positives, 0.978 F1 on a held-out test of roughly 5.5k examples
  • 95.5% ± 0.8 recall, 2.5% ± 1.3 false positives, 0.963 ± 0.010 F1 in 5-fold cross-validation
  • 87.6% recall, 10.9% false positives, 0.882 F1 on an out-of-distribution test

Los datos de entrenamiento listados en el repositorio provienen de deepset/prompt-injections, jackhhao/jailbreak-classification y xTRam1/safe-guard-prompt-injection.

El proyecto también compara la robustez frente a evasiones bajo ofuscación. Una configuración solo con regex obtiene 20.0% de recall, 3.3% FPR y 0.332 F1, mientras que ReasonGate (normalize + indirect) alcanza 75.6% de recall, 6.7% FPR y 0.855 F1.

Opciones de instalación y límites conocidos

El paquete ofrece tres opciones de instalación:

  • pip install reasongate para los detectores principales
  • pip install reasongate[ml] para el clasificador basado en embeddings
  • pip install reasongate[serve] para la demo web FastAPI

También existe un complemento empresarial que habilita un detector de ML basado en embeddings y un detector de procedencia a través de la misma interfaz, sin cambiar el código central.

El autor es inusualmente explícito sobre los límites. El recall varía entre 76% y 96% según la distribución y la ofuscación, y nunca alcanza el 100%. El rendimiento empeora con familias de ataques genuinamente nuevas hasta que se añaden a los datos de entrenamiento. El detector de ML también añade coste y latencia porque la ruta de embeddings por defecto realiza una llamada a la API por petición, mientras que el núcleo puede ejecutarse completamente aislado sin que los datos salgan del servidor.

El proyecto está disponible bajo Apache-2.0, con una licencia separada para el complemento empresarial.

Sophia Reynolds

Security Editor

Sophia unpacks the invisible wars happening on our networks. Covering cybersecurity, privacy legislation, and cryptography, she exposes how our data is weaponized and defended. Before joining for(geeks), she spent years as a penetration tester. She's the reason the rest of the team uses physical security keys.

vía Hacker News

// Sigue leyendo