He creado un gancho pre-push de git que utiliza un LLM para escanear tus diferencias en busca de secretos antes de que salgan de tu máquina. Así es como funciona 🧵
Cuando ejecutas git push, el gancho se activa primero. Determina qué hay de nuevo: ya sea todos los commits en una nueva rama, o solo los nuevos commits en una existente, y genera un git diff de exactamente lo que está a punto de salir.
Esa diferencia se envía al Kimi CLI con un aviso estrictamente limitado. Se instruye al modelo a responder con EXACTAMENTE una de las dos cadenas: SAFE_TO_PUSH o BLOCK_PUSH.
Escanea en busca de los sospechosos habituales: - Claves API (OpenAI, Anthropic, AWS…) - Contraseñas y tokens de autenticación - Claves privadas (SSH, SSL, secretos JWT) - Cadenas de conexión a la base de datos con credenciales - Archivos .env que se colaron en un commit
Si vuelve BLOCK_PUSH, el gancho sale 1 — el push es rechazado, y ves exactamente qué líneas lo provocaron, además de una calificación de severidad. Corrígelo, luego empuja de nuevo.
Lo bueno de usar un LLM aquí en lugar de patrones regex: entiende el contexto. Un regex para "sk-" captura las claves de OpenAI pero se pierde un token interno personalizado llamado PROD_SECRET. El modelo captura ambos.
275