یک فایل متنی چگونه میتواند عامل هوش مصنوعی را به نصب بدافزار وادار کند؟
پژوهشگران نشان دادهاند فایل مخرب AGENTS.md میتواند عاملهای هوش مصنوعی مانند Codex و Claude Code را به نصب بسته آلوده یا افشای توکن هدایت کند.
پژوهشگران امنیت سایبری از روشی خبر دادهاند که در آن یک فایل متنی با نام AGENTS.md میتواند عامل هوش مصنوعی برنامهنویسی را به اجرای دستورهای ناخواسته و نصب یک بسته مخرب npm سوق دهد. این فایل در پوشه دانلودهای یکی از کاربران پیدا شد و بررسیها نشان داد که دستورهای تعبیهشده در آن میتوانند ابزارهایی مانند OpenAI Codex و Claude Code را به انجام اقداماتی خارج از درخواست واقعی کاربر هدایت کنند. در آزمایشهای پژوهشگران، نسخههای بازسازیشده این حمله علاوه بر اجرای کد، امکان افشای توکنهای احراز هویت و تصاحب حساب را نیز نشان دادند.
حمله از کجا آغاز شد؟
بر اساس گزارشی که وبسایت BleepingComputer در ۲۵ اکتبر ۲۰۲۶ منتشر کرد، شرکت امنیتی Forever Security هنگام بررسی یک رخداد در سیستم یکی از مشتریان خود متوجه شد که یک عامل هوش مصنوعی برنامهنویسی در تلاش است بستهای مخرب به نام function-color را از مخزن npm نصب کند. بررسیها نشان داد منشأ این اقدام نه درخواست مستقیم کاربر و نه وابستگی تعریفشده در کد پروژه، بلکه یک فایل راهنمای متنی به نام AGENTS.md در پوشه Downloads سیستم بوده است.
فایلهای AGENTS.md معمولاً برای تعیین دستورالعملهای پروژه به کار میروند؛ از جمله اینکه عامل هوش مصنوعی چگونه کد را بررسی کند، چه ابزارهایی را به کار بگیرد، آزمونها را چگونه اجرا کند و از چه قواعدی در توسعه نرمافزار پیروی کند. این فایلها بهخودیخود برنامه اجرایی نیستند، اما هنگامی که یک عامل هوش مصنوعی آنها را بهعنوان دستورالعمل محیط کاری خود میخواند، محتوایشان میتواند بر تصمیمها و اقدامهای بعدی آن اثر بگذارد. اگر عامل نیز مجوز اجرای فرمان، نصب بسته یا تغییر فایلهای پیکربندی را داشته باشد، یک دستورالعمل دستکاریشده میتواند به نقطه شروع اجرای عملیات مخرب تبدیل شود.
نکته مهم در این رخداد آن بود که پژوهشگران نتوانستند با قطعیت مشخص کنند فایل آلوده چگونه وارد پوشه دانلودهای قربانی شده است. بااینحال، آنها نشان دادند که یک صفحه وب میتواند در شرایط مشخص، فایل AGENTS.md را در این پوشه ذخیره کند. مرورگرهایی مانند Chrome، Edge و Firefox معمولاً فایلهای دانلودشده را در پوشه پیشفرض دانلودها قرار میدهند و برای تعیین محل ذخیره هر فایل الزاماً از کاربر سؤال نمیکنند؛ هرچند اعلان دانلود ممکن است نمایش داده شود. بنابراین، دریافت فایل بهتنهایی به معنای اجرای حمله نیست، اما میتواند زمینه لازم برای مرحله بعد را فراهم کند.
چرا یک فایل متنی میتواند خطرناک باشد؟
عاملهای هوش مصنوعی برنامهنویسی برای انجام وظایف پیچیده به زمینه کاری و دستورالعملهای پروژه متکی هستند. در بسیاری از موارد، این ابزارها فایلهای راهنما را بهصورت خودکار میخوانند تا بدون نیاز به توضیح مجدد کاربر، با ساختار و قواعد پروژه هماهنگ شوند. همین قابلیت، زمانی که فایل از منبعی نامطمئن آمده باشد یا بدون بررسی در پوشه کاری عامل قرار گرفته باشد، میتواند به یک مسیر حمله تبدیل شود.
در این سناریو، مهاجم لازم نیست فایل متنی را بهصورت مستقیم اجرا کند. کافی است دستورهایی را در قالب یک راهنمای ظاهراً عادی توسعه نرمافزار قرار دهد و شرایطی ایجاد کند که عامل هوش مصنوعی آن را بخواند. دستورهای مخرب ممکن است در میان توضیحات معمول درباره آمادهسازی محیط توسعه پنهان شوند و از عامل بخواهند یک ابزار جدید نصب کند، تنظیمات خود را تغییر دهد یا فرمانهایی را برای تکمیل وظیفه اجرا کند. اگر عامل این درخواستها را معتبر تشخیص دهد و محدودیتهای امنیتی نیز مانع اجرای آنها نشوند، مهاجم میتواند از اختیاراتی استفاده کند که کاربر به ابزار داده است.
با این حال، برای وقوع حمله گزارششده، صرف بازدید از یک وبسایت کافی نبود. فایل باید به پوشه مربوطه میرسید و عامل هوش مصنوعی نیز باید در همان پوشه اجرا میشد تا دستورالعمل مخرب را بارگذاری کند. این تمایز مهم است؛ زیرا نشان میدهد خطر از ترکیب چند رفتار عادی ایجاد میشود: دریافت فایل، اعتماد به محتوای پوشه کاری و اجرای خودکار دستورهای عامل.
آزمایشها روی Codex و Claude Code چه چیزی را نشان دادند؟
Forever Security اعلام کرد که این روش را روی دو ابزار هوش مصنوعی برنامهنویسی، یعنی OpenAI Codex و Anthropic Claude Code، بررسی کرده است. در آزمایشهای مربوط به Codex، پژوهشگران توانستند دستورالعملهای دستکاریشده را به شکلی تنظیم کنند که عامل، تنظیمات خود را تغییر دهد و برای نصب بسته npm موردنظر اقدام کند. به گفته این شرکت، در بیش از ۹۰ درصد تلاشهای آزمایشی بازسازیشده، Codex یک محموله آزمایشی بیخطر را اجرا کرد که صرفاً برنامه ماشینحساب را باز میکرد. پژوهشگران همچنین بسته مخرب واقعی را یک بار در ماشین مجازی ایزوله آزمایش کردند تا از تماس آن با سیستم واقعی جلوگیری شود.
در سناریوی جداگانه مربوط به Claude Code، پژوهشگران از فایل راهنمایی با نام CLAUDE.md استفاده کردند تا ابزار را به تغییر نشانی ارتباطی API هدایت کنند. هدف این تغییر، ارسال درخواستها به سروری تحت کنترل آزمایشکنندگان بود؛ اقدامی که در صورت موفقیت میتوانست توکن OAuth ابزار را افشا کند. این توکن میتواند برای جعل هویت حساب و ادامه تعامل با سرویس مورد سوءاستفاده قرار گیرد. پژوهشگران اعلام کردند این سناریو در حدود نیمی از آزمایشها موفق بوده است.
این ارقام، نتایج آزمایشهای یک شرکت امنیتی در شرایط بازسازیشده هستند و نباید بهعنوان نرخ موفقیت حمله در تمام محیطهای واقعی یا همه نسخههای این ابزارها تعبیر شوند. بااینحال، یافتهها نشان میدهند که فایلهای راهنمای محلی و مجوزهای گسترده عاملهای هوش مصنوعی میتوانند در کنار یکدیگر، مسیری برای اجرای کد ناخواسته یا سرقت اعتبارنامهها ایجاد کنند.
آیا این یک آسیبپذیری در خود هوش مصنوعی است؟
Forever Security استدلال میکند که این رخداد لزوماً ناشی از یک نقص نرمافزاری متعارف در Codex یا Claude Code نیست؛ زیرا این ابزارها اساساً برای خواندن دستورالعملهای محیط کاری طراحی شدهاند. مسئله زمانی شکل میگیرد که یک فایل نامطمئن وارد محیطی شود که عامل آن را قابل اعتماد فرض میکند و سپس ابزار، با دسترسیهایی که در اختیار دارد، محتوای آن را به اقدام عملی تبدیل کند.
این تمایز از نظر امنیتی مهم است. در آسیبپذیریهای متعارف، ممکن است یک نقص در کد امکان دور زدن کنترلهای امنیتی را فراهم کند؛ اما در اینجا، زنجیره حمله از تعامل میان رفتار مرورگر، محل ذخیره فایل، نحوه بارگذاری دستورالعملها و سطح دسترسی عامل شکل میگیرد. بنابراین، اصلاح مسئله صرفاً به شناسایی یک خطای کدنویسی محدود نمیشود و به طراحی مرزهای اعتماد، محدودسازی اختیارات و نظارت بر رفتار عاملها نیز نیاز دارد.
بااینحال، این به معنای بینیازی از اقدامات اصلاحی در محصولات نیست. سازندگان میتوانند با محدود کردن دسترسی پیشفرض، شفافتر کردن منشأ دستورالعملها، کنترل تغییرات پیکربندی و تقویت تأیید انسانی برای عملیات حساس، احتمال سوءاستفاده از این الگو را کاهش دهند. جزئیات فنی این رخداد نیز بهتنهایی ثابت نمیکند که تمام عاملهای هوش مصنوعی یا همه نسخههای این محصولات به یک اندازه در معرض خطر هستند.
کاربران و تیمهای فنی چگونه از خود محافظت کنند؟
مهمترین توصیه این است که عامل هوش مصنوعی برنامهنویسی را از پوشه اختصاصی همان پروژه اجرا کنید، نه از پوشه عمومی Downloads یا مسیرهایی که فایلهای نامطمئن متعددی در آنها قرار دارند. محدود نگه داشتن محیط کاری به یک پروژه مشخص، احتمال بارگذاری تصادفی دستورالعملهای نامرتبط را کاهش میدهد و به مدیریت بهتر دسترسی ابزار کمک میکند.
همچنین، فایلهای ناشناختهای مانند AGENTS.md و CLAUDE.md باید پیش از استفاده بررسی شوند؛ بهویژه اگر بهتازگی دانلود شدهاند یا همراه یک مخزن کد ناشناس دریافت شدهاند. وجود دستورهایی برای نصب بستههای غیرضروری، تغییر تنظیمات سراسری، انتقال ارتباط API به نشانی ناشناس یا غیرفعال کردن محدودیتهای امنیتی باید با حساسیت بررسی شود.
تیمهای توسعه نیز بهتر است تأیید انسانی برای عملیات حساس را فعال نگه دارند، از محیطهای ایزوله برای آزمایش کدهای نامطمئن استفاده کنند و دسترسی عاملها به فایلها، شبکه و تنظیمات سیستمی را به حداقل موردنیاز محدود سازند. تغییرات غیرمنتظره در فایلهای پیکربندی عامل نیز باید بررسی شود؛ زیرا اصلاح یک پوشه کاری لزوماً تغییرات سراسری ایجادشده در تنظیمات را از بین نمیبرد.
اگر احتمال میدهید چنین فایلی اجرا شده یا تنظیمات ابزار تغییر کرده است، ابتدا اجرای عامل را متوقف کنید، تغییرات مشکوک را بررسی کنید و در صورت احتمال افشای توکن، اعتبارنامههای مربوط را باطل یا تعویض کنید. حذف فایل مشکوک بهتنهایی برای اطمینان از پاک شدن همه آثار حمله کافی نیست.
منابع