
pmg v0.26.0
PMG يحمي المطورين ووكلاء الذكاء الاصطناعي من الحزم الضارة مفتوحة المصدر باستخدام proxy و sandbox وتغذية معلومات التهديدات من SafeDep.
Package Manager Guard (PMG)
احجب حزم npm و pip الخبيثة قبل تثبيتها.
دفاع متعدد الطبقات لمديري الحزم الذين تستخدمهم بالفعل.
لماذا PMG؟
يقوم المطورون ووكلاء البرمجة بالذكاء الاصطناعي بتثبيت الحزم كل يوم. كل أمر npm install أو pip install ينفّذ آلاف الأسطر من التعليمات البرمجية التي لا يراجعها أحد.
اختراقات حديثة في أنظمة بيئية شائعة:
- Mini Shai-Hulud - اختراق أكثر من 300 حزمة شائعة
- litellm 1.82.8 - اختراق مكتبة وسيط ذكاء اصطناعي شائعة لتسريب بيانات الاعتماد
- telnyx 4.87.2 - اختطاف SDK اتصالات شرعي على PyPI
- pino-sdk-v2 - حزمة typosquat متنكّرة في هيئة مسجّل pino الشهير
PMG مجاني ومفتوح المصدر (Apache 2.0)، ولا يتطلب حسابًا أو مفتاح API. يعترض كل عملية تثبيت حزمة ويفحصها مقابل واجهة SafeDep المجتمعية المجانية بحثًا عن برمجيات خبيثة معروفة قبل تنفيذ الكود. ثبّته مرة واحدة، وسيغطي كل أمر npm install و pip install و poetry add بعد ذلك.
كيف يعمل PMG
يتبنّى PMG نهج الدفاع متعدد الطبقات. بدون إعدادات، يعمل عبر Zsh و Bash و Fish، وتمر كل عملية تثبيت عبر طبقات الحماية المفعّلة قبل تشغيل الكود، مع سجل تدقيق بعد ذلك.
تفاصيل الطبقات
- الاعتراض الشفاف - يغلّف PMG أوامر
npmوpipومديري الحزم الآخرين. يستخدم المطورون ووكلاء الذكاء الاصطناعي نفس الأوامر. لا تغييرات في سير العمل. - الطبقة 1: استخبارات التهديدات - يفحص PMG كل حزمة مقابل استخبارات التهديدات الفورية من SafeDep قبل التثبيت. تُحجب الحزم الخبيثة المعروفة. لا حاجة لمفتاح أو تسجيل دخول.
- الطبقة 2: السياسة (فترة تهدئة التبعيات) - يحجب PMG إصدارات الحزم المنشورة داخل نافذة تهدئة قابلة للتهيئة، بحيث يتم تخطي الإصدارات المخترقة حديثًا خلال تلك النافذة.
- الطبقة 3: بيئة معزولة اختيارية - عند تفعيل العزل وتهيئته، يشغّل PMG عمليات التثبيت داخل بيئات معزولة أصلية لنظام التشغيل (macOS Seatbelt، وLinux Landlock افتراضيًا، أو Bubblewrap كبديل) بحيث تكون لسكربتات التثبيت صلاحيات نظام مقيّدة حتى لو تجاوز تهديد ما الطبقتين الأوليين.
- سجل التدقيق - يسجّل PMG كل عملية تثبيت (ماذا، ومتى، ومن أين) للحصول على سجل تدقيق قابل للتحقق.
كيف يقارن PMG
PMG هو جدار الحماية الوحيد المجاني ومفتوح المصدر للحزم عند وقت التثبيت الذي يغطي المطورين ووكلاء الذكاء الاصطناعي على حد سواء، ويأتي مع العزل وفترة التهدئة جاهزًا.
| القدرة | PMG | Socket | safe-chain | Snyk | Dependabot |
|---|---|---|---|---|---|
| مفتوح المصدر / يُبنى علنًا | ✓ | ✗ | ✓ | ✗ | ✗ |
| بدون حساب أو مفتاح API | ✓ | ✓ | ✓ | ✗ | ✗ |
| حجب الحزم الخبيثة عند وقت التثبيت | ✓ | ✓ | ✓ | ✗ | ✗ |
| سياسة فترة تهدئة التبعيات | ✓ | ✗ | ✓ | ✗ | ✗ |
| العزل عند وقت التشغيل | ✓ | ✗ | ✗ | ✗ | ✗ |
| يحمي وكلاء البرمجة بالذكاء الاصطناعي بشفافية | ✓ | ✗ | ✗ | ✗ | ✗ |
| سجلات تدقيق محلية | ✓ | ✗ | ✗ | ✗ | ✗ |
| طلبات سحب لإصلاح ثغرات CVE المعروفة | ✗ | ✗ | ✗ | ✓ | ✓ |
البدء السريع
1. التثبيت
curl -fsSL https://raw.githubusercontent.com/safedep/pmg/main/install.sh | sh
راجع التثبيت لطرق Homebrew و npm وغيرها.
2. الإعداد
اربط PMG بالصدفة (shell) الخاصة بك ليعترض مديري الحزم.
pmg setup install
# Restart your terminal to apply changes
نصيحة: أعد تشغيل
pmg setup installبعد ترقية PMG لالتقاط خيارات التهيئة الجديدة.لجميع المستخدمين / الصور الذهبية:
sudo pmg setup install --systemعلى Linux، أوpmg setup install --systemكمسؤول على Windows — راجع docs/system-install.md.
تحقق من صحة تثبيتك وتأكد من عمل الحماية:
pmg setup doctor
اختياري: يفحص PMG حركة مرور HTTPS باستخدام شهادة CA فورية يحقنها في مديري الحزم لكل تشغيل. للحفاظ على شهادة CA واحدة عبر التشغيلات والوثوق بها في مخزن الثقة لنظام التشغيل (مطلوب للأدوات التي تتجاهل متغيرات بيئة CA، مثل Go على macOS وWindows)، ثبّتها مرة واحدة:
pmg setup cert install # user scope, no sudo pmg setup cert status # check trust state and expiryراجع Certificate Authority للنطاقات والتجديد والإزالة.
3. الاستخدام
شاهد PMG وهو يحجب التهديدات.
npm install --no-cache --prefer-online [email protected]
ملاحظة:
safedep-test-pkgحزمة اختبار غير ضارة موسومة كخبيثة في قاعدة بيانات SafeDep لأغراض الاختبار والتحقق.
واصل استخدام مديري الحزم كالمعتاد، أو دع وكيل البرمجة بالذكاء الاصطناعي يشغّلها. يقف PMG في المسار، ويحجب الحزم الخبيثة.
npm install express
# or
pip install requests
مديرو الحزم المدعومون
يدعم PMG الأدوات التي تستخدمها بالفعل: