اگر امروز به یک عامل (Agent) اجازه دهید فایلهای پروژه شما را بخواند، احتمالاً بدون آنکه بدانید در حال افشای کلیدهای خصوصی خود به ارائهدهنده مدل هستید. ابزار امنیتی airgap که در ۱۹ ژوئن ۲۰۲۶ عرضه شد، با ایفای نقش یک پوشش محافظ، مقادیر حساس را از برنامههایی که در محیطش اجرا میشوند پنهان میکند.
این مشکل با تکیهٔ بیشتر برنامهنویسان به عاملهای خودمختار و افزونههای شخصثالث شدت گرفته است. تصور کنید عامل شما شبیه پیمانکاری است که دسترسی کامل به خانه شما دارد؛ او میتواند کارش را انجام دهد، اما قطعاً نمیخواهید رمز گاوصندوقتان را ببیند. جریانهای کاری فعلی هوش مصنوعی اغلب با پوشه Home مانند یک کتاب باز برخورد میکنند و اجازه میدهند فایلهای .env یا کلیدهای SSH در یک پرامپت قرار گرفته و از دستگاه محلی شما خارج شوند. افزونههای مخرب یا قابلیتهای (skills) افزودهشده نیز میتوانند این فایلهای حساس را بهطور عمدی سرقت کنند.
زمینه: چشمانداز تهدیدات
به نقل از منابع امنیتی، علاوه بر عاملها، رشد بستههای مخرب npm یک ریسک دائمی است. بسیاری از این بستهها اکنون از قلابهای (hooks) پیشنصب (preinstall) یا پسنصب (postinstall) برای اجرای کدهای دلخواه در حین نصب استفاده میکنند. هدف این کدها بهطور مشخص متغیرهای محیطی، کلیدهای SSH و اعتبارنامههای ابری است.
کمپینهای اخیر مانند Miasma، pgserve و یک بسته جعلی tanstack از همین الگو پیروی میکنند: در حین نصب اجرا میشوند، اسرار را میربایند و آنها را به سرورهای راه دور ارسال میکنند. برخی از این بدافزارها حتی وضعیت مخربی را بهطور دائمی روی ماشین کاربر باقی میگذارند تا دسترسیهای آتی را تضمین کنند.
بر اساس مستندات sauleau.com، محرک اصلی ساخت این ابزار، کرم Shai-Hulud بود که در اواخر ۲۰۲۵ از طریق npm گسترش یافت. این بدافزار خودتکثیری بهطور مشخص توکنهای .npmrc و کلیدهای ابری برای AWS، GCP و Azure را هدف قرار داد. این بدافزار با سرقت توکن npm، نسخههای دارای درِ پشتی (backdoored) از بستههای دیگر را که توسط همان توسعهدهنده نگهداری میشدند، مجدداً منتشر کرد و یک چرخه ویروسی از سرقت اعتبارنامهها ایجاد نمود. در اواخر ۲۰۲۵، یک کمپین نسخه ۲.۰ اجرا شد که کدها را به قلابهای پیشنصب منتقل کرد تا امکان نفوذ به خطوط لوله CI/CD فراهم شود.
همانطور که در تحلیلهای امنیتی دیده میشود، این محیطها امکان «اسلوپاسکواتینگ» (slopsquatting) را فراهم میکنند؛ جایی که مهاجمان نامهای بستهای را ثبت میکنند که احتمال توهم (Hallucination) — شبیه به کسی که خاطرهای را اشتباه تعریف میکند — عاملهای هوش مصنوعی در مورد آنها زیاد است. هدف این است که عامل بهاشتباه یک بسته مخرب را نصب کند.
سازوکار فنی
ابزار airgap با ایجاد برنامههای هدف در یک فضای نام کاربر و نصب (mount and user namespace) جدید عمل میکند. این ابزار دایرکتوریهای Home و کاری را به عنوان یک سیستم فایل FUSE نصب میکند. این معماری اجازه میدهد هرگونه دسترسی به تکتک فایلها از طریق یک پردازشگر (handler) عبور کرده و بررسی شود.
جزئیات حفاظتی
- سانسور اسرار (Secret Redaction): وقتی برنامهای یک فایل
.env،یک کلید خصوصی یا فایل~/.npmrcرا میخواند، airgap محتوای سانسورشده را بازمیگرداند. برای مثال، مقدارAPI_KEY=sk-live-9f8c2a1b4e7dبهAPI_KEY=<redacted value>تبدیل میشود. عامل هوش مصنوعی همچنان میبیند که فایل وجود دارد و میتواند آن را ویرایش کند، اما مقادیر واقعی پنهان میمانند. - گیت تعاملی (Interactive Gating): برای مدیران بستهای مانند npm، ابزار airgap دسترسیهای غیرمنتظره به فایلها را رصد میکند. اگر یک اسکریپت پسنصب بخواهد فایل
~/.ssh/id_rsaیا~/.aws/credentialsرا بخواند، کاربر پیامی دریافت میکند:airgap: allow reading /home/sven/.ssh/id_rsa? [y/N]. در صورت رد درخواست، فرآیند نصب ادامه مییابد اما اسکریپت هیچ دادهای دریافت نمیکند. - فهرست مجاز برنامهها (Program Allowlist): برای برنامههای پشتیبانیشده قوانین خاصی تعریف شده است. عاملهایی مثل claude و opencode فقط با قابلیت سانسور اجرا میشوند. اما npm همزمان از هر دو قابلیت سانسور و گیت تعاملی فایل استفاده میکند.
- مسیرهای پیشتأیید (Pre-approved Paths): برای جلوگیری از خستگی کاربر به دلیل دریافت هشدارهای مکرر (prompt fatigue)، مسیرهای بیخطر مانند
~/.gitconfig،پوشهnode_modulesو فایلهای lock پیشتأیید شدهاند و باعث تحریک هشدارها نمیشوند.
برای اینکه این لایه امنیتی بدون وقفه در تجربه کاربر باشد، توسعهدهندگان میتوانند از نامهای مستعار (alias) در شل استفاده کنند. با افزودن دستورات alias npm="airgap npm" ،alias claude="airgap claude" و alias opencode="airgap opencode" به فایل .zshrc یا .bashrc ،هر جلسه نصب بسته یا نشست با عامل هوش مصنوعی بهصورت پیشفرض در داخل این محیط امن (sandbox) اجرا میشود.
این تغییر در تجربه توسعهدهنده، امنیت را از یک مدل «اعتماد-محور» به یک مدل «تأیید-محور» منتقل میکند. با برخورد با عامل هوش مصنوعی به عنوان یک موجودیت غیرقابلاعتماد، برنامهنویسان میتوانند بدون ریسک برای کل زیرساخت ابری خود، از بهرهوری کدنویسی خودمختار استفاده کنند.
اگرچه این ابزار لایهای حیاتی از دفاع را فراهم میکند، اما تضمین کامل نیست. نویسنده اشاره میکند که حملات تکامل مییابند و هیچ لایهای بینقص نیست. نسخه فعلی این ابزار محدود به سیستمعامل لینوکس است و پشتیبانی از macOS همچنان در دست توسعه است.
شما میتوانید سورسکد این پروژه را در گیتهاب بررسی کنید یا ابزار را از طریق crates.io نصب نمایید تا جریان کاری فعلی خود با عاملهای هوش مصنوعی را امن کنید.
گام بعدی شما
- اگر از عاملهای کدنویسی استفاده میکنید، airgap را از طریق crates.io نصب کنید تا از نشت کلیدهای API جلوگیری شود.
- نامهای مستعار (alias) را برای npm و ابزارهای AI در تنظیمات شل خود تعریف کنید.
- برای بررسی لایههای دفاعی بیشتر، سورسکد این پروژه را در گیتهاب تحلیل کنید.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو