- خانه
-
- دسته بندی ها
-
- اخبار
-
- اولین حمله زنجیره تأمین مبتنی بر هوش مصنوعی؛ بسته npm مخرب که توسط AI نوشته شد، فایلهای برنامهنویسان را میدزدد!
اولین حمله زنجیره تأمین مبتنی بر هوش مصنوعی؛ بسته npm مخرب که توسط AI نوشته شد، فایلهای برنامهنویسان را میدزدد!
جامعه برنامهنویسی جهان روز یکشنبه با یک زلزله امنیتی مواجه شد. شرکت امنیت سایبری Check Point Research (CPR) از کشف یک بسته مخرب در مخزن رسمی npm (مدیر بستههای Node.js) خبر داد که به وضوح توسط هوش مصنوعی مولد نوشته شده بود.
این بسته که با نام mouse5212-super-formatter در مخزن npm منتشر شده بود، نه تنها کدهای مخربی برای سرقت اطلاعات داشت، بلکه ساختار و سبک نوشتاری آن چنان شبیه به خروجی مدلهای زبانی بزرگ (مانند GPT یا Claude) بود که محققان Check Point با اطمینان بالا اعلام کردند: «این کد توسط یک انسان نوشته نشده است.»
طبق گزارش این شرکت، بسته مخرب حداقل ۶۷۶ بار دانلود شده و اطلاعات حساس حداقل ۷ بار به سرور مهاجم ارسال شده است. این اولین مورد مستند از «حمله زنجیره تأمین با کد مخرب تولیدشده توسط هوش مصنوعی» در تاریخ محسوب میشود و زنگ خطری جدی برای اکوسیستم نرمافزارهای متنباز و میلیونها توسعهدهنده در سراسر جهان است.
در این خبر، جزئیات این حمله بیسابقه، نحوه عملکرد بسته مخرب، و هشدارهای کارشناسان برای جلوگیری از فاجعه بعدی را بررسی میکنیم.
بسته mouse5212-super-formatter چه میکرد؟
طبق گزارش Check Point Research که در تاریخ ۱ ژوئن ۲۰۲۶ منتشر شد، بسته mouse5212-super-formatter خود را به عنوان یک «ابزار فرمتکننده فوقالعاده برای رشتهها و تاریخ در جاوااسکریپت» معرفی کرده بود. توضیحات آن در مخزن npm کاملاً حرفهای و فریبنده به نظر میرسید: «یک کتابخانه سبک و سریع برای فرمت کردن رشتهها، تاریخها و اعداد با قابلیت تنظیمات پیشرفته.»
اما در پشت صحنه، این بسته سه کار مخرب انجام میداد:
- اسکن دایرکتوری لوکال (محلی) برای یافتن فایلهای حساس: به محض اینکه یک توسعهدهنده این بسته را با دستور npm install mouse5212-super-formatter نصب میکرد، بسته شروع به اسکن کل دایرکتوری پروژه (و حتی دایرکتوریهای بالادست) میکرد تا فایلهای خاصی را پیدا کند: فایلهای .env (حاوی رمزهای عبور و کلیدهای API)، فایلهای .git/config (اطلاعات مخازن گیت)، فایلهای کلید SSH، و فایلهای پیکربندی ابری (مانند aws-credentials.json).
- ارسال اطلاعات به سرور مهاجم: تمام فایلهای پیدا شده به صورت رمزگذاریشده به یک سرور خارجی ارسال میشدند. محققان Check Point توانستند حداقل ۷ رویداد خروج اطلاعات (data exfiltration) را ردیابی کنند که شامل کلیدهای API سرویسهای ابری، توکنهای دسترسی به مخازن خصوصی، و حتی برخی رمزهای عبور ذخیرهشده در فایلهای پیکربندی بود.
- نصب پنهان یک درب پشتی (Backdoor): در نسخههای جدیدتر این بسته (نسخه ۱.۱.۰ به بالا)، یک اسکریپت پنهان دیگر نیز اجرا میشد که یک اتصال معکوس (reverse shell) به سرور مهاجم برقرار میکرد و عملاً کنترل کاملی روی سیستم قربانی به هکر میداد.
اریک مدینا، محقق ارشد امنیت در Check Point، در این باره گفت:
«این اولین باری نیست که یک بسته مخرب در npm پیدا میشود. اما چیزی که این بسته را از همه موارد قبلی متمایز میکند، سبک نوشتاری آن است. کدها پر از کامنتهای توضیحی طولانی، نامگذاری متغیرهای بیش از حد استاندارد، و ساختاری شبیه به «کتاب درسی» هستند. این نشانههای واضحی از تولید بودن توسط هوش مصنوعی هستند. یک هکر حرفهای اینقدر وقت برای نوشتن کامنت و داکاسترینگ تلف نمیکند.»
چگونه تشخیص دادند که AI آن را نوشته است؟
Check Point Research در تحلیل خود به سه نشانه کلیدی اشاره کرده است:
- «توهم» (Hallucination) در کامنتها: در چندین جای کد، کامنتهایی وجود داشت که به توابع و کتابخانههایی ارجاع میدادند که اصلاً وجود خارجی نداشتند. مثلاً در یک کامنت نوشته شده بود: «مشابه تابع superNormalize در کتابخانه @legacy/utils عمل میکند» در حالی که چنین کتابخانهای هرگز در npm وجود نداشته است. این نوع «توهم» یکی از ویژگیهای شناختهشده مدلهای زبانی بزرگ است.
- الگوی تکراری و «تمیز» بیش از حد: کدها فاقد هرگونه «بو» (code smell) یا میانبرهایی بودند که برنامهنویسان واقعی معمولاً استفاده میکنند. همه توابع به طور کامل مستندسازی شده بودند، همه خطاها به صورت یکسان هندل میشدند، و حتی متغیرهایی که فقط یک بار استفاده میشدند، با نامهای کاملاً توصیفی تعریف شده بودند. به گفته مدینا: «کدهای هوش مصنوعی بیش از حد مرتب و ایدهآل هستند. کدهای انسانها کثیفتر و عملیتر است.»
- شباهت سبکی با خروجی Claude و GPT-4: محققان Check Point کدهای این بسته را با خروجی مدلهای مختلف هوش مصنوعی مقایسه کردند و بیشترین شباهت را با سبک نوشتاری Claude Opus 4.5 (نسل قبل از 4.8) تشخیص دادند. البته نمیتوان با قاطعیت گفت که دقیقاً از کدام مدل استفاده شده، اما شواهد نشان میدهد که هکر از یک مدل پیشرفته و اختصاصی (نه نسخه رایگان عمومی) استفاده کرده است.
- تکرار الگوهای رایج در دادههای آموزشی: بسته mouse5212-super-formatter تابعی به نام validateEmail داشت که دقیقاً همان الگوی عبارت باقاعده (regex) بود که در میلیونها نمونه آموزشی مدلهای زبانی تکرار شده است. این الگو اگرچه استاندارد است، اما استفاده از آن در یک بسته مخرب، یک «اثر انگشت آماری» محسوب میشود.
ابعاد فاجعه: ۶۷۶ دانلود، ۷ خروج اطلاعات، و یک زنگ خطر جهانی
Check Point Research تخمین میزند که این بسته از زمان اولین انتشار خود (اواسط می ۲۰۲۶) تا زمان حذف (۳۱ می ۲۰۲۶) حدود ۶۷۶ بار دانلود شده است. با فرض اینکه هر توسعهدهنده آن را در یک پروژه نصب کرده باشد، حداقل ۶۰۰ پروژه نرمافزاری در سراسر جهان آلوده شدهاند.
بزرگترین قربانیان احتمالی:
- یک شرکت فناوری مالی (فینتک) اروپایی که کلیدهای API سرویس پرداخت خود را در فایل .env ذخیره کرده بود.
- دو استارتاپ در حوزه هوش مصنوعی که توکنهای دسترسی به مخازن خصوصی مدلهای خود را از دست دادند.
- یک توسعهدهنده مستقل که رمزهای عبور سرویسهای ابری آمازون (AWS) او لو رفت و هزینه هزاران دلاری برایش ایجاد شد.
تیم امنیت npm بلافاصله پس از گزارش Check Point، این بسته را از مخزن حذف کرد. اما نگرانی اصلی این است که این اولین مورد از یک روند صعودی باشد. به گفته مدینا:
«ما شواهدی داریم که حداقل ۳ بسته مشکوک دیگر با الگوهای مشابه در npm و PyPI (مخزن پایتون) در حال رصد هستند.»
لیزا فورتونا، تحلیلگر ارشد امنیت سایبری در موسسه SANS، در واکنش به این رویداد گفت:
«ما قبلاً نگران این بودیم که هوش مصنوعی به هکرها در نوشتن ایمیلهای فیشینگ کمک کند. اما این اتفاق ثابت کرد که هوش مصنوعی حالا میتواند به صورت مستقل و در مقیاس صنعتی، سلاحهای سایبری تولید کند. npm و PyPI باید خودشان را برای طوفانی از بستههای مخرب AI آماده کنند.»
واکنشها: npm در حالت آماده باش، جامعه اپنسورس در شوک
npm (شرکت مالک مخزن): یک سخنگوی npm به Check Point گفت که این بسته ظرف ۲ ساعت پس از گزارش حذف شده و تیم امنیتی آنها در حال بررسی الگوهای مشابه است. npm همچنین اعلام کرده که در حال اضافه کردن یک لایه بازبینی خودکار مبتنی بر هوش مصنوعی است که میتواند بستههای «بیش از حد تمیز و مشکوک» را قبل از انتشار عمومی شناسایی کند.
Open Source Security Foundation (OpenSSF): این بنیاد که زیر نظر لینوکس فاندیشن فعالیت میکند، در بیانیهای خواستار «بازنگری فوری در فرآیندهای پذیرش بستهها در مخازن اصلی» شد و از توسعهدهندگان خواست حداقل تا اطلاع ثانوی از نصب بستههای جدید و کماستفاده خودداری کنند.
واکنش در شبکههای اجتماعی: هشتگ #AISupplyChainAttack طی ۲۴ ساعت گذشته بیش از ۵۰,۰۰۰ بار در X (توییتر سابق) استفاده شده است. بسیاری از توسعهدهندگان معروف از کاربران خواستهاند که فایلهای package-lock.json خود را برای وجود mouse5212-super-formatter بررسی کنند.
کشف بسته مخرب mouse5212-super-formatter را باید نقطه عطفی در تاریخ امنیت زنجیره تأمین نرمافزار دانست. این اولین باری است که یک حمله تمامعیار با کدهای تولیدشده توسط هوش مصنوعی شناسایی میشود، و به احتمال قریب به یقین آخرین بار نخواهد بود.
سه پیامد فوری این رویداد:
- تغییر ماهیت تهدیدات: هکرها از «استفاده از APIهای هوش مصنوعی برای کمک در نوشتن کد» به «تولید کامل کدهای مخرب توسط هوش مصنوعی بدون دخالت انسان» مهاجرت کردهاند. این به معنای افزایش تصاعدی در کمیت و کیفیت حملات است.
- نیاز به بازنگری در فرآیندهای پذیرش: مخازن بسته مانند npm، PyPI و RubyGems که تاکنون عمدتاً بر «اعتماد به جامعه» تکیه داشتند، اکنون ناگزیر به پیادهسازی لایههای بازبینی خودکار و مبتنی بر هوش مصنوعی خواهند بود. اما سؤال اینجاست: چه کسی از هوش مصنوعی برای شناسایی هوش مصنوعی دیگر استفاده خواهد کرد؟
- هشدار به توسعهدهندگان: «کد تمیز» دیگر نشانه امنیت نیست. برعکس، کدهایی که بیش از حد استاندارد، کامل و «کتاب درسی» به نظر میرسند، ممکن است دقیقاً همانهایی باشند که توسط هوش مصنوعی ساخته شدهاند. توسعهدهندگان باید سطح جدیدی از شک و بررسی را در کار روزمره خود وارد کنند.
اریک مدینا از Check Point در پایان مصاحبه خود گفت:
«ما در آستانه عصر جدیدی از حملات سایبری هستیم. هوش مصنوعی به هکرها اجازه میدهد در مقیاسی عمل کنند که قبلاً فقط در科幻ها میدیدیم. npm، PyPI، و کل اکوسیستم اپنسورس باید ظرف چند ماه آینده خود را متحول کنند، وگرنه فاجعه بعدی بسیار بزرگتر از این خواهد بود.»
0 آرا: 0 موافق, 0 مخالف (0 امتیاز)
با آخرین و مهمترین اخبار بهروز بمانید
You need to configure your Mailchimp API key for this form to work properly.