Seguridad
Agent NAS no detiene la inyección de prompts; limita lo que ocurre después. Una concesión estrecha acota lo que una ejecución puede tocar, las ramas hacen reversibles los errores, la Rule of Two impide que una sesión que leyó contenido no fiable tenga además datos sensibles y un canal de salida, y queda un registro trazable.
Alcance y supuestos de confianza
- Qué protegemos: los datos y el historial del NAS; la frontera de la autoridad; la integridad del registro; la trazabilidad de la memoria.
- Qué no protegemos: lo que hace un agente fuera del NAS; el aislamiento del propio cómputo (es tarea del sandbox); cualquier cosa que ocurra en el lado del proveedor del modelo.
- Supuestos de confianza: la base de cómputo confiable (TCB) es la pasarela del NAS, el motor de políticas y el servicio de registros; el host no está comprometido; el sandbox aísla el cómputo. Si la TCB se ve comprometida, las garantías de esta página dejan de valer.
La Rule of Two: un invariante de sesión
Tres propiedades: [A] la sesión ha leído contenido no fiable, [B] la concesión permite leer datos sensibles, [C] la concesión permite cambiar un estado protegido o comunicarse hacia el exterior. Cuando las tres se cumplen en una misma sesión, la llamada que activa C no se deja pasar de forma automática.
| Escenario | A | B | C | Resultado |
|---|---|---|---|---|
| Resumir una página web en una nota de la rama | Sí | Sí | No (solo la rama) | Automático: una escritura dentro de la rama no cuenta como C. |
Tras leer una página web, proponer una fusión en main | Sí | Sí | Sí | Human Gate. |
| Leer solo datos públicos y escribir en una zona temporal | Sí | No | No | Automático. |
| Tras leer un correo externo, enviar un correo (salida) | Sí | Sí | Sí | Compuerta; se rechaza si interviene secret. |
Es la Agents Rule of Two de Meta aplicada en la frontera del almacenamiento. La propia Meta subraya que es una heurística para reducir el riesgo, no un punto final, y que no sustituye al mínimo privilegio; nosotros la usamos igual. El mecanismo está en Trust Labels.
Modelo de amenazas
| Amenaza | Qué puede imponer el NAS | Qué no puede hacer el NAS | Riesgo residual |
|---|---|---|---|
| T1 Inyección indirecta de prompts (por archivos, páginas web, correo) | La Rule of Two; el acotamiento de las concesiones; las ramas; las compuertas. | Impedir que ocurra una inyección, o detener un comportamiento malicioso dentro de la concesión después de una. | Uso indebido dentro de la concesión. |
| T2 Fuga de credenciales (un agente lee una clave de larga duración) | Las credenciales de larga duración nunca están en manos de una ejecución; un escáner de secretos marca secret; TTL cortos. | Impedir que un agente envíe datos, dentro de su concesión, a una salida autorizada. | Datos que salen dentro de la concesión. |
| T3 Permisos demasiado amplios y errores | Concesiones estrechas; ramas; borrado lógico; instantáneas fuera de toda concesión. | Deshacer efectos secundarios fuera del NAS. | Consecuencias más allá del NAS. |
| T4 Envenenamiento de la memoria (incluida su propagación entre roles) | Procedencia y contaminación; cuarentena; carga automática solo si está revisada; reversión. | Reconocer hechos que son falsos pero parecen plausibles. | Veneno que deja pasar un revisor. |
| T5 Concesiones robadas o reutilizadas (replay) | TTL corto; revocable; vinculación opcional al titular (DPoP, mTLS). | Impedir el abuso dentro del TTL. | La ventana del TTL. |
| T6 Fatiga de aprobación y aprobar por inercia | Compuertas poco frecuentes; el NAS genera el diff; aprobaciones ligadas a un digest; tasa de aprobación supervisada. | Conseguir que las personas miren con atención. | Error humano. |
| T7 Manipulación de registros | Cadena de hashes; anclaje externo opcional. | Sin anclaje, impedir que root destruya el registro. | Un administrador malicioso. |
| T8 Exfiltración de datos (salida, uso compartido, resultados de búsqueda) | La salida necesita una acción de concesión y una compuerta; secret no puede salir; los derivados heredan las etiquetas. | Evitar fugas después de que una persona apruebe; canales encubiertos. | Fugas después de la aprobación. |
| T9 Cadena de suministro (habilidades, servidores MCP, plugins, modelos) | El contenido de las habilidades y de los servidores MCP externos se trata como external; un directorio de habilidades se puede fijar a un commit; el manifiesto del runtime se escribe en el registro. | Garantizar que el código de terceros sea inofensivo. | Una versión maliciosa fijada. |
| T10 Agotamiento de recursos (bombas de ramas, presupuestos agotados, bucles de lectura) | Cuotas; TTL; presupuestos; cortacircuitos. | Distinguir una tarea grande legítima de una descontrolada. | Denegación de servicio local. |
Controles
- Motor de políticas: determinista (al estilo de Cedar o Rego), denegación por defecto, y al denegar da un motivo legible y la regla que coincidió; no llama a ningún LLM.
- Credential broker: las claves de larga duración se quedan con el broker; este emite tokens descendentes de corta duración para una ejecución solo dentro de una acción de salida aprobada.
- Aislamiento y claves: un Home y un espacio de rutas por rol; la clase de retención
sensitiveusa un dominio de claves separado. - Cadena de suministro: el contenido de las habilidades, los servidores MCP y los plugins se trata como
external; al empezar una ejecución, las habilidades y versiones usadas se escriben en el registro.
Límites honestos
- Esto no es una defensa contra la inyección de prompts. Limita las consecuencias y las hace visibles.
- Los permisos legítimos dentro de una concesión aún se pueden usar mal.
- No puede hacer nada con los efectos secundarios fuera del NAS: un correo ya enviado, una API ya llamada.
- Los canales encubiertos y los canales laterales quedan fuera del alcance.
- Si la TCB se ve comprometida, las garantías fallan.
- Las personas se equivocan: las compuertas reducen ese riesgo pero no pueden eliminarlo.
- La contaminación es conservadora y trae fricción y falsos positivos; necesita ajuste y motivos de denegación visibles.
- La destrucción criptográfica solo protege las copias que controlamos.
Respuesta a incidentes
- Cortacircuitos:
revoke_runyrevoke_rolerevocan las concesiones de inmediato y congelan la rama. - Reversión: restaura el árbol afectado a un commit anterior.
- Rastreo: usa el manifiesto de lectura y la cadena de registros para averiguar qué leyó una ejecución, qué escribió y qué notas tocó.
- Limpieza: usa Cascade Forget para borrar los derivados afectados y emite un informe.
Observabilidad y auditoría
- Tres tipos de datos: el registro (eventos), el manifiesto de lectura (el conjunto de entradas), y las métricas y trazas.
- **
explain(commit):** devuelve qué ejecución y qué concesión produjeron un commit, qué compuertas atravesó, qué se leyó y de qué entradas depende. - Integración con la observabilidad existente: una ejecución se asigna a un span de OpenTelemetry GenAI, con las concesiones y las compuertas adjuntas como eventos; los registros se pueden exportar como JSON Lines o enviar a un SIEM.
- Métricas: tasas de emisión y denegación de concesiones; longitud de la cola de compuertas, tasa y latencia de aprobación; número y antigüedad de las ramas; frescura de los índices; consumo de presupuesto; resultados de la verificación de la cadena de registros.
- Privacidad y retención: por defecto solo se registran metadatos, nunca contenido; la retención de los registros y el borrado del contenido son independientes; leer el propio registro requiere una concesión.
Citar esta página
Direcciones estables y una cita sugerida para personas, buscadores y agentes.
- URL canónica
- https://agentnas.com/es/security/
- Versión en Markdown
- https://agentnas.com/es/security/index.md
- Cita sugerida
- Agent NAS project. “Seguridad.” agentnas.com, 2026-11-11. https://agentnas.com/es/security/