Problema
Queremos que un agente mantenga documentación, clasifique incidencias o prepare pull requests. Para hacerlo útil le damos acceso al repositorio, a internet y a un token con permisos de escritura.
Ahí aparece una contradicción: el componente menos predecible del sistema recibe el canal más directo hacia el estado real.
Una instrucción mal interpretada, una página con prompt injection o un error de alcance puede convertir una tarea rutinaria en spam, exposición de secretos o cambios fuera de contexto.
Tesis
La seguridad agentiva mejora cuando separamos dos capacidades que solemos entregar juntas: razonar sobre un cambio y tener permiso para ejecutarlo.
El patrón Safe Outputs trata al agente como productor de propuestas no confiables. Puede leer, investigar y preparar una intención de escritura. Después, una capa determinista decide si esa intención pertenece a una operación permitida, respeta los límites y puede convertirse en efecto real.
El agente conserva flexibilidad cognitiva. La organización conserva control mecánico.
Framework
Diseña el flujo en cuatro zonas:
| Zona | Capacidad | Confianza | Control |
|---|---|---|---|
| lectura | repositorio, issues, documentación | limitada | allowlist y aislamiento |
| razonamiento | diagnóstico y propuesta | no confiable | sandbox y logs |
| staging | intención de escritura | pendiente | esquema, cantidad y destino |
| aplicación | PR, issue o comentario | determinista | filtros y revisión |
La frontera importante está entre staging y aplicación. El agente no “crea un PR” directamente. Emite una propuesta estructurada para crear uno. Otro componente valida operación, destino, contenido y volumen.
Postura: la inteligencia puede ser probabilística; el perímetro de escritura no.
Por que importa ahora
GitHub Agentic Workflows adopta lectura por defecto y operaciones de escritura mediante safe outputs. Su arquitectura aísla al agente, limita herramientas y red, y procesa las escrituras después de que el agente termine.
La capa puede restringir tipos y número de operaciones, filtrar patrones y retirar secretos antes de materializar un efecto. GitHub documenta además un caso cross-repo de Aspire donde el agente sólo puede crear borradores de pull request en ramas autorizadas, no tocar archivos protegidos y degradar a issue si la escritura falla.
Ese detalle es más importante que la capacidad de redactar documentación. El razonamiento sigue siendo flexible; el contrato de salida es pequeño, explícito y auditable.
Anti-ejemplo
“El token sólo vive durante el workflow, así que estamos seguros.”
La duración reduce exposición, pero el agente todavía puede usarlo durante la ventana válida. Si procesa inputs no confiables y puede ejecutar shell, leer entorno o llamar APIs, un token efímero sigue teniendo blast radius.
El control correcto no es esconder mejor un permiso amplio. Es no entregar al proceso no confiable una credencial que no necesita.
Protocolo (3 pasos)
- Pon el agente en lectura. Dale únicamente las fuentes y herramientas necesarias para entender la tarea.
- Define salidas admitidas. Tipo de operación, repositorios, ramas, archivos protegidos, volumen máximo y fallback.
- Procesa la escritura fuera del agente. Valida esquema, destino, secretos, contenido y revisión antes de aplicar.
| Pregunta de diseño | Respuesta débil | Contrato seguro |
|---|---|---|
| qué puede escribir | cualquier cosa con el token | operaciones enumeradas |
| dónde | toda la organización | repos y ramas permitidos |
| cuánto | sin límite | máximo por ejecución |
| qué no puede tocar | depende del prompt | archivos protegidos |
| qué ocurre si falla | reintenta libremente | issue, borrador o abortar |
Relacionado
- Prompt Injection Playbook: el riesgo invisible en equipos con IA
- Sandboxed Work: el nuevo perímetro de ejecución para agentes
- Output Verification Layer: el seguro invisible de los agentes en producción
Fuentes consultadas
- GitHub: Security architecture of Agentic Workflows
- GitHub: Automating cross-repo documentation with Agentic Workflows
- GitHub Changelog: Agentic Workflows technical preview
Próximo paso
Elige una automatización agentiva con permisos de escritura y redibújala en dos procesos: uno que propone y otro que aplica. Si no puedes enumerar las salidas admitidas, el agente todavía tiene demasiado poder.