
safe-chain v1.5.15
احمِ ضد التعليمات البرمجية الخبيثة المثبتة عبر npm وyarn وpnpm وnpx وpnpx وpip وuv وpoetry باستخدام Aikido Safe Chain. مجاني للاستخدام، لا يتطلب رموزًا.
Aikido Safe Chain
- ✅ حظر البرمجيات الخبيثة على أجهزة المطورين وفي CI/CD
- ✅ يدعم npm وPyPI والمزيد من مديري الحزم قادم
- ✅ يحظر الحزم الأحدث من 48 ساعة دون إفساد عملية البناء
- ✅ بدون رموز مميزة، مجاني، ولا تتم مشاركة أي بيانات بناء
هل تحتاج إلى حماية تتجاوز npm وPyPI؟
Aikido Device Protection مبني على Safe Chain، ويوسّع أمان الحزم والإضافات عبر المزيد من الأنظمة البيئية: npm، PyPI، VS Code، Open VSX - (Cursor، Windsurf، Kiro، Vs Codium، ...)، Maven، NuGet، إضافات Chrome، Go، مهارات الذكاء الاصطناعي Skills.sh، Ruby، Rust، والمزيد.
احصل على إدارة مركزية للسياسات، وسير عمل للطلب والموافقة، ورؤية عبر كل محطة عمل للمطورين في مؤسستك. مدعوم من نفس موجز Aikido Intel. انشره يدويًا أو أدره عبر أداة MDM الخاصة بك (Jamf، Fleet، أو Iru).
يدعم Aikido Safe Chain مديري الحزم التالية:
- 📦 npm
- 📦 npx
- 📦 yarn
- 📦 pnpm
- 📦 pnpx
- 📦 rush
- 📦 rushx
- 📦 bun
- 📦 bunx
- 📦 pip
- 📦 pip3
- 📦 uv
- 📦 poetry
- 📦 uvx
- 📦 pipx
- 📦 pdm
الاستخدام

التثبيت
تثبيت Aikido Safe Chain سهل باستخدام سكربت التثبيت.
Unix/Linux/macOS
curl -fsSL https://github.com/AikidoSec/safe-chain/releases/download/1.5.26/install-safe-chain.sh -o /tmp/install-safe-chain.sh \
&& echo "9e4af7107f06d9c0d758cb08fb36804c2af88e24972f3a9d3f8c2bd0ca002adf /tmp/install-safe-chain.sh" | sha256sum -c - \
&& sh /tmp/install-safe-chain.sh \
&& rm /tmp/install-safe-chain.sh
ويندوز (PowerShell)
$installer = Join-Path $env:TEMP "install-safe-chain.ps1"
Invoke-WebRequest "https://github.com/AikidoSec/safe-chain/releases/download/1.5.26/install-safe-chain.ps1" -OutFile $installer -UseBasicParsing
$expectedHash = "D44601889FB241D8775C01CA6C45768548839F7B5A3A017BE4633D16364A0AE0"
if ((Get-FileHash $installer -Algorithm SHA256).Hash -ne $expectedHash) {
Remove-Item $installer -ErrorAction SilentlyContinue
throw "Checksum verification failed for install-safe-chain.ps1"
}
& $installer
Remove-Item $installer
تشير أوامر التثبيت أعلاه دائمًا إلى إصدار محدّد. لتثبيت إصدار مختلف، استبدل رقم الإصدار برقم الإصدار المطلوب. جميع الإصدارات المتاحة موجودة على صفحة الإصدارات.
سلامة التنزيل
تُقدَّم نصوص التثبيت من رابط إصدار مُرقَّم (releases/download/1.5.26/...). إصدارات GitHub غير قابلة للتغيير — بمجرد نشر أحد الملفات على رابط مُرقَّم لا يمكن تعديله أو استبداله، لذا فإن الملف الذي تنزّله مضمون ليكون بالضبط ما تم إصداره.
التحقق من التثبيت
-
❗أعد تشغيل الطرفية لبدء استخدام Aikido Safe Chain.
- هذه الخطوة حاسمة لأنها تضمن تحميل الأسماء المستعارة للصدفة الخاصة بـ npm وnpx وyarn وpnpm وpnpx وrush وrushx وbun وbunx وpip وpip3 وpoetry وuv وuvx وpipx وpdm بشكل صحيح. إذا لم تعد تشغيل الطرفية، فلن تكون الأسماء المستعارة متاحة.
-
تحقق من التثبيت بتشغيل أمر التحقق:
npm safe-chain-verify pnpm safe-chain-verify pip safe-chain-verify uv safe-chain-verify # Any other supported package manager: {packagemanager} safe-chain-verify- يجب أن يعرض الناتج "OK: Safe-chain works!" مؤكدًا أن Aikido Safe Chain مثبّت ويعمل بشكل صحيح.
-
(اختياري) اختبار حظر البرمجيات الخبيثة عبر محاولة تثبيت حزمة اختبارية:
لـ JavaScript/Node.js:
npm install safe-chain-testFor Python:
pip3 install safe-chain-pi-test- يجب أن يُظهر الناتج أن Aikido Safe Chain يمنع تثبيت حزم الاختبار هذه لأنها مُعلَّمة كبرمجيات خبيثة.
عند تشغيل أوامر npm وnpx وyarn وpnpm وpnpx وrush وrushx وbun وbunx وpip وpip3 وuv وuvx وpoetry وpipx وpdm، سيتحقق Aikido Safe Chain تلقائيًا من وجود برمجيات خبيثة في الحزم التي تحاول تثبيتها. كما يعترض استدعاءات وحدات Python الخاصة بـ pip عند توفرها (مثل python -m pip install ... وpython3 -m pip download ...). وإذا تم اكتشاف أي برمجية خبيثة، فسيطالبك بالخروج من الأمر.
يمكنك التحقق من الإصدار المثبَّت عن طريق تشغيل:
safe-chain --version
كيف يعمل
حظر البرمجيات الخبيثة
يعمل Aikido Safe Chain عبر تشغيل خادم وكيل خفيف يعترض تنزيلات الحزم من سجل npm وPyPI. عند تشغيل أوامر npm أو npx أو yarn أو pnpm أو pnpx أو rush أو rushx أو bun أو bunx أو pip أو pip3 أو uv أو uvx أو poetry أو pipx أو pdm، تُوجَّه جميع تنزيلات الحزم عبر هذا الوكيل المحلي، الذي يتحقق من الحزم في الوقت الفعلي مقابل Aikido Intel - Open Sources Threat Intelligence. إذا اكتُشفت برمجيات خبيثة في أي حزمة (بما في ذلك التبعيات العميقة)، يحظر الوكيل التنزيل قبل أن يصل الكود الخبيث إلى جهازك.
الحد الأدنى لعمر الحزمة
يطبّق Safe Chain فحوصات الحد الأدنى لعمر الحزمة على الأنظمة البيئية المدعومة.
يختلف التطبيق الحالي حسب النظام البيئي:
- مديرو حزم npm:
- أثناء حل الحزم العادي، يمنع Safe Chain الإصدارات الأحدث من الحد الأدنى المكوَّن لعمر الحزمة من بيانات التعريف التي يعيدها السجل
- بالنسبة لطلبات تنزيل الحزم المباشرة التي تتجاوز تدفق بيانات التعريف هذا، يمكن لـ Safe Chain حظر الطلب نفسه باستخدام قائمة مخزَّنة مؤقتًا للحزم الصادرة حديثًا
- مديرو حزم Python:
- أثناء حل الحزم، يمنع Safe Chain الملفات والإصدارات الأحدث من اللازم من استجابات بيانات التعريف الخاصة بـ PyPI
- بالنسبة لطلبات تنزيل الحزم المباشرة التي تتجاوز تدفق بيانات التعريف هذا، يمكن لـ Safe Chain حظر الطلب نفسه باستخدام قائمة مخزَّنة مؤقتًا للحزم الصادرة حديثًا
افتراضيًا، الحد الأدنى لعمر الحزمة هو 48 ساعة. يوفر هذا طبقة أمان إضافية خلال الفترة الحرجة التي تكون فيها الحزم المنشورة حديثًا أكثر عرضة لاحتواء تهديدات غير مكتشفة. يمكنك تكوين هذا الحد أو تجاوز هذه الحماية بالكامل - راجع قسم Minimum Package Age Configuration أدناه.
بالنسبة لإصلاحات CVE العاجلة، تؤكد Aikido أن إصدار التصحيح خالٍ من البرمجيات الخبيثة، ويعفيه Safe Chain من فحص الحد الأدنى للعمر، حتى لا تبقى معرّضًا للثغرة التي يعالجها أثناء انتظار انتهاء النافذة الزمنية.
تكامل الصدفة
يتكامل Aikido Safe Chain مع الصدفة الخاصة بك لتوفير تجربة سلسة عند استخدام npm وnpx وyarn وpnpm وpnpx وrush وrushx وbun وbunx ومديري حزم Python (pip وuv وuvx وpoetry وpipx وpdm). يقوم بإعداد أسماء مستعارة لهذه الأوامر بحيث تُغلَّف بأوامر Aikido Safe Chain، التي تدير خادم الوكيل قبل تنفيذ الأوامر الأصلية. ندعم حاليًا:
- ✅ Bash
- ✅ Zsh
- ✅ Fish
- ✅ PowerShell
- ✅ PowerShell Core
يمكن العثور على مزيد من المعلومات حول تكامل الصدفة في وثائق تكامل الصدفة.
إلغاء التثبيت
لإلغاء تثبيت Aikido Safe Chain، استخدم أداة إلغاء التثبيت ذات السطر الواحد:
Unix/Linux/macOS
curl -fsSL https://github.com/AikidoSec/safe-chain/releases/download/1.5.26/uninstall-safe-chain.sh | sh
ويندوز (PowerShell)
iex (iwr "https://github.com/AikidoSec/safe-chain/releases/download/1.5.26/uninstall-safe-chain.ps1" -UseBasicParsing)
❗أعد تشغيل الطرفية بعد إلغاء التثبيت لضمان إزالة جميع الأسماء المستعارة.
الإعدادات
التسجيل
يمكنك التحكم في مخرجات Aikido Safe Chain باستخدام العلامة --safe-chain-logging أو متغير البيئة SAFE_CHAIN_LOGGING.
خيارات الإعدادات
يمكنك ضبط مستوى التسجيل عبر مصادر متعددة (بترتيب الأولوية):