برنامه نویسی

افزایش ۱۸۸٪ حملات زنجیره تأمین در PyPI و npm  |  تحلیل بسته‌های مخرب، تکنیک‌های جدید هکرها و راهکارهای دفاعی ۲۰۲۵

ستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعال
 

سال 2025 نقطه عطفی در تغییرِ چهره تهدیدات امنیتی، به‌ویژه در حملات زنجیره تأمین (Supply Chain Attacks) بود. تعداد بسته‌های مخرب در مخازن PyPI و npm به‌شدت افزایش یافته و تاکتیک‌هایی مانند DLL side-loading، typosquatting  و C2 communication توسعه‌ یافته‌اند. در این مقاله از سلام دیجی بررسی می کنیم که چگونه این رفتار مخرب در حال پیچیده‌تر شدن است و چه راهکارهایی برای مقابله‌ی مؤثر وجود دارد.

۱. افزایش قابل‌توجه بسته‌های مخرب

🔸 شرکت Sonatype رشد ۱۸۸٪ای بسته‌های مخرب را در سه‌ماهه دوم سال ۲۰۲۵ گزارش کرده که شامل 16,279  بسته ی مخرب در npm و PyPI می‌شود. بیش از نیمی از این بسته‌ها برای استخراج داده‌های حساس مانند رمزعبور، API key  و داده‌های CI/CD طراحی شده‌اند.

🔸 گروه Lazarus در کره‌شمالی مسئول بیش از ۱۰۷ بسته مخرب بوده که با بیش از ۳۰,۰۵۰ دانلود فعال، در حال گسترش Operation Marstech Mayhem هستند.

💡 نمونه‌کد: اسکن امنیتی پکیج‌های npm قبل از نصب

npm audit --json

این دستور گزارشی JSON از آسیب‌پذیری‌ها ارائه می‌دهد تا پیش از نصب، امنیت بسته‌ها بررسی شود.

۲. تکنیک‌های پیشرفته حمله

🔸 در حمله‌ای خاص، بسته‌ی termncolor در PyPI، ابتدا با وارد کردن بسته‌ی colorinal  به سیستم نفوذ کرده و سپس از طریق DLL side-loading  فایل‌هایی مانند exe  و libcef.dll  را اجرا می‌کند. این DLL قابلیت استخراج اطلاعات و برقراری ارتباط C2 از طریق Zulip  را دارد و برای پایداری حمله، ورودی در رجیستری Run ویندوز اضافه می‌کند.

🔸 در حملات دیگر، بسته‌های PyPI مخرب به‌صورت پوشش‌دهنده (masquerade) ابزارهای ساده ی زمانی منتشر می‌شدند تا اعتبار توسعه‌دهنده را سوءاستفاده کرده و توکن‌های ابری را سرقت کنند.

💡 نمونه‌کد: نصب ایمن بسته‌های PyPI با هش

 

# requirements.txt
requests==2.32.3 \
    --hash=sha256:2e0b5f... \
    --hash=sha256:b7d42a...

 

pip install --require-hashes -r requirements.txt

 

۳. حملات cross-ecosystem و typosquatting

🔸 کمپین‌هایی از حملات cloud-to-dev در هر دو اکوسیستم PyPI و npm گزارش شده‌اند که با تاکتیک‌هایی همچون typosquatting و نام‌گذاری مشابه بسته‌های معتبر (مثل colorama و colorizr) طعمه‌گذاری می‌کنند.

🔸 Socket اخیراً کشف کرده که ۶۰ بسته مخرب در npm، پس از نصب به‌صورت اسکریپت پست‌اینستال اطلاعات حساس را استخراج می‌کنند، از جمله IP داخل شبکه، DNS و نام‌هاست.

🔸 گروه Lazarus از تاکتیک‌های مشابه در npm و PyPI استفاده کرده و تعداد 234 بسته مخرب را بارگذاری کرده است. تا کنون تا 36,000 قربانی تخمین زده شده.

💡 نمونه‌کد: غیرفعال‌کردن اسکریپت‌های postinstall در npm

# .npmrc
ignore-scripts=true
audit=true
fund=false

این تنظیمات جلوی اجرای اسکریپت‌های مخفی پس از نصب را می‌گیرد.

۴. راهکارهای محافظتی و پیشرفته

واکنش پلتفرم‌ها:

🔸 PyPI از ژوئن ۲۰۲۵ بیش از 1,800 آدرس ایمیل منقضی‌شده را برای محافظت در برابر Account Takeover بلاک کرده. این اقدام، حملات «domain resurrection» را مسدود می‌کند.

🔸 PSF نسبت به حملات فیشینگ targeting توسعه‌دهندگان هشدار داده است؛ مهاجمان با استفاده از دامنه‌های typosquatting (مانندorg) تلاش می‌کنند توکن‌های ورود را سرقت کنند.

ابزارهای نوین امنیتی:

🔸 MalGuard سامانه‌ای است که با تحلیل گراف مرکزی و الگوریتم LIME، توانسته ۱۱۳ بسته مخرب را از مجموع بیش از ۶۴ هزار بسته جدید شناسایی و حذف کند.

🔸 TypoSmart فناوری مقابله با typosquatting است که سرعت تشخیص را ۷۳–۹۱٪ و false-positive را کاهش ۷۰٪ فراهم کرده و در یک ماه ۳,۶۵۸ بسته مخرب را حذف کرده است.

🔸 پژوهشی در حوزه pinning نشان می‌دهد که قطعاً این روش کافی نیست. گاهی حتی موجب افزایش ریسک در گراف‌های پیچیده npm می‌شود و راهکارهایی نظیر collective pinning پیشنهاد می‌شود.

🔸 تهدید جدیدی به نام slopsquatting  پیش آمده که توسط LLMها ایجاد می‌شود. یعنی بسته‌هایی با نام‌های خیالی که ۲۰٪ از کدهای تولیدشده توسط LLM به آن‌ها اشاره کرده‌اند! پیشرفت‌های آموزشی و validatorها نیاز اصلی هستند.

💡 نمونه‌کد: اجرای تست امنیتی خودکار در CI/CD

 

# GitHub Actions workflow
name: Security Scan

on: [push]

jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Run npm audit
        run: npm audit --production

این اسکن باعث می‌شود قبل از هر دیپلوی، وابستگی‌ها بررسی شوند.

۵. جمع‌بندی و تأکید بر اهمیت موضوع

حملات زنجیره تأمین در مخازن PyPI و npm نشان‌دهنده تغییر واقعی در نوع تهدیدات سایبری هستند:

موضوع

هشدار

رشد ناگهانی حملات

حملات ۱۸۸٪ افزایش داشته‌اند.

تنوع تاکتیک‌ها

DLL hijacking، typosquatting، domain takeover و cross-ecosystem.

تهدید کشورهای APT

گروه‌هایی مثل Lazarus با قربانیان زیاد درگیرند.

ابزارهای حفاظتی ظهور یافته

از MalGuard و TypoSmart تا واکنش پلتفرم‌ها.

نقش حیاتی جامعه و آموزش

توسعه‌دهندگان باید آگاه، محتاط و مجهز به ابزار باشند.

 

تمام حقوق سایت برای سلام دیجی و نويسندگان آن محفوظ می باشد