threat-finder؛ اسکنر آسیبپذیری که به مانیفست کاری نداره
خلاصهٔ کاملتر
تو مستندات پروژه اومده که مشکل اسکنرهای مرسوم اینه: فهرست پکیجها رو میخونن و میگن روی کاغذ چی نصبه، نه اینکه واقعاً چی داره اجرا میشه. threat-finder برعکس عمل میکنه؛ از سرویسهای زندهٔ سیستم شروع میکنه، هر کدوم رو به یه Package-URL با نسخهٔ کامل (شامل epoch و ریویژن توزیع) و کوالیفایر ?distro= میرسونه و همون رو برای تطبیق میفرسته.
تطبیق نسخه سمت سرور و با قواعد بومی هر اکوسیستم (dpkg، rpm، apk، semver) انجام میشه، برای همین یه بیلد بکپورتشده که وصله رو گرفته اشتباهی آسیبپذیر علامت نمیخوره. یافتهها هم بر اساس فلگ confirmed جدا میشن: موارد تأییدشده گزارش میشن و بقیه جداگانه بهعنوان موارد نیازمند بررسی میان که با --strict میشه حذفشون کرد.
نقطهٔ تمایز اصلی، همبستگی با شبکهست. ابزار پروسهٔ هر سرویس رو به سوکتهایی که روشون listen کرده وصل میکنه — از /proc/net روی لینوکس، lsof روی یونیکسهای دیگه و Get-NetTCPConnection روی ویندوز — و دسترسیپذیریش رو به loopback، private یا public دستهبندی میکنه. هیچ بستهای هم به بیرون فرستاده نمیشه.
روی اینها یه riskScore صفر تا صد و یه تصمیم به سبک SSVC (act-now، soon، schedule، track) ساخته میشه که از شدت، EPSS، حضور تو فهرست KEV سیسا و میزان در معرض بودن دارایی میاد. نتیجه اینه که چند مورد واقعاً خطرناک میان بالای لیست یه هاست شلوغ. تو CI هم میشه دقیقاً روی همین گیت گذاشت:
threat-finder --yes --quiet --fail-on exposedبهطور پیشفرض فقط سرویسهای در حال اجرا اسکن میشن؛ با --scope all هر پکیج نصبشدهٔ سیستمعامل هم اضافه میشه که سطح پوشش رو ۱۰ تا ۵۰ برابر میکنه، هرچند روی پلن رایگان به محدودیت نرخ میخوره. خروجی JSON کلیدهای مرتب و بدون timestamp داره تا گزارشها تمیز diff بشن، و گزارش SARIF 2.1.0 هم میده. لینوکس، مک، BSDها و ویندوز پشتیبانی میشن و ابزار به یه API key از Radar نیاز داره.
نکات کلیدی:
- بهجای مانیفست، سرویسهای در حال اجرا رو اسکن میکنه و به Package-URL دقیق میرسونه
- تطبیق نسخه سمت سرور و با قواعد بومی dpkg/rpm/apk/semver انجام میشه تا بکپورتها الکی قرمز نشن
- هر یافته به سوکتهای listen وصل میشه و loopback، private یا public علامت میخوره
- اولویتبندی با riskScore و باندهای SSVC از ترکیب شدت، EPSS، KEV و در معرض بودن
- خروجی JSON پایدار و SARIF 2.1.0 داره؛ --fail-on exposed برای گیت گذاشتن روی CI




