DeepZero؛ خط لولهٔ خودکار تحقیق آسیبپذیری
خلاصهٔ کاملتر
DeepZero یک موتور متنباز برای خودکارسازی تحقیق آسیبپذیریه که ایدهٔ اصلیش سادهست: پایپلاین رو به شکل YAML تعریف کن و بقیهش با خود ابزار. طبق توضیح مخزن، DeepZero ارکستراسیون، موازیسازی، تحمل خطا و نگهداشتن وضعیت رو به عهده میگیره تا پژوهشگر درگیر پلامبینگ نشه. پروژه به پایتون ۳.۱۱ به بالا نیاز داره، روی ویندوز و لینوکس کار میکنه و با مجوز MIT منتشر شده.
قابلیتهای اصلیای که مخزن برجسته میکنه اینان: زنجیر کردن اعلانی مرحلههای ingest، filter، transform و ارزیابی با مدل زبانی؛ اجرای موازی با ThreadPoolExecutor و همروندی قابل تنظیم برای هر مرحله؛ و اجراهای قابل از سر گرفتن، چون وضعیت هر نمونه بهصورت اتمیک روی دیسک نوشته میشه — یعنی میشه وسط کار متوقفش کرد و بعداً از همونجا ادامه داد.
سمت مدل زبانی، قالبهای پرامپت با Jinja2 نوشته میشن و از طریق LiteLLM به هر ارائهدهندهای وصل میشن. یک REST API هم برای کوئری گرفتن از وضعیت اجرا و دادهٔ نمونهها هست که خود مخزن صراحتاً آزمایشی و ناقص توصیفش میکنه. توسعهپذیریش هم از راه نوشتن پردازشگر سفارشی به شکل کلاس پایتونی و ارجاع بهش با مسیر، تو همون YAML انجام میشه.
برای اینکه معلوم شه در عمل چه شکلیه، پردازشگرهای نمونهای همراه پروژه اومدن: دیکامپایل بدون رابط گرافیکی با Ghidra، فیلتر حذف هش بر پایهٔ loldrivers.io، پارس هدر PE و استخراج متادیتای درایور، و اسکنر دستهای Semgrep. پایپلاین نمونه هم روی همین محوره: تحقیق آسیبپذیری درایورهای کرنلی برای سناریوی BYOVD، همراه با قالب پرامپت ارزیابی و قواعد Semgrep اختصاصی. مستندات پروژه هم روی GitHub Pages منتشر شده و معماری، اسکیمای پایپلاین، مرجع CLI و ساخت پردازشگر سفارشی رو پوشش میده.
نکات کلیدی:
- تعریف پایپلاین تحقیق آسیبپذیری به شکل YAML، بدون درگیر شدن با ارکستراسیون
- اجرای موازی با همروندی قابل تنظیم برای هر مرحله
- اجراهای قابل از سر گرفتن با ذخیرهٔ اتمیک وضعیت هر نمونه روی دیسک
- اتصال به هر ارائهدهندهٔ مدل زبانی از راه LiteLLM و قالبهای Jinja2
- پردازشگرهای نمونه: Ghidra، Semgrep، پارس هدر PE و فیلتر loldrivers
- پایتون ۳.۱۱ به بالا، ویندوز و لینوکس، مجوز MIT؛ REST API هنوز آزمایشیه




