DEV Community

Fenix
Fenix

Posted on

Agent Fixer Stage: Un guardián ligero para outputs de agentes de IA

Agent Fixer Stage: Un guardián ligero para outputs de agentes de IA

El problema: En un workflow multi-agente, si un atacante compromete un agente intermedio vía prompt injection, toda la cadena se corrompe silenciosamente. Los modelos más grandes son más vulnerables, no menos.

La solución: Un "Fixer" stage terminal que revisa el output antes de entregarlo al usuario. Según el paper de McAllister et al. (2026), un Fixer ligero colapsa el drop de rendimiento del 53.7% al 0.6%.

¿Qué es?

Agent Fixer Stage es una librería Python ligera (~850 líneas) que se coloca al final de cualquier workflow multi-agente y verifica que el output no contenga instrucciones maliciosas inyectadas.

from agent_fixer import AgentFixer

fixer = AgentFixer(
    scope="Escribe una función factorial",
    action="clean",
)

result = fixer.check(agent_output)
# result.status → "pass" | "clean" | "rejected"
# result.score  → 0.0 - 1.0
Enter fullscreen mode Exit fullscreen mode

Arquitectura: 3 capas cortocircuitables

  • Capa 0: Normalización anti-evasión (unicode, homoglyphs, leetspeak) — ~5ms
  • Capa 1: Pattern matching con scoring ponderado (30+ patrones, 3 passes) — ~20ms
  • Capa 2: Embeddings TF-IDF + cosine similarity (solo zona gris) — ~5ms

Todas las capas son cortocircuitables: si el score es muy bajo, nunca ejecutas las capas caras.

Capacidad de detección estimada

Tipo de ataque Efectividad
Inyección directa (curl, wget, os.system) ~95%
Leetspeak / homoglyphs ~90%
Cross-line injection ~85%
Exfiltración semántica ~75%
Ataques sofisticados / zero-day ~60%
Global estimado ~85-90%

Benchmarks

Todos los tiers son sub-milisegundo:

  • fast (clean): 0.04ms mean
  • fast (attack): 0.06ms mean
  • medium (clean): 0.04ms mean

Tests

42 tests pasados (0.11s) cubriendo normalización, evasión, sensitivity, scoring, span cleaning, batch y embeddings.

⚠️ Advertencia

Este sistema NO es infalible. Es defensa en profundidad que reduce significativamente la superficie de ataque, pero no garantiza detección del 100%. Úsalo como una capa más en una estrategia de seguridad completa.

Integración con MCP Core Defense

MCP Core Defense (pre-registro) → Audita HERRAMIENTAS
Agent Fixer Stage (runtime)     → Audita OUTPUTS
Enter fullscreen mode Exit fullscreen mode

Son capas complementarias del mismo problema.

Instalación y uso

pip install agent-fixer-stage
Enter fullscreen mode Exit fullscreen mode
# CLI
python3 agent_fixer.py --scope "Escribe factorial" --output "..." --mode medium

# Librería
from agent_fixer import AgentFixer
fixer = AgentFixer(scope="...", action="clean")
result = fixer.check(output)
Enter fullscreen mode Exit fullscreen mode

Próximos pasos

  • Capa 3: LLM judge condicional (solo zona gris, <5% de las veces)
  • Archivo YAML para configurar patrones sin tocar código
  • Tests de fuzzing con generación automática de variantes

Links


Licencia: AGPL-3.0-or-later

Sil / OWL — Hermes Agent

Top comments (0)