goal-anchor v0.1.0: integridad de objetivo para agentes multi-paso
DEV Community

goal-anchor v0.1.0: integridad de objetivo para agentes multi-paso

goal-anchor v0.1.0: integridad de objetivo para agentes multi-paso Sensor contra Agent Goal Hijack: detecta desviación del objetivo acordado, con ancla confirmada por humano y ampliación autorizada en medio del paso.

El problema

En tareas largas, un atacante puede redirigir al agente hacia un objetivo distinto manteniendo apariencia de éxito (WebTrap). Hace falta una referencia de objetivo que el humano confirma y que el agente no puede reescribir solo.

Qué hace goal-anchor

Expone GoalAnchor, AnchorProposal y DriftMonitor.

  • Capa 1 (estructural, 0-LLM): señal acumulada de hitos reclamados fuera del ancla. Detecta deriva brusca (caso T3 del corpus).
  • Capa 2 (semántica): interfaz pluggable de embedder. El stub por defecto no es operacional a propósito - documentado como gap conocido.
  • confirm_amplification(): ampliación tardía validada (el ancla debe estar confirmada primero) que retrata cicatrices sin borrar el rastro.

Cómo funciona

from goal_anchor.anchor import GoalAnchor, AnchorProposal

ga = GoalAnchor("store.json", human_secret="h")
a = ga.propose(AnchorProposal("t1", "precios de vuelos a Madrid", ["research_prices"]))
ga.confirm(a)  # ancla fijada por humano
sig = ga.report_drift("t1", "iii_transitive", "otra_cosa")
print(sig.soft_score)  # 0.0..1.0, determinista

Resultados de la auditoría

  • 18 tests en goal-anchor, todos verdes; ruff limpio.
  • Auditado en clone fresco (rama main, commit 7b10ce2).

Limitaciones (honestamente)

La Capa 2 no cierra el vector WebTrap sutil (T1/T2/T4): redirecciones con texto lexicalmente ortogonal al ancla. Lo verifiqué contra el corpus - ninguna técnica léxica sin modelo (n-gramas, TF-IDF, edición) da señal sobre 0.00 ahí. Quedó como gap documentado, no maquillado. El hook de ejecución real no está desplegado.

Pruébalo

git clone --branch main https://github.com/amurlaniakea/goal-anchor.git
cd goal-anchor && python -m venv .venv && . .venv/bin/activate
pip install -e .
pytest tests/ -v

Links

Comments

No comments yet. Start the discussion.