العودة إلى التحديثات
New releaseAug 30, 2026

pmg v0.27.0

PMG يحمي المطورين ووكلاء الذكاء الاصطناعي من الحزم الضارة مفتوحة المصدر باستخدام proxy و sandbox وتغذية معلومات التهديدات من SafeDep.

مشاركة

حارس مدير الحزم (PMG)

احظر حزم npm و pip الخبيثة قبل تثبيتها.
دفاع متعمق لمديري الحزم الذين تستخدمهم بالفعل.

safedep%2Fpmg | Trendshift

pmg in action

Docs Website Discord Featured in tl;dr sec

Go Report Card License Release OpenSSF Scorecard CodeQL

لماذا PMG؟

يقوم المطورون ووكلاء البرمجة بالذكاء الاصطناعي بتثبيت الحزم كل يوم. كل npm install أو pip install ينفّذ آلاف الأسطر من التعليمات البرمجية التي لا يراجعها أحد.

اختراقات حديثة في الأنظمة البيئية الشائعة:

  • Mini Shai-Hulud - أكثر من 300 حزمة شائعة تم اختراقها
  • litellm 1.82.8 - مكتبة وكيل ذكاء اصطناعي شائعة تم اختراقها لسرقة بيانات الاعتماد
  • telnyx 4.87.2 - SDK اتصالات شرعي تم اختطافه على PyPI
  • pino-sdk-v2 - حزمة انتحال اسم متنكرة في هيئة مسجل pino الشهير

PMG مجاني ومفتوح المصدر (Apache 2.0) ولا يتطلب حسابًا أو مفتاح API. يعترض كل عملية تثبيت حزمة ويفحصها مقابل واجهة برمجة تطبيقات المجتمع المجانية من SafeDep بحثًا عن برمجيات خبيثة معروفة قبل تنفيذ التعليمات البرمجية. ثبّته مرة واحدة، وسيغطي كل npm install و pip install و poetry add بعد ذلك.

كيف يعمل PMG

يعتمد PMG نهج الدفاع المتعمق. بدون أي إعداد، يعمل عبر Zsh و Bash و Fish، وتمر كل عملية تثبيت عبر طبقات الحماية المفعّلة قبل تشغيل التعليمات البرمجية، بالإضافة إلى سجل تدقيق بعد ذلك.

PMG defense in depth: install command intercepted by PMG, passed through Layer 1 Threat Intel, Layer 2 Cooldown, Layer 3 Sandbox, then run with an audit log entry
تفاصيل الطبقات
  • اعتراض شفاف - يغلّف PMG npm و pip ومديري الحزم الآخرين. يستخدم المطورون ووكلاء الذكاء الاصطناعي نفس الأوامر. لا تغييرات في سير العمل.
  • الطبقة 1: استخبارات التهديدات - يفحص PMG كل حزمة مقابل استخبارات التهديدات في الوقت الفعلي من SafeDep قبل التثبيت. يتم حظر الحزم المعروفة بأنها خبيثة. لا مفتاح، لا تسجيل دخول مطلوب.
  • الطبقة 2: السياسة (فترة تبريد التبعيات) - يحظر PMG إصدارات الحزم المنشورة ضمن نافذة تبريد قابلة للتكوين، بحيث يتم تخطي الإصدارات المخترقة حديثًا خلال النافذة.
  • الطبقة 3: صندوق رمل اختياري - عند تمكين وتكوين العزل، يشغّل PMG عمليات التثبيت داخل صناديق رمل أصلية لنظام التشغيل (macOS Seatbelt، Linux Landlock افتراضيًا، أو Bubblewrap كبديل) بحيث يكون لسكربتات التثبيت وصول مقيد إلى النظام حتى لو تجاوز تهديد الطبقتين الأوليين.
  • تسجيل التدقيق - يسجل PMG كل عملية تثبيت (ماذا، متى، من أين) لسجل تدقيق قابل للتحقق.

مقارنة PMG

PMG هو جدار الحماية الوحيد المجاني ومفتوح المصدر للحزم عند التثبيت الذي يغطي المطورين ووكلاء الذكاء الاصطناعي على حد سواء ويأتي مع العزل وفترة التبريد مدمجين افتراضيًا.

الإمكانيةPMGSocketsafe-chainSnykDependabot
مفتوح المصدر / مبني علنًا
بدون حساب أو مفتاح API
حظر الحزم الخبيثة عند التثبيت
سياسة فترة تبريد التبعيات
عزل وقت التشغيل
حماية وكلاء البرمجة بالذكاء الاصطناعي بشفافية
سجلات تدقيق محلية
طلبات سحب لمعالجة الثغرات المعروفة

بدء سريع

1. التثبيت

curl -fsSL https://raw.githubusercontent.com/safedep/pmg/main/install.sh | sh

راجع التثبيت لطرق Homebrew و npm وغيرها من طرق التثبيت.

2. الإعداد

اربط PMG بقشرة الأوامر الخاصة بك بحيث يعترض مديري الحزم.

pmg setup install
# أعد تشغيل الطرفية لتطبيق التغييرات

نصيحة: أعد تشغيل pmg setup install بعد ترقية PMG لالتقاط خيارات التكوين الجديدة.

لينكس لجميع المستخدمين / الصور الذهبية: sudo pmg setup install --system — راجع docs/system-install.md.

تحقق من تثبيتك وتأكد من أن الحماية تعمل:

pmg setup doctor

اختياري: يفحص PMG حركة مرور HTTPS باستخدام شهادة CA يتم حقنها في مديري الحزم في كل تشغيل. لتثبيت CA واحدة بشكل دائم عبر عمليات التشغيل والثقة بها في مخزن الثقة بنظام التشغيل (مطلوب للأدوات التي تتجاهل متغيرات بيئة CA، مثل Go على macOS و Windows)، ثبّتها مرة واحدة:

pmg setup cert install          # نطاق المستخدم، بدون sudo
pmg setup cert status           # تحقق من حالة الثقة وانتهاء الصلاحية

راجع السلطة المصدقة للنطاقات والتناوب والإزالة.

3. الاستخدام

شاهد PMG وهو يحظر التهديدات.

npm install --no-cache --prefer-online [email protected]

ملاحظة: safedep-test-pkg هي حزمة اختبار غير ضارة تم وضع علامة عليها كخبيثة في قاعدة بيانات SafeDep لأغراض الاختبار والتحقق.

استمر في استخدام مديري الحزم كالمعتاد، أو دع وكيل البرمجة بالذكاء الاصطناعي يشغّلها. يبقى PMG في المسار، محظرًا الحزم الخبيثة.

npm install express
# أو
pip install requests

مديرو الحزم المدعومون

يدعم PMG الأدوات التي تستخدمها بالفعل:

النظام البيئيالأدواتمثال الأمر
Node.jsnpmnpm install <pkg>
pnpmpnpm add <pkg>
yarnyarn add <pkg>
bunbun add <pkg>
npxnpx <pkg>
pnpxpnpx <pkg>
Pythonpippip install <pkg>
pipxpipx run <pkg>
poetrypoetry add <pkg>
uvuv add <pkg>
uvxuvx <pkg>

التثبيت

سكربت التثبيت (MacOS/Linux)

ينزّل أحدث إصدار من GitHub، ويتحقق من مجموع SHA-256 الاختباري، ويُثبّت في $HOME/.local/bin (إذا كان في PATH) أو /usr/local/bin.

curl -fsSL https://raw.githubusercontent.com/safedep/pmg/main/install.sh | sh
Homebrew (MacOS/Linux)
brew tap safedep/tap
brew install safedep/tap/pmg
NPM (متعدد المنصات)
npm install -g @safedep/pmg

ملاحظة: يمكن أن تكون عمليات التثبيت عبر NPM هشة عندما تتم إدارة Node.js بواسطة مديري إصدارات مثل mise أو asdf. يتغير مسار npm العام مع إصدار Node النشط، لذا قد يؤدي تبديل الإصدارات إلى جعل pmg غير متاح في PATH (أو الإشارة إلى تثبيت قديم). لهذه الإعدادات، يُفضَّل استخدام سكربت التثبيت أو Homebrew.

Go (البناء من المصدر)
# تأكد من أن $(go env GOPATH)/bin موجود في $PATH
go install github.com/safedep/pmg@latest
تنزيل ثنائي

نزّل أحدث ثنائي لمنصتك من صفحة الإصدارات.

صورة الحاوية (GHCR)

تُنشر صور متعددة البنى (linux/amd64, linux/arm64) مُعدة مسبقًا إلى سجل حاويات GitHub مع كل إصدار. نقطة دخول الصورة هي pmg.

# اسحب أحدث صورة (أو ثبّت علامة إصدار، مثل :v1.2.3)
docker pull ghcr.io/safedep/pmg:latest

# شغّل أي أمر pmg
docker run --rm ghcr.io/safedep/pmg:latest version

GitHub Actions

احمِ سير عمل CI بخطوة واحدة. يحلل PMG كل npm install و pip install وما إلى ذلك في المهمة.

- uses: safedep/pmg@v1
  with:
    server-mode: true

# يتم اعتراضه عبر HTTP_PROXY تلقائيًا
- run: npm ci

- name: Enforce PMG policy
  if: always()
  run: pmg proxy stop --fail-on-violation   # يوقف الخادم، ويفشل المهمة عند الحظر

افتراضيًا تحصل على حظر البرمجيات الخبيثة وفترة تبريد التبعيات. عزل الصندوق الرملي اختياري عبر مدخل sandbox. اضبط السلوك عبر المدخلات (paranoid, sandbox, cooldown-days, ...) أو وجّه config-file إلى ملف YAML في المستودع. راجع docs/github-action.md للمرجع الكامل.

إلغاء التثبيت

أزل تكامل القشرة:

pmg setup remove

لإزالة ملف تكوين PMG أيضًا:

pmg setup remove --config-file

ثم ألغِ تثبيت PMG نفسه:

# Homebrew
brew uninstall safedep/tap/pmg

# NPM
npm uninstall -g @safedep/pmg

الثقة والأمان

بنيات PMG قابلة لإعادة الإنتاج وموقعة.

  • الإثباتات: تضمن إثباتات GitHub و npm سلامة القطع الأثرية.
  • التحقق: يمكنك إثبات تشفيريًا أن الثنائي يطابق الكود المصدري.
  • راجع الوثوق بـ PMG لخطوات التحقق.

دليل المستخدم

الدعم

إذا أنقذك PMG من حزمة سيئة، امنح هذا المستودع نجمة. يساعد ذلك الآخرين على اكتشافه.

المساهمة

المساهمات مرحب بها. راجع CONTRIBUTING.md لتعليمات البناء والاختبار.

شكرًا لجميع المساهمين ❤️

Contributors to PMG

القياس عن بُعد

يجمع PMG بيانات استخدام مجهولة. لتعطيل ذلك، إما:

  • عيّن disable_telemetry: true في ملف تكوين PMG، أو
  • صدّر PMG_DISABLE_TELEMETRY=true.

الفئات