آخرین اخبار
همهٔ اخبار
امنیت هوش مصنوعی گزارش بحرانیت ۴/۱۰

روش‌های پنهان‌سازی دستورالعمل‌های مخرب در مهارت‌های هوش مصنوعی

تحلیل‌های اخیر بر روی بیش از ۳۵,۰۰۰ مهارت (Skill) ارسالی به VirusTotal نشان می‌دهد که ۶۲٪ از مهارت‌های مخرب، فاقد کد مخرب سنتی هستند. در این موارد، Payload (بارگذاری) به صورت دستورالعمل‌های متنی ساده در مستندات مهارت نوشته شده است. اگرچه اکثر این دستورالعمل‌ها قابل مشاهده هستند، اما گروه کوچکی از مهاجمان از تکنیک‌های پیشرفته برای پنهان‌سازی این دستورات از بازرسان (Reviewers) استفاده می‌کنند تا از شناسایی شدن جلوگیری کنند.

تکنیک‌های اصلی پنهان‌سازی

مهاجمان از سه روش اصلی برای مخفی کردن دستورالعمل‌های خود استفاده می‌کنند:

  • Whitespace Padding (فاصله‌گذاری با فضای خالی): قرار دادن بین ۷۸ تا ۸۲۵ خط خالی قبل از دستورالعمل اصلی. این کار باعث می‌شود بازرس انسانی که فایل را اسکرول می‌کند، در انتهای مستندات متوقف شود و اسکنرهایی که فایل‌های طولانی را قطع (Truncate) می‌کنند، هرگز به بخش مخرب نرسند.
  • HTML Comments (کامنت‌های HTML): استفاده از ساختار <!-- ... --> که در نمایشگرهای Markdown (مانند GitHub) و محیط‌های IDE مخفی است، اما توسط عامل هوش مصنوعی هنگام خواندن فایل خام (Raw File) به طور کامل پردازش می‌شود.
  • Invisible Unicode (یونیکد نامرئی): این تکنیک از کاراکترهای خاص مانند Unicode Tag Characters یا Zero-width characters استفاده می‌کند. این کاراکترها در اکثر ویرایشگرها و مرورگرها دیده نمی‌شوند، اما مدل‌های زبانی (LLMs) قادر به خواندن و اجرای دستورات کدگذاری شده در آن‌ها هستند.

تلاش برای ماندگاری (Persistence)

برخی مهارت‌های مخرب علاوه بر پنهان‌سازی، دستورالتهایی را به عامل هوش مصنوعی می‌دهند تا رفتار خود را تغییر دهد؛ برای مثال، از عامل می‌خواهند که عملیات خود را به صورت مخفیانه انجام دهد یا دستورالعمل‌های مخرب را در فایل‌های حافظه مانند MEMORY.md یا SOUL.md ذخیره کند تا حتی پس از حذف مهارت، اثرگذاری آن‌ها باقی بماند.

راهکارهای مقابله و پیشگیری

برای شناسایی و مقابله با این نوع حملات، متخصصان امنیتی باید اقدامات زیر را مد نظر قرار دهند:

  • بررسی فایل‌های خام: همیشه فایل‌های اصلی را به جای صفحات رندر شده (Rendered Pages) بررسی کنید.
  • نرمال‌سازی (Normalization): قبل از اعمال قوانین استاتیک یا ارسال فایل به LLM، کاراکترهای Zero-width را حذف و کاراکترهای یونیکد را دیکود کنید.
  • محافظت از فایل‌های پیکربندی: فایل‌هایی مانند .cursorrules، CLAUDE.md و فایل‌های حافظه عامل را به عنوان دارایی‌های حساس در نظر بگیرید که تغییر آن‌ها نیازمند تایید صریح کاربر است.
  • استفاده از ابزارهای تحلیل: بررسی مهارت‌ها در پلتفرم‌هایی مانند VirusTotal قبل از نصب.