Construir con IA

JevShield utiliza decisiones tipadas para bloquear inyecciones de prompts localmente

Una nueva herramienta de código abierto utiliza Ollama y Nimble para detectar inyecciones de prompts mediante datos estructurados en lugar de texto generativo, manteniendo las verificaciones de seguridad locales.

Traducido automáticamente del original en inglés.

El desarrollador Rajat Rao lanzó JevShield el 1 de octubre de 2026, una capa de seguridad de código abierto diseñada para proteger a los agentes de modelos de lenguaje grandes (LLM) contra ataques de inyección de prompts. El proyecto se ejecuta completamente en infraestructura local, aprovechando la API de modelo de decisión de Ollama y el modelo Nimble para evaluar el contenido entrante antes de que llegue a la lógica principal de la aplicación.

Qué ocurrió

JevShield introduce un firewall diseñado específicamente para agentes LLM que necesitan procesar contenido externo no confiable. Los enfoques de seguridad tradicionales suelen pedir a un modelo generativo que emita un juicio basado en texto, como responder sí o no sobre si un prompt es malicioso. Este método requiere que la aplicación analice texto libre, lo cual puede ser frágil y propenso a errores. JevShield reemplaza este patrón con un motor de decisiones estructurado que devuelve datos tipados en lugar de lenguaje natural.

El sistema está diseñado para detectar cinco categorías específicas de amenazas: inyección directa de prompts, inyección indirecta de prompts, jailbreaks, intentos de exfiltración de datos y manipulación maliciosa de herramientas. Al interceptar las entradas del usuario y los documentos recuperados antes de que influyan en el agente, la herramienta busca aplicar el principio de que el texto no confiable debe tratarse como datos, no como instrucciones ejecutables. El repositorio incluye una suite de pruebas de referencia (benchmark), un panel de Streamlit para visualización y una interfaz FastAPI para la integración en aplicaciones Python existentes.

Cómo funciona

El mecanismo central depende de la API de decisión estilo Jev de Ollama, específicamente el endpoint /v1/systemone, en lugar de los endpoints estándar de chat o generación. Cuando llega contenido, JevShield lo envía al modelo Nimble, que evalúa múltiples dimensiones de seguridad simultáneamente. En lugar de generar una frase, el modelo devuelve objetos estructurados que incluyen opciones, puntuaciones y valores noul. Una puntuación representa un índice esperado dentro de un rango, mientras que un valor noul proporciona una estimación de probabilidad directa entre cero y uno.

Estas salidas estructuradas alimentan a un motor de políticas determinista en Python. El motor normaliza los riesgos y aplica umbrales configurables para tomar la decisión final. Si el riesgo máximo normalizado es inferior a 0.50, se permite el contenido. Si cae entre 0.50 y 0.85, se marca para revisión. Cualquier puntuación de riesgo igual o superior a 0.85 provoca un bloqueo. Esta separación garantiza que el modelo probabilístico proporcione evidencia, mientras que el código determinista hace cumplir la política de seguridad. El sistema también rastrea la contaminación (taint), asegurando que el contenido identificado como no confiable permanezca aislado de operaciones privilegiadas.

Detalles clave

  • Utiliza el endpoint /v1/systemone de Ollama con el modelo Nimble para inferencia local.
  • Detecta inyección directa, inyección indirecta, jailbreaks, exfiltración y manipulación de herramientas.
  • Devuelve decisiones tipadas incluyendo opción, puntuación y noul en lugar de texto generativo.
  • Aplica una política determinista en Python con umbrales predeterminados de 0.50 para revisión y 0.85 para bloqueo.
  • Incluye un comportamiento fail-closed donde los fallos del evaluador resultan en solicitudes bloqueadas por defecto.
  • Proporciona un panel de Streamlit y endpoints REST de FastAPI para integración y monitoreo.

Por qué importa

Para los ingenieros que construyen agentes de IA que interactúan con fuentes de datos externas como correos electrónicos, sitios web o bases de datos, la inyección de prompts sigue siendo una vulnerabilidad crítica. Las inyecciones indirectas, donde instrucciones maliciosas están ocultas dentro de documentos recuperados, son particularmente difíciles de mitigar porque el agente puede interpretar el contenido del documento como parte de su conjunto de instrucciones. JevShield aborda esto creando una frontera de seguridad que evalúa la procedencia del contenido y el riesgo antes de que el agente principal lo procese. Esto permite a los desarrolladores tratar las entradas externas como datos potencialmente hostiles en lugar de comandos confiables.

El cambio de juicios generativos a decisiones tipadas también mejora la fiabilidad. Analizar respuestas de lenguaje natural de un modelo de seguridad introduce ambigüedad y posibles puntos de fallo. Al utilizar tipos de datos estructurados, la aplicación puede manejar las evaluaciones de seguridad con la misma precisión que otra lógica backend. Además, ejecutar estas verificaciones localmente a través de Ollama asegura que los datos sensibles no abandonen la infraestructura, abordando las preocupaciones de privacidad asociadas con las APIs de seguridad basadas en la nube. Esta arquitectura respalda una estrategia de defensa en profundidad, complementando otros controles como el acceso a herramientas de mínimo privilegio y el sandboxing.

Qué hacer

  • Instala Ollama y descarga el modelo Nimble.
  • Clona el repositorio de JevShield desde GitHub.
  • Configura las variables de entorno necesarias para la integración con tu aplicación Python.
  • Ejecuta la suite de benchmarks para verificar la detección de amenazas.
  • Despliega el panel de Streamlit para monitorear las decisiones de seguridad en tiempo real.

Herramientas de la Tienda de Bytechap

$89

DocBento

Gestión documental autoalojada que lee cada escaneo y responde con citas de página.

Demo en vivo
$79

WorkBento

Suite de RR. HH. y gestión del entorno laboral impulsada por IA que puedes alojar tú mismo.

Demo en vivo

Seguir leyendo

Todos los artículos