لقد صنعت خطاف git pre-push يستخدم نموذج LLM لمسح التفاضلات بحثا عن الأسرار قبل أن تغادر جهازك. إليك كيف يعمل 🧵 الأمر
عندما تستخدم حركة git push، يطلق الخطاف أولا. يكتشف ما هو جديد — إما أن يكون كل الالتزامات على فرع جديد، أو فقط الالتزامات الجديدة على فرع قائم — ويولد اختلاف git لما هو على وشك الإصدار.
يتم إرسال هذا الفرق إلى Kimi CLI مع طلب مقيد بشدة. يطلب من النموذج الاستجابة بواحد من سلسلتين فقط: SAFE_TO_PUSH أو BLOCK_PUSH.
يفحص المشتبه بهم المعتادين: - مفاتيح API (OpenAI، Anthropic، AWS...) - كلمات المرور ورموز المصادقة - مفاتيح خاصة (أسرار SSH، SSL، JWT) - سلاسل اتصال DB مع الاعتمادات - ملفات .env التي تسللت إلى التزام
إذا عاد BLOCK_PUSH، يخرج الخطاف من 1 — يتم رفض الدفع، وترى بالضبط أي الخطوط هي التي أطلقته، بالإضافة إلى تصنيف الشدة. أصلحها، ثم اضغط مرة أخرى.
الشيء الجميل في استخدام نموذج لغة كبيرة هنا بدلا من أنماط الريجيكس: هو يفهم السياق. يكتشف رمز "sk-" مفاتيح OpenAI لكنه يفوته رمز داخلي مخصص يدعى PROD_SECRET. النموذج يلتقط الاثنين معا.
‏‎208‏