ه ثانیه دیر جنبیده بودم، جای نوشتن این پست داشتیم یه فاجعه امنیتی ناشی از AI رو جمع میکردیم.
چند وقت پیش داشتم کدی رو که AI نوشته بود، قبل از دپلوی review میکردم. توی importها یه پکیج به چشمم خورد که یهجوری بود.
همه چی تقریبا منطقی به نظر میرسید. اسمش دقیقا همون الگوی سایر پکیجها رو داشت اما تا حالا جایی ندیده بودمش.
به تیم گفتم دست نگه دارن، کار روی پروداکشن نره. برگشتم روی استیج تا از ریشه بررسیش کنم.
مدل AI فقط از روی توهم، یه اسم قانعکننده برای خودش ساخته بود؛ دقیقا مثل وقتی که با همون اطمینان یه فکت یا آمار جعلی تحویل میده. به این پدیده میگن هالوسینیتکردن. AI چیزی رو با اطمینان کامل تولید میکنه که یا نادرسته یا اصلا وجود نداره.
پکیج رو سرچ کردم و موضوع عجیبتر شد. فهمیدم قضیه از یه اسم ساختگی خیلی فراتره...
همون اسم، چند ماه قبل توسط یه ناشناس ثبت شده بود. README و توضیح نداشت. فقط یه پکیج مخرب که منتظر بود من، یا هر کس دیگهای توی یه محیط فینتک بدون بررسی accept بزنه و نصبش کنه.
اگه شک نکرده بودم، الان داشتم با یه پروسهی کاملا متفاوت سر و کله میزدم. کنار تیم امنیت، دنبال این میگشتیم که مهاجم تا کجا نفوذ کرده، چه سرویسهایی رو تحت تاثیر قرار داده و چی از دیتای حساسمون بیرون رفته.
با یه مقدار تحقیق متوجه شدم این یه اتفاق تصادفی نیست. این اسم های ساختی الگو دارن. وقتی AI هالوسینیت میکنه، معمولا اسمهای تکراری میسازه.
و دقیقا همینجا مهاجم وارد میشه. لازم نیست اسم پکیجها رو حدس بزنه. کافیه خروجی مدلهای AI رو زیر نظر بگیره، ببینه کدوم اسم جعلی بیشتر تکرار میشه و همون اسم رو زودتر از همه ثبت کنه. بعدش کافیه داخل اون پکیج، کد خودش رو بنویسه.
دقیقا همون چیزی که من داشتم.
به این حمله میگن Slopsquatting. نسبتا جدیده و از محصولات عصر AIه 😂
تکاملیافتهی typosquatting قدیمیه، فقط این بار بهجای اشتباه تایپی کاربر، از اشتباه هوش مصنوعی سواستفاده میکنن.
یه نمونهی خیلی معروف هم داره. پکیج جعلی به اسم "huggingface-cli" رو یکی ثبت کرد. فقط چون AI مدام اسمش رو پیشنهاد میداد. بیش از 30 هزار بار دانلود شد.
نکتهای که این حمله رو خطرناکتر از یه باگ معمولی میکنه اینه که توی کد ریویو دنبال باگ منطقی میگردیم، نه دنبال اینکه اسم پکیج import شده واقعا وجود داره یا نه. اعتماد به AI، دقیقا همون نقطهکوریه که این حمله ازش سواستفاده میکنه.
Post #445
378
Forwarded from Saeed Kazemi
- 👍 5