گوگل Mantis، پروژهٔ متن‌باز، چارچوبی عامل‌محور است که چرخهٔ زندگی آسیب‌پذیری نرم‌افزار را از شناسایی تا بازتولید و اصلاح خودکار می‌کند. هدف اصلی Mantis کاهش چشمگیر مثبت‌کاذب در گزارش‌های حاصل از اسکن‌های مبتنی بر مدل‌های زبانی و افزایش کیفیت شواهد عملی از آسیب‌پذیری‌هاست.

چرایی خلق Mantis

اسکن‌های مبتنی بر مدل‌های بزرگ گاهی گزارش‌های نادرست یا مثبت‌کاذب تولید می‌کنند؛ در برخی سیستم‌ها نرخ مثبتِ واقعی حتی زیر 7% گزارش شده است. Mantis برای رفع این مشکل طراحی شده است: به‌جای اسکن صرف فایل‌ها، چارچوب از تحلیل تاریخچهٔ مخزن، اصلاحات امنیتی پیشین، معماری و مدل‌های تهدید استفاده می‌کند و یافته‌ها را با روش‌های عامل‌محور و بازتولید ایزوله‌شده اعتبارسنجی می‌کند.

معماری و نحوهٔ کار

Mantis پروژه را به یک درخت سلسله‌مراتبی خلاصه می‌کند که زمینهٔ سطح دایرکتوری و مخزن را حفظ می‌کند؛ این رویکرد مصرف توکن‌ها را تا حدود 85% کاهش می‌دهد بی‌آنکه ساختار معنی‌دار کد را از بین ببرد. سپس مجموعه‌ای از عامل‌ها (agents) با نقش‌های مشخص وارد عمل می‌شوند:

  • استراتژیست — ساختار سطح‌بالای کد، نمودارهای وابستگی و مدل تهدید را ارزیابی می‌کند.
  • پژوهشگر — جستجوی عمیق در فایل‌های خام برای ردیابی جریان داده، کنترل‌ها و منطق پاک‌سازی.
  • منتقد و بازبین — یافته‌ها را پالایش و اولویت‌بندی می‌کند تا مثبت‌کاذب حذف شود.
  • مراحل بازتولید — در محیط‌های ایزوله (sandbox) یافته‌ها را بازتولید می‌کنند تا شواهد عملی از آسیب‌پذیری فراهم شود.

برای توضیح بیشتر دربارهٔ مکانیزم‌های ایزوله‌سازی به صفحهٔ ویکی‌پدیا دربارهٔ Sandbox مراجعه کنید.

مهارت‌های مدولار و فازهای کاری

Mantis به‌صورت مجموعه‌ای از ماژول‌های مهارتی عرضه شده و بیش از 15 ابزار دارد که می‌توان آن‌ها را به‌صورت متوالی یا موازی اجرا کرد. از جمله ابزارها:

  • mantis-summarize
  • mantis-review
  • mantis-critic

ابزارها از طریق یک حالت مشترک ذخیره‌شده روی دیسک با هم تبادل داده می‌کنند تا جریان کاری قابل بازبینی و مستقل از مدل باقی بماند.

نمایی از چارچوب Mantis و ارتباط میان عامل‌ها

استراتژی انتخاب مدل برای هر فاز

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

  • mantis-researcher و mantis-dedupe برای طبقه‌بندی سریع و خوشه‌بندی مناسبند.
  • mantis-reproduce برای نوشتن بازتولیدکننده‌های عملی کرش و mantis-patch برای تولید اصلاحات دقیق مناسب‌اند.

کاهش مثبت‌کاذب و مدیریت ریسک

Mantis با مرحلهٔ mantis-review فیلترهای مبتنی بر قواعد اعمال می‌کند تا موارد محتملِ مثبت‌کاذب حذف شوند. هم‌زمان هشدار داده شده که اعمال بیش‌ازحد فیلترهای منفی ممکن است کشف آسیب‌پذیری‌های واقعی با ریسک پایین را مختل کند؛ لذا تنظیم دقیق قوانین و بازبینی انسانی در حلقهٔ نهایی ضروری است.

دسترسی، مستندات و منابع

Mantis به‌صورت متن‌باز روی گیت‌هاب منتشر شده و راهنمای عامل‌ها، فهرست کامل مراحل و قراردادهای بین‌مرحله‌ای همراه بهترین شیوه‌ها در اختیار توسعه‌دهندگان و تیم‌های امنیتی قرار گرفته است. برای مطالعهٔ بیشتر به نوشتهٔ Google Cloud دربارهٔ استفادهٔ داخلی از هوش مصنوعی مراجعه کنید: Google Cloud blog و مخزن پروژه در گیت‌هاب: GitHub.

نحوهٔ بهره‌برداری تیم‌های امنیتی

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

جمع‌بندی

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