Noticias de Gate News, el 25 de marzo, ingenieros de Ant Group, autores del framework frontend Umi.js, realizaron ingeniería inversa del código fuente de Claude Code 2.1.81 y restauraron completamente el mecanismo de decisión en Modo Automático. El hallazgo principal: cada llamada a herramienta pasa por una línea de cuatro decisiones, y solo cuando las tres primeras no puedan determinar, se invoca un clasificador de IA independiente para la revisión de seguridad.
La línea de decisiones consta de cuatro niveles: el primero verifica las reglas de permisos existentes, y si hay una coincidencia, se permite directamente; el segundo simula el modo acceptEdits (permiso para editar archivos), y si en este modo se aprueba, indica un riesgo muy bajo y se omite el clasificador; el tercero revisa la lista blanca de herramientas de solo lectura (Read, Grep, Glob, LSP, WebSearch, etc.), que no modifican ningún estado y se permiten sin condiciones; si ninguna de estas condiciones se cumple, se pasa al cuarto nivel, que envía una solicitud API independiente a Claude Sonnet para clasificación de seguridad.
Los detalles clave del diseño del clasificador incluyen: usar siempre Sonnet en lugar de Opus, como un equilibrio entre costo y latencia; establecer la temperatura en 0 para garantizar resultados deterministas; el clasificador se define como un «monitor de seguridad para agentes autónomos de programación IA», protegiendo contra tres tipos de riesgos (inyección de prompts, propagación de alcance, daños accidentales); el archivo de configuración CLAUDE.md del usuario se inyecta en el contexto del clasificador, sirviendo como base para interpretar la intención del usuario.
Las reglas de bloqueo cubren más de 22 categorías, incluyendo force push, push directo a la rama main, descarga y ejecución de código externo, despliegue en producción, fuga de datos, modificación de permisos, creación de vectores de ejecución remota, filtración de credenciales, etc. Las excepciones de permiso incluyen 7 tipos: claves codificadas de prueba, operaciones con archivos locales en el directorio de trabajo, solicitudes GET de solo lectura, instalación de dependencias declaradas, instalación de herramientas oficiales, lectura de credenciales de configuración enviadas al proveedor objetivo, y push a la rama de trabajo actual.
El sistema también implementa un mecanismo de corte: después de 3 rechazos consecutivos o 20 rechazos acumulados, el sistema pasa a modo de confirmación manual; en modo headless, se detiene directamente el agente. Cuando el clasificador no está disponible, una bandera de función controla si el sistema opera en modo «fail-closed» (rechazo directo) o «fail-open» (degradación a confirmación manual).
En modo Automático, la inyección de palabras clave de comportamiento tiene un control de frecuencia preciso: se inyecta cada 5 turnos de diálogo, y en cada ciclo de 5 inyecciones, la primera es la versión completa (aproximadamente 800 palabras, incluyendo instrucciones como «ejecutar inmediatamente, reducir interrupciones, acción sobre planificación» y otras seis directrices), mientras que las otras 4 son versiones resumidas en una línea, equilibrando el uso del espacio en la ventana de contexto y la estabilidad del comportamiento.