Daily CVE Reporter - Project WriteUp
Project Overview
The Daily CVE Reporter is an automated pipeline developed in Python to track, analyze, and visualize newly published Common Vulnerabilities and Exposures (CVEs). It bridges the gap between raw data and actionable intelligence by specifically highlighting vulnerabilities that have available exploit code (PoC), enabling security researchers to prioritize their focus.
Technical Architecture
1. Data Ingestion (cve_fetcher.py)
The system integrates with the NIST NVD API v2.0 to act as the primary source of truth.
- Dynamic Time Windows: It queries for all vulnerabilities published within a specific timeframe (defaulting to the last 24 hours).
- Robust Handling: The fetcher implements API authentication to bypass strict rate limits and handles pagination logic to ensure no data is lost during retrieval of large datasets.
2. Exploit Analysis (poc_checker.py)
This component acts as an intelligent filter to distinguish between theoretical risks and practical threats.
-
Heuristic Scanning: It iterates through every reference link associated with a gathered CVE.
-
Targeted Detection: The system specifically looks for tags like "Exploit" and cross-references URLs against a whitelist of known exploit repositories, including:
- Exploit-DB
- Packet Storm
- GitHub Advisories
- 0day.today
3. Report Generation (reporter.py)
Processed security data is transformed into a user-friendly format using Jinja2 templating.
- Frontend Technology: The report is built with TailwindCSS, ensuring a responsive and modern design.
- Interactivity: The HTML report supports client-side searching, pagination (10/25/50/100 items), and a "Show only PoCs" toggle to filter noise, all without requiring a dedicated backend server for viewing.
4. Automation & Deployment (daemon.py)
Designed for "set-and-forget" operations, the system includes a daemon mode.
- Scheduling: Utilizes the
schedule library to trigger the fetch-analyze-report cycle daily.
- Containerization: The entire application is Dockerized, allowing it to run continuously as a background service on any infrastructure with a restart policy (
unless-stopped) ensures high availability.
Github | CibLab
Daily CVE Reporter - Proje Detayları
Proje Özeti
Daily CVE Reporter, günlük güvenlik zafiyetlerini izlemek ve özellikle "Proof of Concept" (PoC) exploiti yayınlanmış kritik riskleri ayırt etmek için geliştirilmiş, Python tabanlı bir otomasyon çözümüdür. Ham veriyi işleyerek güvenlik analistleri için eyleme geçirilebilir istihbarata dönüştürür.
Teknik Mimari
1. Veri Toplama (cve_fetcher.py)
Sistem, birincil veri kaynağı olarak NIST NVD API v2.0 ile entegre çalışır.
- Dinamik Zamanlama: Belirli bir zaman penceresi (varsayılan olarak son 24 saat) içinde yayınlanan tüm zafiyetleri sorgular.
- Dayanıklı Yapı: API hız limitlerine (rate-limit) takılmamak için API Anahtarı doğrulamasını yönetir ve büyük veri setlerinin eksiksiz çekilmesi için sayfalama (pagination) mantığını uygular.
2. Analiz Motoru (poc_checker.py)
Bu bileşen, teorik riskler ile pratik tehditleri ayırt etmek için akıllı bir filtre görevi görür.
-
Sezgisel Tarama: Her bir CVE kaydına ait referans bağlantılarını tek tek analiz eder.
-
Hedefli Tespit: "Exploit" etiketine sahip içerikleri arar ve bağlantıları bilinen exploit veritabanlarıyla (Whitelist) karşılaştırır:
- Exploit-DB
- Packet Storm
- GitHub Advisories
- 0day.today
3. Raporlama (reporter.py)
Analiz edilen veriler Jinja2 şablon motoru kullanılarak modern bir arayüze dönüştürülür.
- Önyüz Teknolojisi: TailwindCSS ile tasarlanan arayüz, tüm cihazlarda düzgün görüntülenir.
- Etkileşim: Oluşturulan HTML raporu; sunucu taraflı bir işlem gerektirmeden tarayıcı üzerinde anlık arama, sayfalama ve "Sadece PoC olanları göster" filtresi gibi özellikler sunar.
4. Otomasyon (daemon.py)
Sistem, "kur ve unut" prensibiyle çalışacak şekilde tasarlanmıştır.
- Zamanlama:
schedule kütüphanesi kullanılarak raporlama döngüsü günlük olarak tetiklenir.
- Konteynerizasyon: Tüm uygulama Docker üzerinde çalışacak şekilde yapılandırılmıştır.
unless-stopped politikası ile herhangi bir sunucuda kesintisiz bir arka plan servisi olarak hizmet verir.
Github | CibLab