با افزایش قابلیتهای عاملهای هوش مصنوعی (AI Agents) در توسعه نرمافزار، تمایل برنامهنویسان به اعطای اختیارات بیشتر به این ابزارها افزایش یافته است. بر اساس نظرسنجی سال ۲۰۲۵ توسعهدهندگان Stack Overflow، حدود ۸۴ درصد از برنامهنویسان از ابزارهای هوش مصنوعی در جریان کاری خود استفاده میکنند یا قصد استفاده از آنها را دارند. در این میان، قابلیتی موسوم به «حالت YOLO» (برگرفته از اصطلاح You Only Live Once) به عاملهای هوش مصنوعی اجازه میدهد بدون نیاز به تایید و اجازه کاربر، دستورات را بهطور خودکار اجرا کنند؛ رویکردی که سرعت کار را بهشدت بالا میبرد اما سیستم میزبان را با تهدیدهای امنیتی جدی مواجه میکند.
حالت YOLO چیست و در چه ابزارهایی وجود دارد؟
حالت YOLO اصطلاحی در میان توسعهدهندگان برای اجرای عاملهای هوش مصنوعی با تایید خودکار تمامی دسترسیها است. در این حالت، عامل میتواند بدون توقف برای دریافت تاییدیه کاربر، فایلها را بخواند، کد بنویسد، دستورات شل (shell commands) را اجرا کند و ابزارهای مختلف را فراخوانی کند. این قابلیت در ابزارهای مختلف با نامهای متفاوتی شناخته میشود؛ برای مثال در Claude Code با فلگ --dangerously-skip-permissions، در Codex CLI با --full-auto، در Gemini CLI و GitHub Copilot CLI با فلگ --yolo (یا --allow-all) و در Cursor به عنوان تنظیمات اجرای خودکار (auto-run) در دسترس است.
چرا توسعهدهندگان از حالت YOLO استفاده میکنند؟
در حالت عادی، یک عامل هوش مصنوعی محتاط برای هر اقدام کوچک مانند ویرایش فایل، اجرای تست یا نصب پکیج از کاربر تاییدیه میخواهد. این درخواستهای مداوم منجر به خستگی ناشی از اعلانها (prompt fatigue) و تغییر مداوم تمرکز (context switching) برنامهنویس میشود. فعال کردن حالت YOLO این موانع را از بین میبرد و به عامل اجازه میدهد کارهای تکراری و کمخطر را با سرعت بالا و بدون وقفه انجام دهد تا تمرکز برنامهنویس روی کارهای خلاقانهتر حفظ شود.
خطرات امنیتی اجرای بدون کنترل عاملها
حذف تاییدیه انسانی، آخرین سد دفاعی در برابر خطاهای هوش مصنوعی را از بین میبرد. اگر عامل مستقیماً روی سیستم میزبان (host) اجرا شود، دسترسی کاملی به فایلها، متغیرهای محیطی، کلیدهای امنیتی و شبکه خواهد داشت. مهمترین خطرات این سناریو عبارتند از:
۱. دستورات مخرب: اجرای اشتباه دستوراتی مانند rm -rf روی دایرکتوریهای حساس بدون هیچ وقفهای برای تایید کاربر.
۲. افشای اطلاعات حساس: دسترسی عامل به کلیدهای SSH، توکنها و فایلهای .env و احتمال نشت یا سوءاستفاده از آنها.
۳. تزریق دستور (Prompt Injection): سوءاستفاده مهاجمان از طریق قرار دادن دستورات پنهان در صفحات وب، اسناد یا کامنتهای کد برای هدایت عامل به رفتارهای مخرب بدون نیاز به دسترسی مستقیم به سیستم کاربر.
۴. نشت دادهها و تغییرات ناخواسته: ارسال دادههای حساس به خارج از شبکه یا اعمال تغییرات ناخواسته در سایر پروژههای سیستم میزبان.
راهکار امن؛ ایجاد مرزهای ایزوله به جای تایید دستی
بررسیها نشان میدهد تایید دستی دستورات به دلیل خستگی کاربر همیشه کارساز نیست و کاربران ممکن است به اشتباه دستورات مخرب را تایید کنند. راهکار اصلی، محدود کردن محیط اجرای عامل هوش مصنوعی است. به جای اجرای عامل روی سیستم اصلی، باید آن را در یک محیط ایزوله و موقت (ephemeral sandbox) مانند یک microVM اجرا کرد. در این حالت، عامل فضای کاری واقعی برای نصب پکیجها و اجرای سرویسها در اختیار دارد، اما به اطلاعات حساس، کلیدهای امنیتی و سیستم میزبان دسترسی نخواهد داشت و در صورت بروز خطا، کل محیط بدون آسیب به سیستم اصلی نابود و بازسازی میشود.