کارهای نیمهتمام امنیت پکیجها
خلاصهٔ کاملتر
نویسنده تو این مقاله نوشتههای امسال خودش دربارهٔ امنیت پکیجها رو مرور کرده و میگه دیفالتهای پکیجمنیجرها بهتر شدن، ولی بین این کنترلها هنوز شکاف هست و پر کردنش با خود مصرفکنندهست. نمونهاش حملهٔ ماه می ۲۰۲۶ به Nx ـه: یکی از مشارکتکنندهها وابستگیای رو نصب کرد که فقط ۷۷ دقیقه قبلش منتشر شده بود. مخزن کولداون هفتروزه داشت، یعنی نسخهٔ تازه باید یه هفته صبر میکرد، ولی نسخهٔ pnpm پینشده اون تنظیم رو نمیشناخت و اصلاً چکش نکرد.
به گفتهٔ نویسنده اجازهٔ نصب هنوز حالت همهیاهیچ داره. اسکریپت post-install تو حملهٔ ۲۰۲۵ به Nx با دسترسی کامل خود توسعهدهنده اجرا شد و کردنشیالهای بیربط رو برداشت. Composer با تنظیم allow-plugins پلاگینها رو پیشفرض میبنده، ولی مرحلههای مختلف نصب هم باید کنترل جدا داشته باشن: کامپایلری که فقط میخواد خروجی بیلد رو بنویسه، لازم نیست به کردنشیالهای ابری توسعهدهنده هم برسه.
وابستگیهای بیلد هم بیرون از lockfile میمونن. تو حملهٔ tj-actions/changed-files در مارس ۲۰۲۵ زنجیرهای از پروژههای قبلی آلوده شده بودن و آخرش سیکرتها تو لاگ ورکفلو لو رفت. تو حملهٔ Ultralytics هم مسموم کردن کش GitHub Actions باعث شد ورکفلو واقعی پکیج آلوده رو بسازه و از مسیر مجاز خودش منتشر کنه، پس پاک کردن توکن رجیستری این راه رو نمیبنده. نویسنده میگه پین کردن اکشن سطحبالا کافی نیست وقتی همون اکشن یه اسکریپت متغیر رو دانلود میکنه.
یکی از بخشهای مقاله هم دربارهٔ ایجنتهای کدنویسیه. تو دموی Johann Rehberger یه ایجنت کنار یه فایل struct.py مخرب یه هلپر پایتون نوشت و ایمپورتهای همون هلپر، ماژول مهاجم رو لود کرد. ایجنت قبلش از اجرای یه باینری مشکوک سر باز زده بود، ولی کد خودش راه اجرای دیگهای باز کرد. جمعبندی نویسنده اینه که بررسی دستور توسط مدل کافی نیست و کد تولیدشده باید تو محیط اجرای محدود و با import path کنترلشده اجرا بشه.
نویسنده چند عدد هم میذاره وسط: تو بررسی ماه می، از ۵۸۷۴ مخزن، ۷۱۳ تا مرده بودن و ۳۹۱ تاشون حتی آرشیو نشده بودن، پس تکیه به فلگ آرشیو بیشتر از نصفشون رو از قلم میندازه. ISC هم از ۱۵۰ گزارش امنیتی تو سه ماه اول ۲۰۲۶ فقط ۸ تا رو معتبر دید و ۱۳۴ تاش مثبت کاذب بود. اندازهگیری وابستگیها هم دقیق نیست: یه گزارش برای curl سالی ۱۰۴۶۷ دانلود ثبت کرده بود، در حالی که خود سایت curl ماهی حدود ۲۵۰ هزار تاربال میده.
نکات کلیدی:
- حملهٔ Nx در ماه می ۲۰۲۶: وابستگی مخرب ۷۷ دقیقه بعد از انتشار نصب شد، چون نسخهٔ pnpm پینشده از کولداون هفتروزه پشتیبانی نمیکرد.
- تنظیم allow-plugins در Composer پلاگینها رو پیشفرض میبنده و قبل از فعال کردن هرکدوم میپرسه.
- از ۵۸۷۴ مخزن بررسیشده، ۷۱۳ تا مرده بودن و ۳۹۱ تای اونها آرشیو نشده بودن.
- ISC از ۱۵۰ گزارش سه ماه اول ۲۰۲۶، ۸ مورد معتبر و ۱۳۴ مثبت کاذب اعلام کرد.
- وصلهٔ glibc در Homebrew ده CVE رو بست، ولی کوئری OSV بر اساس مخزن منبع فقط یکی رو برگردوند.




