CVE Hunting — اصطاد اللي يفرق فعلاً
NVD و MITRE و KEV و EPSS — تعرف الجديد وتعرف اللي مهم
ليه تتبّع الـ CVEs مهارة لوحدها؟
كل يوم بينزل حوالي 100 ثغرة جديدة. مين بيكسب؟ اللي بيعرف أنهي ثغرة بتخصّه خلال ساعات، مش أيام. المهاجم بيقرا نفس النشرة اللي بتقراها أنت. سباق بقى.
هرم المصادر — أيها تستخدم متى
nvd.nist.gov/vuln/search
cve.org · cve.mitre.org
cisa.gov/known-exploited-vulnerabilities-catalog
first.org/epss
github.com/advisories
osv.dev
رؤية الجديد — Recently Added CVEs
إزاي تشوف اللي نزل النهارده / الأسبوع ده بس، مش قائمة أبدية بتقرفك؟
1) NVD — RSS و فلتر تاريخ
2) CISA KEV — feed يومي
3) GitHub Advisories — فلتر بالـ ecosystem
# REST: آخر تحذيرات npm critical
curl -s 'https://api.github.com/advisories?severity=critical&ecosystem=npm&per_page=20' \
| jq '.[] | {ghsa: .ghsa_id, cve: .cve_id, summary, published_at}'
# واجهة الويب — أقوى فلاتر:
# https://github.com/advisories?query=ecosystem%3Apip+severity%3Acritical+published%3A%3E2026-04-014) Twitter/X و Mastodon — السباق الحقيقي
- حسابات لا غنى عنها: @CVEnew, @cisagov, @vxunderground, @gossithedog, @TrustedSec.
- infosec.exchange على Mastodon — مجتمع باحثي الأمان الفعلي.
- يكشف PoCs قبل أن يصل CVE إلى NVD بـ 24–72 ساعة.
البحث الصحيح — Search Like a Pro
NVD Advanced Search — أهم الفلاتر
- CPE Match — ابحث بالمنتج لا بالنص الحر: cpe:2.3:a:fortinet:fortios:7.4.0 يعطيك كل CVEs لإصدار محدد.
- CVSS v3 Range — مثلاً 9.0–10.0 فقط.
- Has Exploit / KEV — لتصفية ما يهمّ بالفعل.
- Modified vs Published — أحياناً CVE قديم يُعاد فتحه ببيانات جديدة.
OSV.dev — الأسرع للأتمتة
Google Dorks للـ PoCs و Write-ups
# PoC على GitHub
site:github.com "CVE-2024-3400" PoC
# تحليل تقني من باحثين
"CVE-2024-3400" (writeup OR analysis OR "deep dive") -site:nvd.nist.gov
# Exploit-DB
site:exploit-db.com CVE-2024-3400
# Patch diff (جوهرة!) — أحياناً المطوّر ينشر الإصلاح قبل الإفصاح الكامل
site:github.com "CVE-2024-3400" path:CHANGELOGأدوات سطر الأوامر
ربط CVE بالأصول — أهم خطوة فعلياً
قائمة CVEs من غير ما تعرف انت شغّال إيه أصلاً = ضوضاء. الربط بيحصل عبر CPE (Common Platform Enumeration) أو SBOM.
- طب يا حضرتك، أنا متابع KEV كل يوم، مش ده كفاية؟
لأ يا نجم. KEV بيقولك "في حريق". الـ inventory هو اللي بيقولك "الحريق ده في بيتك ولا في حتة تانية". من غيره، إنت بتطفي حرايق الجيران.
- SBOM — أنشئ Software Bill of Materials لكل تطبيق (CycloneDX / SPDX) ثم مرّره عبر grype أو trivy.
- Asset Inventory — قاعدة بيانات لكل خدمة, إصدارها, و الـ CPE المقابل.
- Continuous Scanning — nuclei templates على البنية كل 6 ساعات.
أتمتة التتبع — Pipeline يومي
المحترفين مش بيفتحوا NVD باليد كل صبح. الخط النموذجي:
- كل ساعة: اسحب KEV feed + NVD modified + GHSA.
- قارن مع Asset Inventory (CPE match).
- اضرب CVSS × EPSS × Asset criticality → أولوية.
- أرسل تنبيه Slack/Teams عند تطابق > عتبة محددة.
- افتح تذكرة Jira تلقائياً مع رابط NVD و SLA حسب الأولوية.
#!/usr/bin/env bash
# مثال: تنبيه Slack لأي إضافة جديدة على KEV تطابق منتجات لديك
KEV=$(curl -s https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json)
INVENTORY=$(jq -r '.products[]' assets.json)
echo "$KEV" | jq -r --arg today "$(date -u -v-1d +%Y-%m-%d)" \
'.vulnerabilities[] | select(.dateAdded >= $today) | "\(.cveID)\t\(.product)"' \
| while IFS=$'\t' read -r cve product; do
if grep -qi "$product" <<< "$INVENTORY"; then
curl -X POST -H 'Content-type: application/json' \
--data "{\"text\": \"NEW KEV: $cve - $product (you run this)\"}" \
"$SLACK_WEBHOOK"
fi
doneغلطات الـ junior — اللي بتحرق وقت الفريق
- بتثق في الـ CVSS لوحده. ثغرة 9.8 على خدمة جوّه الشبكة أقل خطر من 6.5 على واجهة مكشوفة للإنترنت. الـ context هو اللي بيحكم.
- بتنسى الـ CPE versions. "WordPress 6.2" غير "WordPress 6.2.1". لو فلترت غلط هتفوّت أو هتولّع تنبيهات على الفاضي.
- بتعتمد على NVD بس. حوالي 30% من الـ CVEs ما ليهاش CPE — مش هتظهر لو بتدوّر بإسم المنتج.
- بتتجاهل الـ transitive dependencies. معظم اختراقات السنين الأخيرة جاية من package عمقه 3 جوه node_modules محدش حتى يعرف موجود.
- بتجري ورا الـ hype. Log4Shell كان كبير، صح. بس دلوقتي state actors لسه بيستخدموا CVE-2017-* علشان حد ما رقّعش. اللي قديم بيقتل أكتر من اللي جديد.
الخلاصة: لو الفريق بتاعك بيقفل تذكرة لمجرد إن CVE قاعد على KEV من غير ما يبص للـ inventory، أنت ما عندكش CVE management — أنت عندك مسرح.
الخلاصة الناشفة
السؤال الأول دايماً: "هل أنا شغّال ده فعلاً؟". مش "إيه خطورته؟".
اللي عنده SBOM + KEV + automation = بيرد في ساعات. اللي بيفتح NVD باليد = بيلاقي الـ ransomware قبل ما يلاقي الـ patch.
اختار صفك.
الحماية و الأولويات — كيف ترتّب التصحيح
- P0 — خلال 24 ساعة: KEV + أصل مكشوف للإنترنت + لا workaround.
- P1 — خلال 7 أيام: EPSS > 0.5 أو CVSS ≥ 9 على أصل حسّاس.
- P2 — خلال 30 يوماً: CVSS 7–8.9 داخلي.
- P3 — الدورة الشهرية: الباقي.
- اشترك في vendor security advisories مباشرة (Microsoft MSRC, Cisco PSIRT, Fortinet PSIRT).
- راقب @CVEnew + KEV feed عبر RSS reader يصل سريعاً.
- اربط SBOM بـ CI/CD: ابنِ لا يمر إذا حزمة فيها CVE معروفة.
- درّب فريقك على قراءة CVE: السؤال الأول دائماً "هل لديّ هذا؟" لا "ما خطورته؟".