La IA sin supervisión debe fallar de forma cerrada: centraliza la configuración y registra las denegaciones
Los agentes sin supervisión no deben quedarse colgados esperando a un humano; centraliza la configuración, deniega las solicitudes sin resolver y registra esas denegaciones como resultados del pipeline.
| Autor | Prompt & Product — Redacción |
|---|---|
| Publicado | 15 septiembre 2026 |
| Lectura | 4 MIN |

Un trabajo de CI puede quedarse atascado mientras el agente espera a un humano. Antes de Claude Code v2.1.259, una solicitud de permiso sin responder en una ejecución sin supervisión en modo de impresión se quedaba parada hasta que un tiempo de espera externo del trabajo o un límite de pasos de CI matara el proceso. El trabajo debe detener la acción, registrar la denegación y dejar que el pipeline decida.
Anthropic publicó las versiones 2.1.259, 2.1.260, 2.1.261 y 2.1.263 de Claude Code el 2, 3, 4 y 6 de septiembre de 2026, siendo 2.1.263 publicada a las 02:07 UTC. El patrón es de permisos con fallo cerrado: el límite decide antes de que el modelo solicite intervención humana.
El Secure AI Framework de Google establece un estándar de permisos para agentes: privilegios mínimos necesarios, alcance dinámico de permisos y control explícito del usuario para acciones sensibles. La guía emergente de OWASP sobre aplicaciones agénticas indica limitar las capacidades de la IA en el límite del sistema en lugar de depender de la prosa.
Regla de despliegue: primero centraliza la configuración del servidor, luego añade la red de seguridad de denegación; registra las denegaciones como resultados del pipeline, no como bloqueos.
Centraliza el límite antes de desplegar el agente
Inventario las herramientas que el agente puede invocar y marca cada una como solo lectura, escritura o portadora de secretos. El estado final es una tabla que tu equipo puede revisar en una pull request, con el propietario nombrado para cada fila.
Mueve los puntos finales compartidos a la configuración centralizada. La configuración managedMcpServers de Claude Code permite a un administrador central definir las conexiones de servidores MCP HTTP y SSE, los puntos finales de las herramientas, para todos los runners en lugar de requerir configuración local en cada runner. El objetivo es un runner que inicia sin configuración local de herramientas y aun así alcanza los mismos servidores aprobados.
Revisa la configuración en la misma pull request que modifica el agente. Un revisor debe ver la nueva herramienta, el propietario y la ruta de denegación antes de que se ejecute el trabajo.
Deniega las solicitudes sin resolver de inmediato
Establece la bandera de denegación en el trabajo sin supervisión. La versión v2.1.259 introdujo la configuración --permission-prompts none, que rechaza de inmediato las solicitudes de aprobación humana sin resolver e instruye a Claude a dejar de reintentarlas.
Mantén la ruta de aprobación humana para las ejecuciones con supervisión. La ruta sin supervisión debe ser la que no puede esperar.
Prueba la ruta de denegación con una acción inofensiva que requiera aprobación. Una ejecución local debe mostrar la denegación antes que el trabajo de producción.
La advertencia es fácil de pasar por alto: una lista de denegaciones puede parecer ruido, y la respuesta tentadora es ampliar los permisos. Eso convierte un límite registrado en un agujero silencioso.
Registra la denegación como resultado del pipeline
Escribe la denegación en el registro del trabajo. Cuando se usa --output-format stream-json, las denegaciones causadas por --permission-prompts none aparecen como mensajes de sistema permission_denied y se incluyen en el campo permission_denials del resultado final.
Haz que el pipeline falle cuando el campo de denegación no esté vacío. Una denegación es un resultado, por lo que debe recibir el mismo tratamiento que una prueba fallida o un error de lint.
Conserva el registro de denegación al menos durante la misma ventana de retención que el artefacto de compilación. Un análisis post-mortem debe encontrar la denegación exacta sin pedirle al modelo que recuerde.
Ese registro se convierte en el elemento de la lista de verificación de lanzamiento del agente: ningún despliegue de agente sin interfaz se publica hasta que la ruta de denegación sea visible, accionable y con propietario asignado.
Haz que la denegación sea útil, no solo visible
Recorta el contexto una vez que la ruta de denegación funcione. Claude Code 2.1.261 añadió el comando /skill-doctor, que lista las habilidades que no se están utilizando y muestra el costo de contexto asociado a cada una.
Revisa la caché antes de culpar al modelo. Claude Code 2.1.260 hizo visibles las razones de los fallos de la caché de prompts en el comando /cost y en la línea de estado.
Los flujos de trabajo de GitHub Actions que usan el disparador pull_request_target, una configuración que la mayoría de las integraciones de agentes de IA necesitan para acceder a secretos, colocan secretos en el entorno del runner. Durante la explotación Comment and Control, el agente de IA obtuvo una clave API de la variable de entorno del runner, la codificó dentro de un comentario de pull request y la envió a través de la API de GitHub. Eliminar el acceso a bash del agente de revisión de código habría bloqueado toda la cadena de ataque.
La tarjeta de sistema de Opus 4.7 de Anthropic indica que Claude Code Security Review carece de endurecimiento contra inyección de prompts. El ensayo de Addy Osmani del 7 de junio de 2026 sobre ingeniería de bucles afirma que el modelo generador de código es capaz, mientras que los bucles de agentes mal diseñados fallan en el verificador. Revisa la ruta de denegación antes de revisar la salida del modelo.