نهال

سیستم متن‌باز ARTEX؛ خودکارسازی تست نفوذ با عوامل هوشمند

سیستم ARTEX با هدف پر کردن این خلاء، به عنوان یک ایجنت هوشمند عمل می‌کند که می‌تواند مانند یک نفوذگر واقعی فکر کرده و از ابزارهای مختلف استفاده کند.

خلاصه

سیستم ARTEX یک بستر خودکار برای تست نفوذ است که از ترکیب مدل‌های زبانی بزرگ (LLM) و ابزارهای امنیتی بهره می‌برد. این پروژه که در مسابقات امنیتی «Agent+» رتبه نخست را کسب کرده، با معماری مبتنی بر ایجنت‌های هوشمند، فرآیند شناسایی دارایی‌ها، کشف آسیب‌پذیری و بازتست (Retesting) را بدون دخالت مداوم انسان انجام می‌دهد. ARTEX با استفاده از رابط کاربری مدرن و بک‌اند قدرتمند به زبان Go، ابزاری کارآمد برای تیم‌های امنیت و متخصصان تست نفوذ است.

سیستم ARTEX چیست و چه کاربردی دارد؟

تست نفوذ سنتی فرآیندی زمان‌بر و وابسته به تخصص بالای نیروی انسانی است. سیستم ARTEX با هدف پر کردن این خلاء، به عنوان یک ایجنت هوشمند عمل می‌کند که می‌تواند مانند یک نفوذگر واقعی فکر کرده و از ابزارهای مختلف استفاده کند. این سیستم از دو بخش اصلی تشکیل شده است: یک پنل مدیریتی که با Next.js توسعه یافته و یک موتور پردازشی که با زبان Go نوشته شده است. هسته اصلی هوش این سیستم بر پایه مدل‌های زبانی پیشرفته نظیر Claude یا GPT-۴ استوار است که تصمیم می‌گیرند در هر مرحله از چه ابزاری (مانند Nmap یا Curl) استفاده کنند.

یکی از ویژگی‌های برجسته این سیستم، نقشه‌برداری بصری از دارایی‌ها است. در این بخش، تمام دامنه‌ها، زیردامنه‌ها و سرویس‌های شناسایی شده به صورت یک گراف زنده نمایش داده می‌شوند. این رویکرد به متخصص امنیت اجازه می‌دهد تا مسیرهای احتمالی نفوذ را به وضوح مشاهده کرده و گره‌های حساس شبکه را شناسایی کند.

چطور ایجنت‌های هوشمند امنیت را مدیریت می‌کنند؟

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

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

قابلیت بازتست خودکار و مدیریت آسیب‌پذیری‌ها

یکی از چالش‌های اصلی پس از شناسایی حفره‌های امنیتی، اطمینان از رفع صحیح آن‌هاست. ARTEX بخشی اختصاصی برای «بازتست» (Retesting) در نظر گرفته است. در این بخش، کاربر می‌تواند یک آسیب‌پذیری خاص را انتخاب کرده و از ایجنت بخواهد که مجدداً آن را بررسی کند.

سیستم به صورت خودکار یک نشست (Session) جدید ایجاد کرده و با استفاده از شواهدی که در مرحله اول نفوذ ثبت شده بود، تلاش می‌کند دوباره به هدف دسترسی پیدا کند. اگر ایجنت موفق نشود، وضعیت آسیب‌پذیری به «رفع شده» تغییر می‌یابد. در غیر این صورت، گزارش دقیقی از دلیل باقی‌ماندن حفره امنیتی ارائه می‌دهد. برای کاربران ایرانی که به دنبال پیاده‌سازی چنین سناریوهایی با مدل‌های زبانی هستند، هوش مصنوعی نهال بستری را فراهم کرده تا بتوانند بدون دغدغه دسترسی به APIهای بین‌المللی، ایجنت‌های اختصاصی خود را بسازند.

راهنمای نصب و راه‌اندازی سریع

برای راه‌اندازی ARTEX، استفاده از Docker ساده‌ترین روش است. این سیستم به یک پایگاه داده PostgreSQL نیاز دارد. پس از دریافت کدها از مخزن گیت‌هاب، می‌توان با اجرای دستورات زیر سیستم را بالا آورد:

۱. کپی کردن فایل تنظیمات نمونه و وارد کردن کلیدهای دسترسی LLM. ۲. اجرای دستور ۰ برای ایجاد کانتینرها. ۳. دسترسی به پنل مدیریت از طریق درگاه ۸۷۸۷ روی لوکال‌هاست.

تصویر داکر این پروژه شامل تمام ابزارهای ضروری مانند Nmap، Ripgrep و Playwright است که ایجنت برای فعالیت‌های خود به آن‌ها نیاز دارد. همچنین امکان نصب به صورت باینری مستقیم برای سیستم‌عامل‌های لینوکس، مک و ویندوز نیز فراهم شده است.

نکات کلیدی

منبع: github.com

مقاله‌های مرتبط