المقدمة
Patchwire هي منصة إدارة ثغرات أمنية ذاتية الاستضافة مصمَّمة للفِرق الصغيرة التي تريد فحصاً أمنياً مستمراً على مستوى الكود دون الاشتراك في خدمة سحابية.
تربط المستودع، فيقوم Patchwire بنسخه (clone)، وتشغيل Semgrep لتحليل الكود الثابت، وGitleaks لكشف الأسرار، ثم تجميع النتائج وحفظها لكل مستأجر، وإصدار تقرير PDF منسَّق. الـwebhooks من Forgejo وGitHub وGitLab وBitbucket تُطلق الفحوصات تلقائياً، والمستودعات الخاصة مدعومة عبر رموز وصول مشفَّرة لكل مشروع.
ما الذي يفعله
| القدرة | كيف تعمل |
|---|---|
| فحص SAST | تشغيل Semgrep بمجموعة القواعد الافتراضية على كل دفعة. |
| كشف الأسرار | Gitleaks يفحص الشجرة المنسوخة. النتائج تُجمَّع مع نتائج SAST. |
| عزل المستأجرين | كل صف يحمل org_id؛ كل استعلام يُرشِّح به. الـJWT مرتبط بمنظمة واحدة. |
| استقبال الـWebhooks | دفعات HMAC مُتَحقَّق منها من أربعة مزودين، تُربط بمنظمة/مشروع عبر مسار owner/name. |
| استنساخ المستودعات الخاصة | رمز PAT لكل مشروع، مشفَّر بـAES-256-GCM، يُفكَّك تشفيره داخل مهمة الفحص فقط. |
| التقارير | ملخّص خطورة لكل فحص؛ تصدير PDF بـ@react-pdf/renderer. |
ما لا يفعله
- ليس منصة أمن وقت تشغيل. Patchwire يقرأ كود المصدر؛ لا يراقب التطبيقات أثناء العمل ولا حركة الشبكة ولا يفحص الحاويات.
- ليس بديلاً عن SCA. مطابقة ثغرات الاعتماديات مع قاعدة CVE موجودة في خارطة الطريق؛ اليوم الفحص محصور في SAST + الأسرار.
- ليس Auth0. نموذج المصادقة بسيط: JWT لكل منظمة، بدون SSO أو SAML. مناسب لفريق واحد يريد الإطلاق.
البنية في فقرة واحدة
API مكتوب بـRust (Axum + SQLx، ملف تنفيذي واحد) هو المكوِّن الوحيد ذو الحالة إلى جانب Postgres. الواجهة الأمامية تطبيق Next.js 14 على patchwire.app؛ التوثيق هو موقع VitePress الذي تقرأه. الفحوصات تعمل داخل بود الـAPI عبر tokio::spawn — سريعة بما يكفي لإعادة 200 خلال مهلة الـ10 ثوانٍ التي يفرضها المزوِّد، وبطيئة بما يجعلنا ننقلها لاحقاً إلى طابور حقيقي عند أول جدار تزامن. كل شيء يُشحن كصور Docker من سجل Forgejo خاص، وينُشر على k3s مع sealed-secrets وcert-manager.
متى تستخدم Patchwire
- لديك فريق صغير (1–10 مهندسين) على بنيتك التحتية الخاصة.
- تحتاج سجلاً ورقياً يقول "الفحص الفلاني تم، النتائج هذه، وهذا ملف PDF" لأغراض الامتثال أو العقود.
- تريد أداة قابلة لإعادة البناء من المصدر بلا مفاجآت — كل مسار فحص، وكل بيانات اعتماد، وكل قرار تخزين موجود في مستودع واحد.
متى تبحث عن بديل
- تحتاج نتائج داخل الـIDE قبل دمج الكود لمنظمة من 200 مهندس.
- تتطلب مصادقة موحَّدة SSO أو SAML أو دفق سجلات تدقيق على مستوى مؤسسي.
- الكود مستضاف على نوع مستودع لا يدعمه Patchwire بعد (مثل SVN أو Mercurial أو Azure DevOps Server).
التالي
تابع إلى البدء السريع لتسجيل مستأجر وتشغيل أول فحص، أو انتقل إلى المفاهيم الأساسية للاطلاع على نموذج البيانات.