پشت هک ۲۵۰۰ سازمان، Trivy بود نه LiteLLM
خلاصهٔ کاملتر
به نوشتهٔ SecurityWeek، شرکت SOCRadar بعد از بررسی دادههای حادثه میگه بیشتر قربانیهایی که پای حملهٔ زنجیرهٔ تأمین LiteLLM نوشته شدن، در واقع از قبل و از راه آلودگی اسکنر آسیبپذیری Trivy (محصول Aqua Security) لو رفته بودن. هر دو حمله رو گروه TeamPCP به اسم خودش زده، همون گروهی که پشت کرم Shai-Hulud هم بوده.
الگوی همهٔ این آلودگیها یکیه: تا پکیج آلوده کشیده و اجرا میشه، کد مخرب خودکار راه میافته و کلیدها، توکنها و API key ها رو جمع میکنه. بعد با همون سکرتهای دزدیدهشده سراغ بقیهٔ پکیجهایی میره که اون توسعهدهنده دسترسی داره و نسخهٔ آلوده رو روی رجیستری منتشر میکنه، برای همین مثل کرم پخش میشه.
تو مورد LiteLLM دو نسخهٔ مسموم روز ۲۴ مارس منتشر شدن و حدود ۴۰ دقیقه آنلاین موندن. مکانیزمش یه فایل .pth بود، یعنی همون فایلی که مفسر Python موقع بالا اومدن خودش اجراش میکنه؛ برای همین حتی اگه کسی اصلاً LiteLLM رو ایمپورت نمیکرد باز کد اجرا میشد و محافظت ignore-scripts هم دور زده میشد.
SOCRadar میگه رکورد جداگانهٔ ۲۱۸۸ سازمان با زمان اولین و آخرین مشاهده در دسترسش بوده: قدیمیترین ۱۹ مارس ساعت ۱۸:۰۵ UTC و تازهترین ۲۴ مارس ساعت ۲۰:۰۹ UTC، یعنی کمی بیشتر از پنج روز. برای ۲۰۸۵ سازمان (۹۵ درصد) جمعآوری داده قبل از انتشار پکیجهای LiteLLM تموم شده بود. اولین برداشت ۱۸ دقیقه بعد از انتشار بیلد آلودهٔ Trivy بوده و ۲۲ و ۲۳ مارس که ایمیجهای آلوده روی Docker Hub زنده بودن اوج گرفته.
دامنهٔ چیزی که لو رفته زیاده: بیشتر از ۱۰۰۰ سازمان JWT و توکن احراز هویت از دست دادن و صدها تا هم کلید خصوصی، AWS access key، توکن GitLab، کلید OpenAI، وبهوک Slack و توکن GitHub Actions. بالاترین شمار سکرت یه سازمان حدود ۳۴۷۷ بوده و یه ردیف دیگه ۳۴۵۹ سکرت فقط تو شش فایل داشته. ایمیل کامیترها هم تو بیش از ۱۱۰۰ سازمان لو رفته، یعنی مهاجم هم هویت توسعهدهنده داره هم توکن ماشین.
خود SOCRadar تأکید میکنه اینا آمار افشاست نه نفوذ تأییدشده، و از یه نمونهٔ بازسازیشده در اومده نه سرشماری کامل. یه فروشنده هم الان روی تلگرام مجموعهٔ دادههای LiteLLM و Trivy و CanisterWorm رو عرضه میکنه، احتمالاً جمعشده از مرحلههای مختلف همین کمپین.
نکات کلیدی:
- از ۲۱۸۸ سازمانِ رکوردشده، برای ۲۰۸۵ تا (۹۵ درصد) برداشت داده قبل از انتشار پکیج مسموم LiteLLM تموم شده بود
- بازهٔ فعالیت: ۱۹ مارس ۱۸:۰۵ UTC تا ۲۴ مارس ۲۰:۰۹ UTC؛ اولین برداشت ۱۸ دقیقه بعد از بیلد آلودهٔ Trivy
- دو نسخهٔ مسموم LiteLLM حدود ۴۰ دقیقه روی رجیستری موندن و بعد PyPI قرنطینهشون کرد
- پایداری از راه فایل .pth که موقع استارت مفسر Python اجرا میشه و ignore-scripts رو بیاثر میکنه
- شش پلتفرم CI/CD درگیر: GitHub Actions، GitLab CI، Jenkins، Bitbucket، CircleCI و Buildkite؛ آلمان، برزیل و فرانسه بیشترین آسیب
- بیشتر از ۱۰۰۰ سازمان JWT و توکن احراز هویت لو دادن؛ ایمیل کامیتر تو بیش از ۱۱۰۰ سازمان
- سطح اطمینان رکوردها: ۵۶ درصد بالا، ۳۹ درصد متوسط، ۶ درصد پایین




