ریسکهای پنهان رجیستریهای Skill هوش مصنوعی
خلاصهٔ کاملتر
مقاله دربارهٔ یه پدیدهٔ تازهست: رجیستریهای Skill برای عاملهای هوش مصنوعی (Agent Skills). یه Skill یه بستهٔ پرامپت، اسکریپت، وابستگی و مجوز ابزاره که عامل هوش مصنوعی موقع نیاز لودش میکنه. رجیستریهایی مثل ClawHub، Tessl و skills.sh تو یه سال اخیر راه افتادن و بیشترشون از روی مدل رجیستریهای پکیج مثل npm الگوبرداری کردن.
نویسنده استدلال میکنه یه رجیستری Skill از نظر ریسک، یه ابرمجموعهٔ سفتوسخت از کلاینت پکیجمنیجرهاست: چون یه Skill میتونه همزمان به npm، pip، cargo، brew، go و apt وابسته باشه، نصبش دستورهای نصب چند پکیجمنیجر رو روی سیستم کاربر اجرا میکنه. علاوه بر این، خود متن Skill موقع فعالسازی وارد system prompt عامل میشه؛ یعنی برخلاف یه پکیج معمولی، هم بردار اجرای کد ـه هم بردار تزریق پرامپت.
تو بخش لودر (loader)، نویسنده چند نقطهضعف رو مثال میزنه: خیلی از لودرها توضیح هر Skill نصبشده رو تو هر نوبت گفتگو وارد system prompt میکنن، حتی اگه کاربر اون Skill رو صدا نزده باشه؛ یعنی یه Skill فراموششده هم میتونه منبع تزریق پرامپت بمونه. اکثر فرمتهای Skill هم «نسخه» رو معادل «آخرین commit شاخهٔ گیت» میگیرن، بدون قفلفایلی که هش محتوا رو ثبت کنه؛ و آپدیت خودکار معمولاً بدون تاییدِ دوبارهٔ کاربر، حتی وقتی نسخهٔ جدید یه مجوز یا secret تازه اضافه کرده باشه، نصب میشه.
مجوزهای ابزار (bash، ادیت فایل، شبکه) هم از جلسهٔ عامل به ارث میرسن، یعنی هر Skill که نصب میکنی همون سطح دسترسی جلسه رو میگیره. بعضی فرمتها اجازه میدن خود Skill یه لیست allowed-tools اعلام کنه که لودر بدون پرسیدن از کاربر قبولش میکنه. تنها دروازهٔ عملی هم معمولاً همون دیالوگ workspace-trust ـه که کاربرها معمولاً بدون فکر ردش میکنن.
تو بخش رجیستری، نویسنده میگه بیشتر رجیستریها اسمفضا رو از هویت گیتهاب به ارث میبرن و کیوریشنشون اغلب یعنی یه فایل JSON از لیست ریپازیتوریها، نه بررسی واقعی بایتها. طبق تحقیق ToxicSkills شرکت Snyk روی ۳٬۹۸۴ Skill تو دو رجیستری، صد درصد نمونههای مخرب تاییدشده از الگوهای کد مخرب استفاده کرده بودن و ۹۱٪شون همزمان تزریق پرامپت رو هم بهکار برده بودن. مشکل دیگه اینه که خیلی از رجیستریها بین «حذف یه نسخه»، «حذف کل پکیج» و «بنکردن نویسنده» فرقی نمیذارن، پس یه اشتباه اسکنر میتونه کار مشروع یه توسعهدهنده رو هم پاک کنه.
یه بخش دیگه به این میپردازه که خود عامل هوش مصنوعی هم یه مصرفکنندهٔ رجیستریه، نه فقط کاربر انسانی. طبق پژوهش «Under the Hood of SKILL.md»، تو مرحلهٔ انتخاب، مدل زبانی به توضیحاتی با لحن دستوری یا عبارتهایی مثل «officially verified» بیشتر از یه Skill معادل و ساده اعتماد میکنه؛ نرخ انتخاب نسخههای تقلبی نسبت به اصلی روی چهار مدل مختلف بهطور میانگین ۷۷٫۶٪ گزارش شده. اسکنرهای مبتنی بر LLM هم با ترفندهایی مثل بریدن متن قبل از محدودیت طول ورودی، پارافریز، تجزیهٔ حمله به مراحل بیضرر، و جیلبریککردن خود ارزیاب، قابل دور زدنن.
نویسنده اشاره میکنه خیلی از لودرها هر آدرس گیت دلخواه رو بهعنوان منبع Skill قبول میکنن، که کل مدل اعتماد رو به هویت گیتهاب تقلیل میده؛ چیزی شبیه curl کردن و اجرای بیمحابای یه اسکریپت، با این تفاوت که اینبار اسکریپت دستورهای بعدی عامل رو هم مینویسه. مقاله میگه هنوز هیچ رجیستری Skill شناسهٔ PURL نداره تا با ابزارهای رایج مدیریت آسیبپذیری هماهنگ بشه، و چون محتوا خودش متن ـه نه کد باینری، یه حملهٔ بازنویسیشده هش متفاوتی میگیره ولی همون آسیبپذیری رو داره.
نکات کلیدی:
- رجیستریهای Skill عاملهای هوش مصنوعی (ClawHub، Tessl، skills.sh) همون ریسکهای پکیجمنیجرهای قدیمی رو دارن، بهعلاوهٔ ریسک تزریق پرامپت.
- توضیح هر Skill نصبشده معمولاً تو هر نوبت گفتگو وارد system prompt میشه، حتی اگه صدا زده نشه.
- طبق تحقیق Snyk، ۹۱٪ نمونههای مخرب همزمان از کد مخرب و تزریق پرامپت استفاده کرده بودن.
- اسکنرهای مبتنی بر LLM با ترفندهایی مثل بریدن متن یا پارافریز قابل دور زدنن؛ استانداردهای بلوغیافتهٔ npm هنوز برای Skillها وجود نداره.




