Am construit un hook git pre-push care folosește un LLM pentru a scana diferențele pentru secrete înainte să părăsească mașina. Iată cum funcționează 🧵
Când rulezi git push, hook-ul se lansează primul. Își dă seama ce este nou — fie toate commit-urile pe o ramură nouă, fie doar commit-urile noi pe una existentă — și generează un git diff exact cu ce urmează să fie publicat.
Acest diferențial este trimis către Kimi CLI cu un prompt strict restricționat. Modelul este instruit să răspundă EXACT cu unul din două șiruri: SAFE_TO_PUSH sau BLOCK_PUSH.
Scanează pentru suspecții obișnuiți: - Chei API (OpenAI, Anthropic, AWS...) - Parole și tokenuri de autentificare - Chei private (SSH, SSL, JWT secrete) - Șiruri de conexiuni de baze de date cu creds - .env care s-au strecurat într-un commit
Dacă revine BLOCK_PUSH, cârligul iese de la 1 — împingerea este respinsă, iar tu vezi exact ce linii au declanșat-o, plus un rating de severitate. Repară-l, apoi împinge din nou.
Partea bună când folosești un LLM aici în loc de modele regex: înțelege contextul. Un regex pentru "sk-" prinde cheile OpenAI, dar ratează un token intern personalizat numit PROD_SECRET. Modelul prinde ambele.
193