تعتقد معظم الفرق أن مخاطر سلسلة التوريد تكمن في "هل وجد `npm audit` أي شيء سيئ؟"
هذه جزء صغير من المشكلة.
تثق قناة تسليم JavaScript الحديثة بـ:
- الحزم التي تقوم بتثبيتها
- الحزم الثانوية التي تقوم بتثبيتها
- إجراءات GitHub التي تنفذها
- الرموز المميزة التي يمكن أن تصل إليها تلك السيرورات
هذه واجهة هجوم ذات مغزى، خاصةً عندما تحصل CI على إذن للتعليق على طلبات السحب، ونشر الحزم، ونشر البنية التحتية، أو الدفع إلى الفرع الافتراضي.
## أول فوز سهل: تثبيت الإجراءات الخارجية
هذا أضعف مما تدركه العديد من الفرق:
```yaml
uses: vendor/example-action@v2
يمكن أن يتحرك التعليق.
إذا كنت تعتمد على إجراءات الطرف الثالث، قم بالتثبيت على SHA الالتزام الكامل وراجع التحديثات بشكل متعمد: