trajectory-sentinel v0.1.0: correlación de señales de defensa de agentes
Monitor que junta las señales de
adi-shield,wallet-guardy
goal-anchory detecta ataques que un solo sensor no ve.
El problema
Cada sensor ve una parte. Un atacante puede pasar por uno que dice "allow" si
otro ve deriva. Hace falta una capa que correlacione las señales y decida por
la trayectoria completa, no por cada tool-call aislado.
Qué hace
trajectory-sentinel expone TrajectorySentinel y correlate(). Reglas
deterministas (0-LLM):
-
block/killde cualquier sensor corta. -
goal-anchorve deriva mientras los demás dicenallow→ confirma riesgo. -
goal-anchoremitedrift_retract(ampliación humana tardía) → revisa el veredicto aallow, sin congelarse ni ocultar la alerta previa. - ≥2 sensores en
confirm→ confirm agregado.
Cómo funciona
from trajectory_sentinel.monitor import TrajectorySentinel
from adi_shield.bus import LocalSignalBus
bus = LocalSignalBus()
sentinel = TrajectorySentinel(bus)
bus.publish(signal) # Signal de cualquier sensor
rec = sentinel.report(task_id="t1")
print(rec.to_dict()["correlated"]["verdict"])
El bus real (LocalSignalBus) se usa en los tests E2E; la integración con
goal-anchor está verificada de punta a punta.
Resultados de la auditoría
- 13 tests en
trajectory-sentinel, todos verdes;rufflimpio. - Auditado en clone fresco (rama
main, commit35c02e2).
Limitaciones (honestamente)
La retractación es por tarea completa, no por sub-objetivo: si dos
sub-objetivos derivan y solo uno se retracta, la tarea baja a allow entera.
Está documentado en el README. El sistema no está desplegado como middleware de
un agente real.
Pruébalo
git clone --branch main https://github.com/amurlaniakea/trajectory-sentinel.git
cd trajectory-sentinel && python -m venv .venv && . .venv/bin/activate
pip install -e . && pip install -e ../adi-shield && pip install -e ../goal-anchor
pytest tests/ -v
Links
Licencia: AGPL-3.0-or-later. Autor: Pedro Sordo Martínez.
Top comments (0)