Construí un git pre-push hook que usa un LLM para escanear tus diferenciales en busca de secretos antes de que salgan de tu máquina. Así es como funciona 🧵
Cuando ejecutas git push, el gancho se dispara primero. Identifica qué es nuevo — ya sea todos los commits en una nueva rama, o solo los nuevos commits en una ya existente — y genera un git diff de exactamente lo que va a salir.
Ese diferencial se envía a la CLI de Kimi con un prompt muy restringido. Se instruye al modelo para responder EXACTAMENTE con una de dos cadenas: SAFE_TO_PUSH o BLOCK_PUSH.
Escanea en busca de los sospechosos habituales: - Claves de API (OpenAI, Anthropic, AWS...) - Contraseñas y tokens de autenticación - Claves privadas (SSH, SSL, JWT secretos) - Cadenas de conexión de base de datos con credenciales - .env que se colaban en un commit
Si vuelve a BLOCK_PUSH, el gancho sale de 1 — el empuje es rechazado y ves exactamente qué líneas lo activaron, además de una calificación de gravedad. Arréglalo, luego vuelve a empujar.
Lo bueno de usar un LLM aquí en lugar de patrones regex es que entiende el contexto. Un regex para "sk-" detecta las teclas de OpenAI pero no detecta un token interno personalizado llamado PROD_SECRET. El modelo capta ambos.
255