TL؛ ڈاکٹر
14 ستمبر 2025 کو محققین نے شناخت کی۔ شائ حلود، اندر چھپا ہوا ایک خود کی نقل تیار کرنے والا کیڑا این پی ایم پیکیجز، ایک معمول کے انحصار کی تازہ کاری کو پورے پیمانے میں تبدیل کرنا سپلائی چین حملہ. میں پہلی بار دیکھا گیا۔ @ctrl/tinycolor ڈینیئل ڈوس سانتوس پریرا کا پیکج، Shai-Hulud رازوں کو اکٹھا کرتا ہے، GitHub repos اور workflows کے ذریعے ان کو نکالتا ہے، اور چوری شدہ اسناد کا استعمال کرتے ہوئے خود کو رجسٹری میں دوبارہ شائع کرتا ہے۔ کچھ ہی دنوں میں، متاثرہ پیکجوں کی تعداد درجنوں سے بڑھ کر سینکڑوں تک پہنچ گئی، اس بات کی تصدیق شھیلود یہ صرف ایک اور ٹروجن نہیں ہے بلکہ ایک کیڑا ہے جو این پی ایم ایکو سسٹم میں خود بخود پھیلنے کے لیے ڈیزائن کیا گیا ہے۔
کے اثرات: کوئی بھی ڈویلپر یا CI رنر جو پبلک npm پیکجز انسٹال کر رہا ہے خطرے میں ہے۔
فوری اقدامات: معلوم ورژنز کو بلاک کریں، صرف لاک فائل انسٹالز پر سوئچ کریں، این پی ایم اور گٹ ہب ٹوکنز کو گھمائیں، ورک فلو کا آڈٹ کریں، اور سمجھوتہ کے اشارے (IoCs) کے لیے مانیٹر کریں۔
کیا ہوا؟
۔ npm پیکجوں میں Shai-Hulud سپلائی چین حملہ حالیہ یادداشت میں سب سے زیادہ خلل ڈالنے والے واقعات میں سے ایک ہے۔ الگ تھلگ ٹروجن کے برعکس، یہ کیڑا مکس ہوتا ہے۔ اسناد کی چوری، خودکار exfiltration، اور خود نقل. اس کے نتیجے میں، انفیکشن کی ٹائم لائن ہفتوں سے صرف گھنٹوں تک سکڑ گئی۔
DevOps ٹیموں کے لیے، سبق واضح ہے: اگر ہر انسٹال کوڈ پر عمل درآمد کر سکتا ہے، تو ہر انحصار اپ ڈیٹ ممکنہ خلاف ورزی کا نقطہ ہے۔
ممکنہ ابتدائی ویکٹر اور ہدف شدہ اسناد
ابتدائی تجزیہ اشارہ کرتا ہے کہ حملہ ممکنہ طور پر شروع ہوا تھا۔ چوری شدہ اسناد. مثال کے طور پر، فشنگ مہمیں npm کی جعل سازی کرتی ہیں۔ login یا MFA پرامپٹس نے ڈویلپر ٹوکن کیپچر کر لیے ہیں۔ ایک بار حملہ آوروں نے پہلا قدم جما لیا، کیڑا خود کو npm پیکجوں میں شامل کرکے اور مزید راز چرا کر پھیل گیا:
- این پی ایم تشکیل فائلیں کی طرح
.npmrc, اکثر شائع ٹوکن پر مشتمل. - ماحولیاتی تغیرات اور GitHub PATs کے ساتھ تشکیل دیتا ہے اور CI/CD راز
- کلاؤڈ میٹا ڈیٹا اینڈ پوائنٹس (AWS، GCP، Azure) پس منظر کی نقل و حرکت کے لیے قلیل المدتی اسناد فراہم کرتا ہے۔
لہذا، اسناد کی چوری لانچ پیڈ بن گئی۔ درست npm ٹوکنز اور GitHub راز کے ساتھ، Shai-Hulud اضافی انسانی کوششوں کے بغیر متعدد پیکجوں اور ریپوزٹریوں میں خود کو نقل کر سکتا ہے۔
شائی ہولد سپلائی چین حملے کا ایگزیکٹو اثر
شائی الحلد آج بھی فعال ہے۔ یہ کیڑا اثر کی ٹائم لائن کو تیز کرتا ہے۔ جو کبھی ٹروجن کے ساتھ ہفتوں میں لگتا تھا وہ اب گھنٹوں میں کھل جاتا ہے۔ نتیجے کے طور پر، پھیلاؤ تیز اور اس پر قابو پانا مشکل ہے۔ یہ آگے بڑھتا ہے:
- npm شائع ٹوکن اور GitHub راز چوری.
- خود کو دوسرے npm پیکجوں میں دوبارہ شائع کرنا۔
- استقامت کے لیے بدنیتی پر مبنی GitHub ایکشن ورک فلو شامل کرنا۔
کون متاثر ہوتا ہے:
کوئی بھی ٹیم جو عوامی این پی ایم پیکجز کو انسٹال کرتی ہے اس کو بے نقاب کیا جاتا ہے۔ مزید برآں، کیشڈ npm یا GitHub ٹوکن والے ڈویلپرز کو زیادہ خطرے کا سامنا ہے۔ CI رنرز جو وسیع دائرہ کار کے راز استعمال کرتے ہیں وہ بھی کمزور ہیں۔
کاروبار کا خطرہ
کاروبار کا اثر تیزی سے بڑھتا ہے۔ چوری شدہ ٹوکن اکاؤنٹ ٹیک اوور، پیکج ہائی جیکنگ، اور یہاں تک کہ کلاؤڈ کے غلط استعمال کا باعث بن سکتے ہیں۔ اس کے علاوہ، GitHub ورک فلوز میں استقامت اسے صاف کرنا مشکل بنا دیتی ہے۔ اس لیےٹیموں کو شائی الحلد کو ایک جاری واقعہ سمجھنا چاہیے، بند نہیں
این پی ایم پیکجز میں شائی-ہولد سپلائی چین اٹیک کیسے کام کرتا ہے۔
حملہ آور کے مقاصد اور محرکات
مہم تین چیزوں کے لیے بہتر بناتی ہے:
- پہلا مقصد یہ ہے۔ پیمانے پر اسناد چوری ڈویلپر لیپ ٹاپ اور CI رنرز سے۔ اس میں npm پبلش ٹوکنز، GitHub ٹوکنز، اور کلاؤڈ اسناد شامل ہیں۔ درحقیقت، متعدد تجزیے منظم خفیہ کٹائی کی تصدیق کرتے ہیں، جیسے TruffleHog کو چلانا اور کلاؤڈ میٹا ڈیٹا کے اختتامی پوائنٹس سے استفسار کرنا۔
- دوسرا مقصد یہ ہے۔ خود بخود پھیلاؤ سمجھوتہ کرنے والے مینٹینرز کے اشاعتی حقوق کا غلط استعمال کرتے ہوئے نتیجے کے طور پر، ایک قدم تیزی سے پھیلتا ہے، کیونکہ دوسرے پیکجوں کے نئے متاثرہ ورژن بغیر کسی اضافی انسانی کوشش کے ظاہر ہوتے ہیں۔
- تیسرا مقصد ہے۔ برقرار رہیں اور قابل اعتماد طریقے سے نکالیں۔ GitHub انفراسٹرکچر کے ذریعے۔ حملہ آور ڈبل بیس 64 کے ساتھ ایک عوامی ریپو بناتے ہیں جس کا نام "شائ الحلود" ہے۔ data.json، اور اس کے علاوہ وہ ایک ورک فلو لگاتے ہیں جو سیریلائز کرتا ہے۔ ${{ toJSON(راز) }} اور اسے جامد ویب ہک پر پوسٹ کرتا ہے۔
ممکنہ ادائیگی میں رجسٹریوں اور سورس کوڈ تک طویل المدت رسائی، کلاؤڈ اکاؤنٹس میں تیز رفتار حرکت، اور سپلائی چین کو مزید ہتھیار بنانے کا اختیار شامل ہے۔ عوامی رپورٹنگ سے پتہ چلتا ہے کہ نجی ریپوز a کے ساتھ عوام کے سامنے پلٹ گئے ہیں۔ "ہجرت" لاحقہ، جو ڈیٹا کی نمائش اور رفتار کو بڑھاتا ہے۔
شائی ہولد پے لوڈ کے اندر: bundle.js این پی ایم پیکجز میں
Shai-Hulud بحری جہاز بطور a بڑا، ویب پیک بنڈل اور بہت زیادہ چھوٹا جاوا اسکرپٹ فائل (bundle.js، تقریباً 3–3.7 MB) جو ایک سے انجام دیتا ہے۔ پوسٹ انسٹال میں ہک package.json. نتیجتاً, ہر انسٹال پے لوڈ کو خود بخود متحرک کرتا ہے۔ یہ ڈیزائن شناخت کنندگان کو چھپاتا ہے، کنٹرول کے بہاؤ کو دباتا ہے، اور تمام منطق کو ایک ہی نمونے میں دھکیلتا ہے جو انسٹالیشن کے دوران عمل میں آتا ہے۔ تجزیہ کار مسلسل ویب پیک بنڈلنگ، فائل کے غیر معمولی سائز، اور انسٹال ٹائم ایگزیکیوشن کی تصدیق کرتے ہیں۔
مبہم اور مخالف تجزیہ خصوصیات جو آپ نمونوں میں دیکھیں گے:
- چھوٹا ماڈیول گراف عددی ماڈیول IDs، ویرل تبصرے، اور چپٹا کنٹرول بہاؤ کے ساتھ۔ مزید یہ کہ, یہ ڈھانچہ دستی جائزہ کو انتہائی مشکل بنا دیتا ہے۔
- سٹرنگ چھپا رہی ہے۔ بیس 64 پرتوں اور تعمیراتی مددگار کے ذریعے۔ مثال کے طور پر, بار بار بیس 64 انکوڈنگ اور ڈی کوڈنگ عام طور پر اخراج کے معمولات کے آس پاس ظاہر ہوتی ہے۔
- متحرک ترسیل کے ذریعے evalطرز کے پیٹرن اور جنریٹڈ فنکشن باڈیز، اس لیے کوڈ کو رن ٹائم پر رویے کو تبدیل کرنے کے قابل بناتا ہے۔
- OS فلٹرنگ خاص طور پر CI رنرز اور ڈویلپر لیپ ٹاپس پر Linux اور macOS کے عمل کو ترجیح دینے کے لیے۔
ایک فعال زاویہ سے، بنڈل ماڈیولر ہے. رائٹ اپ OS کی دریافت، فائل سسٹم اور گٹ سیکریٹ اسکینز، کلاؤڈ SDK تک رسائی، GitHub API آپریشنز، اور ایک پروپیگیشن انجن کے ماڈیولز کی وضاحت کرتے ہیں جو دیکھ بھال کرنے والے کے پاس موجود دیگر پیکجوں میں ترمیم کرتا ہے۔ درحقیقت، StepSecurity اور ReversingLabs دونوں ایک ایسے فنکشن کو نمایاں کرتے ہیں جو خود بخود پیکجوں کو نقصان دہ ہک کے ساتھ اپ ڈیٹ کرتا ہے۔
شائ الحلد میں انسٹال ٹائم ایگزیکیوشن: این پی ایم پیکجز کیسے کیڑے کو متحرک کرتے ہیں
حملہ تب شروع ہوتا ہے۔ پوسٹ انسٹال رنز نوڈ bundle.js. اس مقام پر، اسکرپٹ کام کرنے والی حالت کو میموری میں شروع کرتا ہے اور کھولتا ہے، کیڑے کے مکمل آپریشن کے لیے مرحلہ طے کرتا ہے۔
دریافت اور کٹائی
- پے لوڈ process.env کو ڈمپ کرتا ہے اور مقامی فائلوں کو ہائی اینٹروپی رازوں اور ٹوکن پریفکس کے لیے اسکین کرتا ہے۔ اس کے علاوہ، یہ TruffleHog چلا کر کوریج کو بڑھاتا ہے۔
- یہ قلیل المدتی اسناد جمع کرنے کے لیے کلاؤڈ میٹا ڈیٹا اینڈ پوائنٹس سے استفسار کرتا ہے۔ مثال کے طور پر، کو کال کرتا ہے۔
169.254.169.254AWS پر یاmetadata.google.internalGCP پر اکثر متاثرہ میزبانوں میں ظاہر ہوتے ہیں۔ - اس کے نتیجے میں، کوئی بھی اسناد نئے npm پیکجز شائع کرنے یا GitHub ورک فلوز کو آگے بڑھانے کے لیے فوری طور پر قابل استعمال ہو جاتی ہے۔
جلاوطنی
- کیڑا ایک نیا GitHub ریپو بناتا ہے۔ شائ حلود اور ایک ڈبل بیس 64-انکوڈ لکھتا ہے۔
data.jsonپلیٹ فارم کی تفصیلات، ماحولیاتی ڈمپ اور راز کے ساتھ۔ جیسا کہ دیکھا جا سکتا ہے، اس شور مچانے والے رویے کو دیکھنا آسان ہے اگر محافظ جانتے ہیں کہ کہاں دیکھنا ہے۔ - یہ ایک GitHub ایکشن ورک فلو بھی لگاتا ہے، اکثر نام کی شاخ پر shai-Hulud، جو سیریلائز کرتا ہے۔
${{ toJSON(secrets) }}اور ڈیٹا کو جامد ویب ہک پر پوسٹ کرتا ہے۔ مزید برآں، یہ ورک فلو برقرار رہتا ہے جب تک کہ کوئی اسے فعال طور پر ہٹا نہیں دیتا۔
تبلیغ
- کسی بھی دریافت شدہ npm ٹوکن کے ساتھ، پے لوڈ سمجھوتہ کرنے والے مینٹینر کی ملکیت والے تمام پیکجوں کو شمار کرتا ہے۔ پھر، یہ ہر ٹربال کو لاتا ہے، bundle.js اور پوسٹ انسٹال انٹری کو انجیکشن کرتا ہے، اور پیکیج کو دوبارہ شائع کرتا ہے۔
- نتیجے کے طور پر، درجنوں متاثرہ پیکجز چند گھنٹوں کے اندر ظاہر ہو سکتے ہیں، جو پورے ماحولیاتی نظام میں دھماکے کے رداس کو بڑھا دیتے ہیں۔
استقامت اور نمائش
یہ کیڑا بدنیتی پر مبنی کام کے بہاؤ کو زندہ رکھتا ہے اور، کئی صورتوں میں، پرائیویٹ ریپوز کو عوام کے لیے "ہجرت" لاحقہ مجموعی طور پر، یہ یقینی بناتا ہے کہ حملہ آور اپنے قدموں کو برقرار رکھتا ہے اور ڈیٹا کے رساو کو زیادہ سے زیادہ کرتا ہے۔
کلیدی پتہ لگانے والا نوٹ
کا یہ غیر معمولی استعمال ${{ toJSON(secrets) }} ایکشن میں ورک فلو نایاب ہے۔ لہذا، ٹیموں کو شکار کے دوران اسے ایک اعلی سگنل کے اشارے کے طور پر سمجھنا چاہئے۔
سینیٹائزڈ ورک فلو پیٹرن جس کی آپ کو تلاش کرنی چاہیے۔
کا یہ غیر معمولی استعمال کرنے کے لئے JSON(راز) ان ایکشنز اس واقعے میں ایک اعلیٰ اشارہ ہے۔
اعلی درجے کی تبلیغ سیڈو کوڈ (محفوظ، وضاحتی)
تجزیہ کاروں نے اس لوپ کو پیمانے پر دیکھا، جو درجنوں سے سینکڑوں متاثرہ پیکجوں تک تیزی سے چھلانگ لگانے کی وضاحت کرتا ہے۔
یہ ایک پیکج ماحولیاتی نظام میں کیڑا کیوں ہے؟
ایک کیڑا میلویئر ہے جو ہر مرحلے پر دستی آپریٹر کے اقدامات کی ضرورت کے بغیر خود ہی پھیلتا ہے۔ آپریٹنگ سسٹم میں، کیڑے عام طور پر ایک مشین سے دوسری مشین میں جانے کے لیے نیٹ ورک کی کمزوریوں کا فائدہ اٹھاتے ہیں۔ اس کے برعکس، Shai-Hulud npm رجسٹری کے اندر کام کرتا ہے۔ اس کا موثر راستہ گزر رہا ہے۔ اسناد کا دوبارہ استعمال.
کیڑا چوری شدہ این پی ایم پبلش ٹوکن کا فائدہ اٹھاتا ہے۔ جیسے ہی یہ درست اسناد حاصل کرتا ہے، یہ اسی مینٹینر کی ملکیت والے دوسرے پیکجوں کے تحت متاثرہ ورژن دوبارہ شائع کرتا ہے۔ اس کے بعد، وہ پیکجز غیر مشکوک ڈویلپرز یا CI رنرز کے ذریعے انسٹال کیے جاتے ہیں، اور سائیکل دہرایا جاتا ہے۔
اس وجہ سے، سیکورٹی تجزیہ کاروں سمیت ڈارک ریڈنگ, Shai-Hulud کو a کے طور پر درجہ بندی کریں۔ خود نقل کرنے والا کیڑا ایک سادہ ٹروجن یا ٹائپوسکوٹنگ واقعہ کے بجائے۔ فرق اہم ہے: ایک ٹروجن عام طور پر ایک میزبان سے سمجھوتہ کرتا ہے، لیکن ایک کیڑا ماحولیاتی نظام پر خود بخود اپنے اثرات کو بڑھا دیتا ہے۔
"یہ کیسے کام کرتا ہے" چیٹ شیٹ
شائی ہولد کے لائف سائیکل کا خلاصہ کرنے کے لیے، یہاں ایک بات ہے۔cisاس کے اہم مراحل کی خرابی:
- کے ساتھ ایک پیکج پوسٹ انسٹال نصب ہے، اور
bundle.jsپھانسی دیتا ہے. - پے لوڈ ماحولیاتی متغیرات کو پھینک دیتا ہے، فائلوں کو اسکین کرتا ہے اور گٹ ہسٹری چلاتا ہے۔ ٹرفل ہاگ، اور کلاؤڈ میٹا ڈیٹا سروسز کے سوالات۔ نتیجتاً کوئی بھی راز مل جائے فوراً مفید ہو جاتا ہے۔
- اخراج دو طریقوں سے ہوتا ہے: پہلا، ایک عوامی ریپو بنا کر شائ حلود ڈبل بیس 64 انکوڈ کے ساتھ
data.json; دوسرا، ایک GitHub ایکشن ورک فلو لگا کر جو پوسٹ کرتا ہے۔${{ toJSON(secrets) }}ایک ویب ہک تک۔ - کسی بھی چوری شدہ npm ٹوکن کا استعمال کرتے ہوئے، کیڑا سمجھوتہ کرنے والے مینٹینر کی ملکیت والے دیگر تمام پیکجوں کو اسی بدنیتی پر مبنی ہک کے ساتھ دوبارہ شائع کرتا ہے۔ اس طرح، انفیکشن تیزی سے بڑھتا ہے.
- آخر کار، حملہ آور کے پاس مزید راز، پھیلانے کے لیے مزید پیکجز، اور مسلسل GitHub اکاؤنٹس اور ریپوزٹری کے اندر۔
اس طبقے کے حملے سے عملی طور پر کیسے بچنا ہے۔
شائی الحلد ایک جاگنے والی کال ہے۔ ایک کیڑا جو ٹوکن چوری کرتا ہے اور خود کو دوبارہ شائع کرتا ہے مستقبل کا خطرہ نہیں ہے، یہ زندہ رہتا ہے۔ این پی ایم پیکیجز ایکو سسٹم آج اس قسم کی روک تھام کے لیے سپلائی چین حملہ، ٹیموں کو ایسے کنٹرولز کی ضرورت ہوتی ہے جو قابل پروگرام، خودکار، اور براہ راست لاگو ہوں۔ CI/CD pipelines یہ وہی دفاع ہیں جو آپ پہلے ہی نافذ کر سکتے ہیں۔ زیجینی.
گیٹ پر خراب نمونے روکیں۔
آپ کو npm پیکجز اور ٹربالز کو اسکین کرنا چاہیے اس سے پہلے کہ وہ ڈویلپرز یا CI جابز تک پہنچ جائیں۔ بڑا bundle.js فائلیں، مشکوک پوسٹ انسٹال hooks، اور مبہم نشانات سبھی ابتدائی سرخ جھنڈوں کے طور پر کام کرتے ہیں۔ مزید یہ کہ، کول آف پیریڈز اور پن شدہ ورژن کو نافذ کرنا pipelines تازہ، غیر جانچ شدہ ریلیز کو خود بخود استعمال ہونے سے روکتا ہے۔
Harden CI/CD پہلے سے طے شدہ
Guardrails in CI/CD ضروری ہیں. وہ انضمام یا انسٹال کو مسترد کرتے ہیں جو نئے اسکرپٹ یا بائنریز متعارف کراتے ہیں۔ ایک ہی وقت میں، وہ کام کے بہاؤ کو روکتے ہیں جو رازوں کو سیریلائز کرتے ہیں یا بیرونی پوسٹس کی کوشش کرتے ہیں۔ ٹیموں کو صرف لاک فائل انسٹالز کی ضرورت ہوتی ہے (npm ci) سب میں pipelineلہذا انحصار کے سیٹ دوبارہ پیدا کرنے کے قابل اور محفوظ رہتے ہیں۔
ٹوکن دھماکے کے رداس کو کم کریں۔
راز کو ناکامی کا واحد نکتہ نہیں بننا چاہیے۔ کوڈ، تشکیلات، اور کو مسلسل اسکین کریں۔ pipeline کے لئے پیداوار بے نقاب اسناد. ٹوکنز کا دائرہ تنگ کیا جانا چاہیے، مختصر زندگی کا وقت دیا جانا چاہیے، اور نمائش کا پتہ چلنے پر خود بخود گھمایا جانا چاہیے۔ ایک اصول کے طور پر، کسی میزبان پر استعمال ہونے والے کسی بھی ٹوکن کا علاج کریں جس نے ایک مشکوک پوسٹ انسٹال کو سمجھوتہ کیا ہو۔
کیڑے کے رویے کو جلد دیکھیں
بے عیب شناخت کلید ہے. مثال کے طور پر، npm میں اچانک بڑھنے سے واقعات کی اشاعت، نئے ورک فلو جو بغیر کسی وجہ کے ظاہر ہوتے ہیں، یا عجیب و غریب انکوڈ فائلوں سے بھرے ہوئے تازہ عوامی ریپوز کیڑے کی سرگرمی کا اشارہ دے سکتے ہیں۔ لہٰذا، ٹیموں کو فوری طور پر الرٹ جاری کرنا چاہیے اور کسی بھی مینٹینرز یا رنرز کو الگ کرنا چاہیے جو یہ انتباہی علامات ظاہر کرتے ہیں۔
تعمیرات کو توڑے بغیر جلدی سے ٹھیک کریں۔
رفتار اور حفاظت کو ایک ساتھ جانا چاہیے۔ خودکار pull requests سمجھوتہ شدہ npm پیکجوں کو جانچے گئے ورژنز سے بدل سکتے ہیں۔ اس کے علاوہ، قابل رسائی اور استحصال تجزیہ یقینی بناتا ہے کہ اپ گریڈ کم سے کم اور مستحکم رہیں۔ آخر میں، ایک بار نمائش کی تصدیق ہونے کے بعد متاثرہ CI رنرز کو کلین امیجز سے دوبارہ بنائیں، حملے کو مزید پھیلنے سے روکیں۔
سمجھوتہ کے اشارے (IoCs)
شائ الحلد کا تجزیہ کرتے وقت، ٹیموں کو دونوں پر نظر رکھنی چاہیے۔ جامد IoCs فائلوں میں اور طرز عمل IoCs in pipelines ایک ساتھ، یہ سگنل انفیکشن کا جلد پتہ لگانے میں مدد کرتے ہیں اور کیڑے کے مزید پھیلنے سے پہلے جواب دیتے ہیں۔
جامد IoCs
مندرجہ ذیل SHA-256 ڈائجسٹ میچ دیکھا گیا۔ bundle.js نمونے:
- 46faab8ab153fae6e80e7cca38eab363075bb524edd79e42269217a083628f09
- 81d2a004a1bca6ef87a1caf7d0e0b355ad1764238e40ff6d1b1cb77ad4f595c3
- dc67467a39b70d1cd4c1f7f7a459b35058163592f4a9e8fb4dffcbba98ef210c
مزید برآں، ان بار بار آنے والے نمونوں کو دیکھیں:
- A
bundle.jsپیکیج کی جڑ میں۔ "postinstall": "node bundle.js"کے اندرpackage.json.- ذخیرے کا نام دیا گیا۔ شائ حلود.
- GitHub ورک فلوز پر مشتمل ہے۔
${{ toJSON(secrets) }}.
طرز عمل IoCs
فائل کے دستخطوں کے علاوہ، کیڑے کی سرگرمی رویے کے ذریعے خود کو ظاہر کرتی ہے۔ مثال کے طور پر:
- این پی ایم کے اچانک پھٹنے سے ایک مینٹینر کے واقعات شائع ہوتے ہیں۔
- نئے ورک فلو جو ڈیٹا کو بیرونی اینڈ پوائنٹس پر لے جاتے ہیں۔
- آؤٹ باؤنڈ POST درخواستیں CI رنرز سے شروع ہوئیں۔
- انکوڈ شدہ بلابز کے ساتھ حال ہی میں بنائے گئے عوامی ریپوز۔
فوری شکار
نتیجہ: شعی حلود سے اسباق
۔ شائ الحلد سپلائی چین حملہ این پی ایم پیکجوں میں یہ ظاہر کرتا ہے کہ آج کی سافٹ ویئر سپلائی چین کتنی نازک ہو گئی ہے۔ اس کیڑے نے بدنیتی پر مبنی کوڈ شامل کرنے سے زیادہ کیا۔ اس نے ٹوکن چرائے، ڈیٹا باہر بھیجا، اور پھر خود بخود دوبارہ شائع ہوا۔ جس کی وجہ سے یہ حملہ ہفتوں کے بجائے گھنٹوں میں پھیل گیا۔
ڈویلپرز اور DevOps ٹیموں کے لیے، اسباق واضح ہیں:
- ہر انسٹال کوڈ چلتا ہے۔ یہاں تک کہ ایک عام این پی ایم پیکیج پوسٹ انسٹال کیڑے کو چھپا سکتا ہے۔
- ہر ٹوکن کی قیمت زیادہ ہوتی ہے۔ ایک بار چوری ہونے کے بعد، اسے مزید میلویئر پھیلانے کے لیے استعمال کیا جا سکتا ہے۔
- ہر کوئی pipeline چیک کی ضرورت ہے؟ بغیر guardrails انحصار، کام کے بہاؤ، اور رازوں پر، ایک سمجھوتہ تیزی سے پیداوار کو متاثر کر سکتا ہے۔
لہٰذا، شائی الحلد جیسے حملوں کو روکنے کے لیے ایسے کنٹرولز کی ضرورت ہوتی ہے جو خودکار اور نافذ کرنے میں آسان ہوں۔ ٹیموں کو انسٹال کرنے سے پہلے npm پیکجوں کو اسکین کرنا چاہیے، لاک فائل کی تعمیرات کا استعمال کرنا چاہیے، پبلشنگ کی عجیب سرگرمی کا پتہ لگانا چاہیے، اور ٹوکنز کو مختصر وقت کے لیے رکھنا چاہیے۔ یہ اقدامات اب اختیاری نہیں ہیں۔ اس کے بجائے، وہ جدید میں لچک کی بنیاد ہیں۔ pipelines.
Xygeni میں، ہم Shai-Hulud سپلائی چین حملے کو پورے اوپن سورس ایکو سسٹم کے لیے ایک انتباہ کے طور پر دیکھتے ہیں۔ آگے بڑھنے کا پائیدار طریقہ یہ ہے کہ سپلائی چین سیکیورٹی کو براہ راست ترقیاتی عمل میں لایا جائے، اس مقام پر جہاں کوڈ، این پی ایم پیکجز، اور pipelines جڑیں.
ذیل میں npm پیکجز اور ورژنز کی مکمل فہرست دی گئی ہے جن کی رپورٹ شائی-ہولد میں سمجھوتہ کی گئی ہے۔ اسے اپنی لاک فائلوں، رجسٹریوں اور CI کو چیک کرنے کے لیے استعمال کریں۔ pipelines نمائش کے لیے۔
سمجھوتہ شدہ پیکجوں کی فہرست
📦 سمجھوتہ شدہ npm پیکجز کا پیش نظارہ
| پیکیج کا نام | ورژن | تاریخ شائع کریں |
|---|---|---|
| json-rules-engine-simplified | 0.2.1 | 2025-09-14T17:58:51.203Z |
| ہوائی پائلٹ | 0.8.8 | 2025-09-14T18:35:07.600Z |
| ایم سی پی نالج گراف | 1.2.1 | 2025-09-14T18:35:09.494Z |
| ایئرچیف | 0.3.1 | 2025-09-14T18:35:09.521Z |
| جمپ گیٹ | 0.0.2 | 2025-09-14T18:35:09.651Z |
| tvi-cli | 0.1.5 | 2025-09-14T18:35:10.996Z |
| @thangved/callback-window | 1.1.4 | 2025-09-14T20:31:38.479Z |
| @tnf-dev/api | 1.0.8 | 2025-09-14T20:31:39.547Z |
| @tnf-dev/js | 1.0.8 | 2025-09-14T20:31:41.251Z |
| @tnf-dev/mui | 1.0.8 | 2025-09-14T20:31:41.259Z |
| @tnf-dev/core | 1.0.8 | 2025-09-14T20:31:42.728Z |
| @teselagen/react-table | 6.10.20 | 2025-09-14T20:37:08.597Z |
| @hestjs/demo | 0.1.2 | 2025-09-14T20:45:52.348Z |
| @nexe/eslint-config | 0.1.1 | 2025-09-14T20:45:53.625Z |
| @hestjs/eslint-config | 0.1.2 | 2025-09-14T20:45:55.044Z |
| @nexe/config-manager | 0.1.1 | 2025-09-14T20:45:55.066Z |
| @nexe/logger | 0.1.3 | 2025-09-14T20:45:55.170Z |
| @hestjs/logger | 0.1.6 | 2025-09-14T20:45:55.197Z |
| @hestjs/validation | 0.1.6 | 2025-09-14T20:45:55.595Z |
| @hestjs/core | 0.2.1 | 2025-09-14T20:45:55.888Z |
➡️ سمجھوتہ شدہ پیکجز کی مکمل فہرست دیکھیں
| پیکیج کا نام | ورژن | تاریخ شائع کریں |
|---|---|---|
| json-rules-engine-simplified | 0.2.1 | 2025-09-14T17:58:51.203Z |
| ہوائی پائلٹ | 0.8.8 | 2025-09-14T18:35:07.600Z |
| ایم سی پی نالج گراف | 1.2.1 | 2025-09-14T18:35:09.494Z |
| ایئرچیف | 0.3.1 | 2025-09-14T18:35:09.521Z |
| جمپ گیٹ | 0.0.2 | 2025-09-14T18:35:09.651Z |
| tvi-cli | 0.1.5 | 2025-09-14T18:35:10.996Z |
| @thangved/callback-window | 1.1.4 | 2025-09-14T20:31:38.479Z |
| @tnf-dev/api | 1.0.8 | 2025-09-14T20:31:39.547Z |
| @tnf-dev/js | 1.0.8 | 2025-09-14T20:31:41.251Z |
| @tnf-dev/mui | 1.0.8 | 2025-09-14T20:31:41.259Z |
| @tnf-dev/core | 1.0.8 | 2025-09-14T20:31:42.728Z |
| @teselagen/react-table | 6.10.20 | 2025-09-14T20:37:08.597Z |
| @hestjs/demo | 0.1.2 | 2025-09-14T20:45:52.348Z |
| @nexe/eslint-config | 0.1.1 | 2025-09-14T20:45:53.625Z |
| @hestjs/eslint-config | 0.1.2 | 2025-09-14T20:45:55.044Z |
| @nexe/config-manager | 0.1.1 | 2025-09-14T20:45:55.066Z |
| @nexe/logger | 0.1.3 | 2025-09-14T20:45:55.170Z |
| @hestjs/logger | 0.1.6 | 2025-09-14T20:45:55.197Z |
| @hestjs/validation | 0.1.6 | 2025-09-14T20:45:55.595Z |
| @hestjs/core | 0.2.1 | 2025-09-14T20:45:55.888Z |
| @hestjs/cqrs | 0.1.6 | 2025-09-14T20:45:55.966Z |
| @hestjs/scalar | 0.1.7 | 2025-09-14T20:45:56.386Z |
| ng2-فائل اپ لوڈ کریں۔ | 7.0.3 | 2025-09-15T02:44:29.555Z |
| capacitor-notificationhandler | 0.0.2 | 2025-09-15T04:54:48.431Z |
| capacitor-plugin-vonage | 1.0.2 | 2025-09-15T04:54:48.501Z |
| capacitor-plugin-healthapp | 0.0.2 | 2025-09-15T04:54:48.704Z |
| capacitorandroid کی اجازتیں | 0.0.4 | 2025-09-15T04:54:48.753Z |
| voip-callkit | 1.0.2 | 2025-09-15T04:54:49.223Z |
| capacitor-plugin-ihealth | 1.1.8 | 2025-09-15T04:55:08.113Z |
| @art-ws/common | 2.0.22 | 2025-09-15T05:21:15.411Z |
| @art-ws/config-eslint | 2.0.4 | 2025-09-15T05:21:17.199Z |
| ngx-ws | 1.1.5 | 2025-09-15T05:21:17.514Z |
| @art-ws/slf | 2.0.15 | 2025-09-15T05:21:17.524Z |
| @art-ws/http-server | 2.0.21 | 2025-09-15T05:21:17.745Z |
| pm2-gelf-json | 1.0.4 | 2025-09-15T05:21:18.413Z |
| @art-ws/di | 2.0.28 | 2025-09-15T05:21:18.488Z |
| @art-ws/di-node | 2.0.13 | 2025-09-15T05:21:18.849Z |
| @art-ws/config-ts | 2.0.7 | 2025-09-15T05:21:19.408Z |
| @art-ws/db-context | 2.0.21 | 2025-09-15T05:21:19.814Z |
| @art-ws/openapi | 0.1.9 | 2025-09-15T05:21:19.969Z |
| @art-ws/web-app | 1.0.3 | 2025-09-15T05:21:20.383Z |
| @art-ws/ssl-info | 1.0.9 | 2025-09-15T05:21:20.927Z |




