Tu agente de código lee tu workspace. Un archivo envenenado en cualquier rincón
puede llevar instrucciones que el agente ejecuta. ¿Sabes qué fracción de tu
workspace tiene que leer para que eso ocurra? topowatch
mide eso.
El paper Workspace Topology as an Attack Vector in Agentic Coding Assistants
(arXiv:2608.14876, Day et al., 2026) demostró algo que intuíamos pero no
medíamos: la topología del workspace afecta mediblemente el Attack Success Rate (ASR) de la inyección indirecta. Los entornos altamente modulares
La razón es mecánica: si el agente acota su lectura al módulo de la tarea,
nunca llega al archivo envenenado. Si hace un wide read de todo el workspace,
lo lee siempre.
topowatch
es una herramienta de línea de comandos que, dado un workspace,
mide el ASR de una inyección indirecta de referencia bajo varias configuraciones
de topología, y reporta qué estructura minimiza el ASR.
Fundamentado en arXiv:2608.14876. Determinista y reproducible sin claves ni red:
usa un agente sintético configurable y un fixture con tres topologías (monolito,
modular, nesting profundo).
pip install -e ".[test]"
topowatch --json
Sobre el fixture de referencia (200 trials, semilla fija):
| Topología | ASR | % leído |
|---|---|---|
| Monolito (plano) | 1.000 | 100% |
| Modular (acotado) | 0.000 | 28.5% |
| Nesting profundo | 0.000 | 66.6% |
El reporte incluye read_budget
(fracción del workspace que lee el agente) y el
veredicto del defense contract: modular < monolito
.
v0.1 usa un agente sintético, no un coding assistant real (Claude Code /
Codex). El claim "modularidad → ASR menor" está anclado al fixture reproducible,
no a una medición contra un assistant real — eso es v0.2 (feature 002). El
objetivo de v0.1 es darte una herramienta para medir y recomendar modularidad,
no simular un ataque completo.
read_budget
continua.Repositorio: https://github.com/amurlaniakea/topowatch — AGPL-3.0-or-later.
Autor: Pedro Sordo Martínez.