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

pmg v0.26.0

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

مشاركة

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

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

safedep%2Fpmg | Trendshift

pmg قيد التشغيل

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 - حزمة typosquat متنكرة في شكل مسجل pino الشهير

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

كيف يعمل PMG

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

دفاع PMG المتعمق: يتم اعتراض أمر التثبيت بواسطة PMG، ويمر عبر الطبقة 1 استخبارات التهديدات، الطبقة 2 فترة التهدئة، الطبقة 3 الصندوق الرملي، ثم يتم تشغيله مع إدخال سجل التدقيق
تفاصيل الطبقات
  • الاعتراض الشفاف - يغلف PMG أوامر npm و pip ومديري الحزم الآخرين. يستخدم المطورون ووكلاء الذكاء الاصطناعي نفس الأوامر. لا تغييرات في سير العمل.
  • الطبقة 1: استخبارات التهديدات - يتحقق PMG من كل حزمة مقابل استخبارات التهديدات الفورية لـ SafeDep قبل التثبيت. يتم حظر الحزم الضارة المعروفة. لا حاجة إلى مفتاح أو تسجيل دخول.
  • الطبقة 2: السياسة (فترة تهدئة التبعيات) - يمنع PMG إصدارات الحزم المنشورة ضمن نافذة تهدئة قابلة للتكوين، بحيث يتم تخطي الإصدارات التي تم اختراقها مؤخرًا خلال النافذة.
  • الطبقة 3: الصندوق الرملي الاختياري - عند تمكين وتكوين العزل الصندوقي، يقوم PMG بتشغيل التثبيتات داخل صناديق رملية أصلية لنظام التشغيل (Seatbelt في macOS، و Landlock في Linux افتراضيًا، أو Bubblewrap كبديل) بحيث يكون لبرامج التثبيت وصول مقيد إلى النظام حتى لو تسلل تهديد عبر الطبقتين الأوليين.
  • تسجيل التدقيق - يسجل PMG كل تثبيت (ماذا، متى، من أين) لمسار تدقيق قابل للتحقق.

كيف يقارن PMG

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

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

بدء سريع

1. التثبيت

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

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

2. الإعداد

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

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

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

Linux لجميع المستخدمين / الصور الذهبية: 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

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

النظام البيئيالأدواتمثال الأمر
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. مسار bin العام npm يتغير مع إصدار Node النشط، لذا فإن تبديل الإصدارات قد يترك pmg غير متاح على PATH (أو يشير إلى تثبيت قديم). لهذه الإعدادات، يفضل استخدام نص التثبيت أو Homebrew.

Go (بناء من المصدر)
# Ensure $(go env GOPATH)/bin is in your $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

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

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

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

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

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

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

إزالة التكامل مع shell:

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 لتعليمات البناء والاختبار.

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

المساهمون في PMG

القياس عن بعد

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

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

الفئات