agent-shield-runtime v0.1.0: hook de despliegue que conecta 5 sensores de defensa de agentes IA

작성자

카테고리:

← 피드로
DEV Community · Fenix · 2026-07-20 개발(SW)
Cover image for agent-shield-runtime v0.1.0: hook de despliegue que conecta 5 sensores de defensa de agentes IA

Fenix

agent-shield-runtime v0.1.0: hook de despliegue que conecta 5 sensores de defensa de agentes IA

Los sensores de defensa de un agente no sirven si nada los invoca. Este repo intercepta cada tool-call y lo evalúa contra 5 sensores antes de ejecutarlo.

El problema

En el ecosistema de defensa de agentes IA (scope-lib, adi-shield, wallet-guard, goal-anchor, trajectory-sentinel) los 5 sensores están implementados y auditados. Pero son librerías: nadie los invoca en un agente real. Con los paquetes instalados y sin un hook, el agente ejecuta sus tool-calls directos y los sensores se quedan en disco. La detección que demostramos en tests unitarios no ocurre en producción.

La solución

agent-shield-runtime es el sexto repositorio: un hook de despliegue que intercepta cada tool-call del agente y lo despacha a los 5 sensores en orden, antes de ejecutarlo:

  1. scope-lib — evaluación de alcance (3 criterios, fail-safe).
  2. adi-shield — detección de inyección de prompt (ADI) en 5 vectores.
  3. wallet-guard — guardrails de bucle y presupuesto.
  4. goal-anchor — integridad de objetivo (deriva brusca).
  5. trajectory-sentinel — correlación agregada de señales vía bus compartido.

Si cualquier sensor dice block, la acción NO se ejecuta. Si hay confirm, se pausa a humano. Solo si todos dicen allow se ejecuta el tool nativo.

Cómo funciona

El runtime envuelve el executor del agente. El núcleo solo conoce GenericToolCall; los adaptadores de framework (LangChain, AutoGen, loop propio) traducen el tool-call nativo a ese formato y viven aislados. Así el runtime es reutilizable sin acoplarse a ningún agente concreto, y los 5 sensores no cambian: este repo solo orquesta.

Resultados verificados

  • 5 tests de integración end-to-end (tests/test_integration_e2e.py) contra los 5 sensores REALES instalados (sin mocks de sensor): AC1 (deny bloquea y no ejecuta), AC2 (inyección ADI bloquea), AC3 (deriva brusca confirma), AC5 (integración sin modificar los sensores).
  • CI verde en GitHub Actions (ruff + pytest + bandit + gitleaks) en entorno limpio.
  • Licencia AGPL-3.0-or-later (texto oficial FSF verbatim).

Lo que queda abierto (honestamente)

  • WebTrap sutil no se cierra. El hook extiende la cobertura de despliegue, no la de detección. Los vectores de deriva sutil que preservan apariencia de alcance (T1/T2/T4) siguen sin detectarse en la Capa 1 de goal-anchor (benchmark corregido: TPR=0.25 real, FPR=0.0). Cerrarlos requiere semántica real, descartada por peso en esta fase.
  • Adaptador de framework real pendiente. Hoy solo el adaptador genérico; el cableado al executor nativo de LangChain/AutoGen es el siguiente hito (H3).
  • Auditoría independiente en curso. El repo se hizo público para que un auditor externo lo clone y verifique en fresco.

Pruébalo

git clone https://github.com/amurlaniakea/agent-shield-runtime.git
cd agent-shield-runtime
python -m venv .venv && . .venv/bin/activate
pip install -e .
pytest

Enter fullscreen mode Exit fullscreen mode

Stack

Componente Rol ShieldRuntime intercepta y decide block/confirm/allow GenericToolCall formato interno neutro LocalSignalBus bus compartido de señales los 5 sensores evaluación por especialidad

Links

Licencia: AGPL-3.0-or-later · Autor: Pedro Sordo Martínez

원문에서 계속 ↗

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다