سرور CVE MCP؛ تریاژ آسیبپذیری با یه فراخوانی
خلاصهٔ کاملتر
تو این ریپو یه سرور MCP (یعنی پروتکلی که ابزارهای بیرونی رو به شکل استاندارد در اختیار مدل میذاره) معرفی شده که کلود رو به یه تحلیلگر امنیت تبدیل میکنه. به گفتهٔ نویسنده مشکل اصلی روال دستیه: برای تریاژ فقط یه CVE باید CVSS رو از NVD، احتمال اکسپلویت رو از EPSS، وضعیت بهرهبرداری فعال رو از CISA KEV و پچها رو از گیتهاب بگیری و بعد خودت همهشونو کنار هم بذاری. برای ۵۰ تا CVE این یعنی یه روز کاری.
جوابش ۲۸ ابزار روی ۲۴ تا API هست که یه ارکستراتور به اسم triage_cve جلوشون وایساده. با یه فراخوانی، NVD و EPSS و KEV (و برای عمقهای بالاتر جستوجوی PoC عمومی) همزمان صدا زده میشن. پارامتر depth سه حالت quick و standard و deep داره و تو حالت deep یه تصمیم SSVC v2 هم کنارش میاد.
triage_cve("CVE-2021-44228", depth="deep")امتیاز ریسک از جمع وزندار چهار سیگنال درمیاد: EPSS با ۳۵٪، KEV با ۳۰٪، CVSS با ۲۰٪ و در دسترس بودن PoC با ۱۵٪. یه override سفتوسخت هم داره: هر CVE که تو فهرست KEV باشه حتماً CRITICAL میمونه و امتیازش کمتر از ۷۶ نمیشه، حتی اگه CVSS و EPSS پایین باشن. نویسنده دلیلش رو این میدونه که KEV پیشبینی نیست، بهرهبرداری تأییدشدهست.
از نظر راهاندازی، پایتون ۳.۱۰ به بالا میخواد و هشت ابزارش بدون هیچ کلیدی کار میکنه؛ کلید NVD سرعت درخواستها رو از ۵ به ۵۰ درخواست در هر ۳۰ ثانیه میبره. نسخهٔ 0.2.0 ترنسپورت HTTP و Dockerfile هم اضافه کرده. کل ترافیک فقط خروجیه، هیچ پورتی باز نمیشه، کلیدها از متغیرهای محیطی خونده میشن و لاگ نمیشن، و IPهای داخلی هم تو ابزارهای lookup بلاک هستن.
نکات کلیدی:
- ۲۸ ابزار روی ۲۴ منبع داده، با پایتون، FastMCP، httpx، aiosqlite و Pydantic v2
- فرمول امتیاز: EPSS ۳۵٪، KEV ۳۰٪، CVSS ۲۰٪، PoC ۱۵٪ و سقف ۱۰۰
- KEV یه override سخته: برچسب CRITICAL و امتیاز حداقل ۷۶
- آستانهها: ۰ تا ۲۵ کم، ۲۶ تا ۵۰ متوسط، ۵۱ تا ۷۵ زیاد، ۷۶ به بالا بحرانی
- هشت ابزار بدون کلید API کار میکنه؛ کلید NVD نرخ رو ۱۰ برابر میکنه
- نسخهٔ 0.2.0: ترنسپورت HTTP، فالبک VulnCheck NVD++ و تصمیم SSVC v2 تو حالت deep




