حمله هکری با فایل‌های MD؛ تهدیدی برای ایجنت‌های هوش مصنوعی

  • 10 دقیقه مطالعه
حمله هکری با فایل‌های MD؛ تهدیدی برای ایجنت‌های هوش مصنوعی

فایل‌های Markdown چگونه به ابزار هکرها برای فریب ایجنت‌های هوش مصنوعی تبدیل شدند؟

یک فایل متنی ساده با پسوند .md معمولاً خطرناک به نظر نمی‌رسد؛ اما وقتی یک ایجنت هوش مصنوعی آن را به‌عنوان مجموعه‌ای از دستورهای مورداعتماد می‌خواند، ماجرا تغییر می‌کند. پژوهشگران امنیت سایبری در اکتبر ۲۰۲۶ از روشی خبر دادند که در آن فایل‌های راهنمای برنامه‌نویسی می‌توانند برای فریب ابزارهای هوش مصنوعی، نصب بسته‌های مخرب و حتی به خطر انداختن اطلاعات احراز هویت استفاده شوند.

این حمله یک نکته مهم را آشکار می‌کند: خطر هوش مصنوعی فقط به پاسخ‌های اشتباه یا اطلاعات ساختگی محدود نیست. وقتی یک ایجنت اجازه خواندن فایل‌ها، تغییر تنظیمات و اجرای فرمان‌های سیستمی را دارد، یک دستور متنی مخرب هم ممکن است به اقدام واقعی منجر شود.

فایل Markdown چیست و چرا اهمیت پیدا کرده است؟

Markdown یک قالب متنی ساده برای نوشتن مستندات، راهنماها، یادداشت‌ها و توضیحات پروژه‌های نرم‌افزاری است. فایل‌های این قالب معمولاً پسوند .md دارند و به‌خودی‌خود برنامه اجرایی نیستند.

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

  • agents.md : دستورالعمل‌های مربوط به ایجنت‌های برنامه‌نویسی.

  • claude.md : راهنمای پروژه برای Claude Code.

  • github/copilot-instructions.md : دستورالعمل‌های مرتبط با GitHub Copilot.

  • فایل‌های قواعد Cursor: تنظیمات و راهنماهایی که رفتار دستیار برنامه‌نویسی را در پروژه هدایت می‌کنند.

این فایل‌ها می‌توانند مشخص کنند ایجنت چگونه کد را بررسی کند، چه آزمون‌هایی اجرا کند و از چه استانداردهایی پیروی کند. مشکل از جایی شروع می‌شود که ایجنت به محتوای یک فایل اعتماد کند، بدون اینکه منشأ و اعتبار دستورهای آن به‌درستی بررسی شده باشد.

نکته مهم این است که خود فایل Markdown لزوماً کد مخرب اجرا نمی‌کند؛ این ایجنت است که ممکن است دستورهای داخل آن را به اقدام تبدیل کند.

حمله چگونه انجام می‌شود؟

در گزارش منتشرشده توسط شرکت امنیتی Forever Security در اکتبر ۲۰۲۶، یک فایل مشکوک AGENTS.md در پوشه دانلودهای رایانه یکی از مشتریان پیدا شد. این فایل تلاش می‌کرد ایجنت برنامه‌نویسی را به نصب یک بسته مخرب هدایت کند. پژوهشگران سپس نمونه‌هایی از این روش را روی Codex و Claude Code بررسی کردند.

زنجیره حمله را می‌توان در چهار مرحله توضیح داد:

۱. ورود فایل به رایانه

فایل دستورالعمل مخرب ممکن است از طریق یک مخزن کد آلوده، یک فایل دریافت‌شده از اینترنت یا مسیر دیگری وارد محیط توسعه شود. در نمونه بررسی‌شده، منشأ دقیق فایل پیدا نشد؛ بنابراین نمی‌توان با قطعیت گفت که یک وب‌سایت خاص آن را روی رایانه قربانی قرار داده است.

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

۲. خوانده‌شدن فایل توسط ایجنت

فرض کنید توسعه‌دهنده‌ای ابزار برنامه‌نویسی هوش مصنوعی را در پوشه دانلودها اجرا می‌کند. اگر ایجنت فایل راهنمای موردنظر را در آن محیط بارگذاری کند، دستورهای داخل آن وارد زمینه کاری مدل می‌شوند.

در نتیجه، دستورهای مخرب ممکن است در میان توضیحات عادی پروژه پنهان شوند و به‌جای یک سند بی‌ضرر، بر تصمیم‌های ایجنت اثر بگذارند.

۳. تبدیل دستور متنی به اقدام واقعی

اگر ایجنت به ابزارهای سیستمی دسترسی داشته باشد، ممکن است تحت تأثیر دستورهای فایل به تغییر تنظیمات، نصب یک بسته نرم‌افزاری یا اجرای فرمانی ناخواسته اقدام کند.

این مرحله به سطح دسترسی ایجنت، سیاست‌های تأیید عملیات و نحوه اجرای ابزار بستگی دارد. بنابراین، صرف وجود یک فایل مخرب به معنی آلوده‌شدن قطعی رایانه نیست.

۴. احتمال سرقت اطلاعات یا دسترسی غیرمجاز

در سناریوهای پیشرفته‌تر، دست‌کاری تنظیمات می‌تواند ارتباط ابزار با سرویس هوش مصنوعی را به مقصدی کنترل‌شده توسط مهاجم هدایت کند. اگر توکن احراز هویت در این مسیر افشا شود، مهاجم ممکن است بتواند از نشست کاربر سوءاستفاده کند.

پژوهشگران برای Claude Code نیز چنین مسیری را آزمایش کردند. این نتیجه به معنی آن نیست که همه کاربران Claude Code یا Codex در معرض سرقت اطلاعات قرار گرفته‌اند؛ بلکه نشان می‌دهد دسترسی‌های گسترده ایجنت می‌توانند پیامد یک فایل متنی مخرب را جدی‌تر کنند.

کدام ابزارهای هوش مصنوعی در معرض خطرند؟

این مسئله به یک محصول خاص محدود نمی‌شود. خطر اصلی زمانی شکل می‌گیرد که یک ابزار، فایل‌های دستورالعمل را می‌خواند و بر اساس آن‌ها می‌تواند اقداماتی با اثر واقعی انجام دهد.

ابزار یا قالبنقش در این مسئله
OpenAI Codexخواندن دستورالعمل‌های AGENTS.md و کار روی کد
Claude Codeاستفاده از CLAUDE.md و برخی دستورالعمل‌های سازگار
Cursorاستفاده از قواعد و دستورالعمل‌های پروژه
GitHub Copilotپشتیبانی از دستورالعمل‌های اختصاصی مخزن
سایر ایجنت‌های کدنویسیمیزان خطر وابسته به شیوه بارگذاری فایل‌ها و سطح دسترسی

وجود نام یک ابزار در این فهرست به معنی آسیب‌پذیری قطعی آن در برابر تمام نسخه‌های این حمله نیست. رفتار ابزارها، محدودیت‌های دسترسی و سازوکارهای تأیید عملیات با یکدیگر تفاوت دارند.

پژوهشگران دقیقاً چه چیزی را آزمایش کردند؟

طبق گزارش‌های منتشرشده در ۲۵ و ۲۶ اکتبر ۲۰۲۶، پژوهشگران Forever Security حمله‌ای را که با Codex مرتبط بود بازسازی کردند. در آزمایش‌های آن‌ها، نمونه‌ای بی‌خطر از بار مخرب که فقط برنامه ماشین‌حساب را باز می‌کرد، در بیش از ۹۰ درصد تلاش‌ها اجرا شد.

در آزمایش جداگانه Claude Code نیز تغییر مسیر ارتباطات API به سرور تحت کنترل پژوهشگران حدود نیمی از تلاش‌ها موفق بود. این اعداد نتایج آزمایش همان پژوهشگران هستند، نه نرخ موفقیت تأییدشده در تمام حملات واقعی یا همه کاربران.

اهمیت این یافته‌ها در خود اعداد خلاصه نمی‌شود. مسئله این است که یک سند متنی می‌تواند از اعتماد پیش‌فرض ایجنت به فایل‌های محیط کاری استفاده کند و در صورت وجود مجوزهای کافی، به تغییرات واقعی در سیستم منجر شود.

چرا این حمله با بدافزارهای معمولی فرق دارد؟

در حملات متداول، بدافزار ممکن است در قالب فایل اجرایی، اسکریپت یا بسته نرم‌افزاری وارد سیستم شود. در این روش، فایل اولیه می‌تواند صرفاً شامل دستورهای متنی باشد.

ویژگیبدافزار متداولسوءاستفاده از فایل دستورالعمل
قالب اولیهفایل اجرایی، اسکریپت یا بسته آلودهسند متنی Markdown
عامل اجرای اقدامبرنامه یا کد مخربایجنتی که دستور را تفسیر و اجرا می‌کند
نیاز به دسترسیوابسته به نوع بدافزاروابسته به مجوزهای ایجنت و محیط اجرا
روش دفاعشناسایی بدافزار و محدودسازی اجراعلاوه بر آن، بررسی دستورها و محدودکردن اختیار ایجنت

این تفاوت به معنی بی‌اثرشدن ابزارهای ضدبدافزار نیست. بررسی بسته‌های نرم‌افزاری، کنترل رفتار مشکوک و محدودکردن دسترسی‌ها همچنان مهم‌اند؛ اما برای مقابله با این روش، باید محتوایی را هم بررسی کرد که ایجنت آن را به‌عنوان دستور می‌پذیرد.

مثال عملی: چگونه یک فایل ظاهراً عادی خطرناک می‌شود؟

مثال فرضی: یک برنامه‌نویس برای ساخت یک وب‌سایت وارد پوشه پروژه خود می‌شود و Codex را اجرا می‌کند. در پوشه، فایل AGENTS.md وجود دارد که در ظاهر درباره استانداردهای کدنویسی توضیح می‌دهد.

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

اگر ایجنت این دستورها را دنبال کند و مجوزهای لازم را داشته باشد، ممکن است اقدامی انجام دهد که برنامه‌نویس هرگز قصد آن را نداشته است.

برای کاهش خطر، برنامه‌نویس باید:

  1. فایل‌های دستورالعمل ناشناس را پیش از شروع کار بررسی کند.

  2. فقط بسته‌های موردنیاز و قابل اعتماد را نصب کند.

  3. درخواست‌های اجرای فرمان و تغییر تنظیمات را تأیید کند.

  4. ایجنت را در پوشه اختصاصی پروژه و با دسترسی محدود اجرا کند.

  5. در صورت مشاهده تغییرات ناشناس، کار را متوقف و تنظیمات و نشست‌های احراز هویت را بررسی کند.

این مثال فرضی است و بازسازی یک حادثه مشخص محسوب نمی‌شود؛ بااین‌حال، مراحل آن با سازوکار حمله گزارش‌شده همخوانی دارد.

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

  • اجرای ایجنت در پوشه دانلودها

پوشه دانلودها معمولاً محل نگهداری فایل‌هایی با منشأهای مختلف است. اجرای ایجنت در این پوشه می‌تواند باعث شود فایل‌های نامرتبط یا غیرقابل‌اعتماد وارد زمینه کاری آن شوند.

بهتر است ایجنت را در ریشه همان پروژه‌ای اجرا کنید که قصد توسعه آن را دارید.

  • اعتماد کامل به فایل‌های راهنما

نام‌هایی مانند AGENTS.md و CLAUDE.md به معنی معتبر بودن محتوا نیستند. این فایل‌ها می‌توانند توسط افراد مختلف ایجاد یا تغییر داده شوند.

حتی اگر یک فایل در مخزن شناخته‌شده‌ای قرار دارد، تغییرات اخیر آن باید بررسی شوند.

  • خاموش‌کردن محدودیت‌های امنیتی برای سرعت بیشتر

اگر ایجنت درخواست کرد تأیید عملیات را غیرفعال کنید یا محدودیت‌های محیط اجرا را کنار بگذارید، دلیل درخواست را بررسی کنید. دستور داخل فایل نباید به‌تنهایی مجوز انجام عملیات حساس تلقی شود.

  • تصور اینکه فایل متنی نمی‌تواند خطرناک باشد

متن به‌تنهایی معمولاً اجرا نمی‌شود؛ اما می‌تواند ابزار دیگری را به انجام عملیات خطرناک ترغیب کند. در محیط‌های مجهز به ایجنت‌های خودکار، این تفاوت اهمیت زیادی دارد.

نکات مهم برای محافظت از رایانه و اطلاعات

برای کاهش خطر حمله با فایل‌های Markdown به ایجنت‌های هوش مصنوعی، این اقدامات را در برنامه کاری خود قرار دهید:

  • محیط کاری را محدود کنید: هر ایجنت را فقط به پوشه‌ها و منابع موردنیاز پروژه دسترسی دهید.

  • فایل‌های ناشناس را بررسی کنید: پیش از اجرای Codex، Claude Code یا ابزارهای مشابه، دستورالعمل‌های جدید و ناشناس را بخوانید.

  • تأیید عملیات حساس را حفظ کنید: نصب بسته‌ها، اجرای فرمان‌های سیستمی و تغییر تنظیمات باید تحت کنترل باقی بمانند.

  • از محیط ایزوله استفاده کنید: کدها و پروژه‌های غیرقابل‌اعتماد را در محیط آزمایشی جداگانه اجرا کنید.

  • تنظیمات را بررسی کنید: تغییرات غیرمنتظره در تنظیمات ایجنت، آدرس سرویس‌ها و سرورهای متصل را نادیده نگیرید.

  • توکن‌ها را محافظت کنید: اطلاعات احراز هویت را در فایل‌های پروژه قرار ندهید و در صورت احتمال افشا، آن‌ها را باطل یا تعویض کنید.

  • فایل‌های پروژه را بازبینی کنید: در مخازن تیمی، تغییرات فایل‌های راهنما و تنظیمات را مانند تغییرات کد بررسی کنید.

این توصیه‌ها با راهکارهای مطرح‌شده در گزارش‌های امنیتی مرتبط با این حمله هم‌راستا هستند.

سوالات متداول

  • آیا بازکردن یک فایل MD به‌تنهایی باعث هک‌شدن رایانه می‌شود؟

خیر. فایل Markdown معمولاً یک سند متنی است. خطر زمانی ایجاد می‌شود که ایجنت یا ابزار دیگری دستورهای داخل آن را تفسیر کند و با دسترسی‌های موجود اقدامی انجام دهد.

  • آیا کاربران عادی ChatGPT هم در معرض این خطر هستند؟

این گزارش به‌طور مشخص درباره ایجنت‌های برنامه‌نویسی دارای دسترسی به فایل‌ها، تنظیمات یا ابزارهای اجرایی است. نباید خطر مربوط به این محیط‌ها را به تمام کاربران ChatGPT یا هر گفت‌وگوی هوش مصنوعی تعمیم داد.

  • فایل AGENTS.md چه کاربردی دارد؟

این فایل برای ارائه دستورالعمل‌های پروژه به ایجنت‌های کدنویسی استفاده می‌شود؛ برای مثال، تعیین استانداردهای کد، روش اجرای آزمون‌ها و قواعد مشارکت در توسعه نرم‌افزار.

  • چگونه بفهمیم فایل MD مخرب است؟

تشخیص قطعی صرفاً از روی پسوند امکان‌پذیر نیست. دستورهای نامرتبط، درخواست نصب بسته ناشناس، تلاش برای ارسال اطلاعات محرمانه یا تغییر تنظیمات امنیتی نشانه‌هایی هستند که باید بررسی شوند. دستورهای پنهان یا مبهم نیز ممکن است با خواندن ساده فایل مشخص نشوند.

  • آیا برای رفع این خطر باید Codex یا Claude Code را حذف کنیم؟

نه لزوماً. راهکار مناسب، محدودکردن دسترسی‌ها، اجرای ابزار در محیط مشخص، بازبینی فایل‌های دستورالعمل و حفظ کنترل روی عملیات حساس است. انتخاب ابزار باید با توجه به نیاز و سطح ریسک انجام شود.

  • اگر یک فایل مشکوک پیدا کردیم، چه کنیم؟

اجازه ندهید ایجنت آن را اجرا یا دنبال کند. اگر احتمال می‌دهید دستورهای آن قبلاً اجرا شده‌اند، دسترسی‌های ایجنت، تنظیمات اتصال، بسته‌های نصب‌شده و وضعیت توکن‌های احراز هویت را بررسی کنید. در صورت احتمال افشای اطلاعات، نشست‌ها و توکن‌های مربوط را باطل کنید و از محیط آلوده برای ورود مجدد به حساب‌های حساس استفاده نکنید.

جمع‌بندی

فایل‌های Markdown به‌خودی‌خود بدافزار نیستند؛ کاربرد آن‌ها به‌عنوان دستورالعمل برای ایجنت‌های هوش مصنوعی است که می‌تواند به یک مسیر حمله تبدیل شود. گزارش اکتبر ۲۰۲۶ نشان داد که اعتماد بیش از حد به فایل‌های محیط کاری، همراه با دسترسی ایجنت به ابزارهای اجرایی، ممکن است زمینه نصب بسته مخرب یا افشای اطلاعات احراز هویت را فراهم کند.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *