Glossar & Referenz

Der Sec Feed Reader zeigt aggregierte Security-Advisories aus PostgreSQL; Abruf und Anreicherung laufen ausserhalb der Oberflaeche (CLI/Worker). Die UI (SQLPage, Tabler) ist nur lesend.


Abkuerzungen & Begriffe

Begriff Bedeutung
CVE Common Vulnerabilities and Exposures — Kennung CVE-YYYY-NNNN
CVSS Common Vulnerability Scoring System — numerischer Schweregrad (haeufig Base Score 0–10)
EPSS Exploit Prediction Scoring System (FIRST) — geschaetzte Wahrscheinlichkeit (0–1), dass zu einer CVE in einem kurzen Zukunftsfenster (Modell: typ. 30 Tage) eine Ausnutzung in der Wildnis erfolgt; kein CVSS-Ersatz
EPSS-Pctl Perzentil des EPSS innerhalb aller CVEs mit EPSS-Wert in dieser Datenbank: z. B. 0,9 ≈ hoeherer EPSS als ca. 90 % dieser Menge — relatives Priorisieren in grossen CVE-Mengen
FTS PostgreSQL Volltextsuche (tsvector / GIN)
source_id Technische Quellen-ID aus der Konfiguration (stabiler Schluessel)
uid_hash Hash des Eintrags; Parameter der Eintrags-Detail-Route
Severity Einstufung critical / high / medium / low (Normalisierung/Anreicherung; Quelle kann abweichen)
NVD National Vulnerability Database — oft als Kontext zu CVE genannt (nicht identisch mit EPSS)
PoC Proof of Concept — Demonstration/oeffentlicher Code zu einer CVE; in secfeed typisch Referenzen aus github_poc (GitHub-Suche), kein autom. Vertrauensurteil
OSV Open Source Vulnerabilities (osv.dev) — betroffene Paketversionen je Oekosystem; Enrichment osv ergaenzt CVE-Kontext
Enrichment Nachgelagerter Abruf (HTTP/API), schreibt u. a. entry_references und cves-Felder — konfiguriert pro Quelle, Lauf via CLI/Worker

EPSS & EPSS-Pctl — Interpretation

  • EPSS-Score (0–1): Misst Ausnutzungsrisiko im kurzfristigen Sinne des Modells, nicht „wie schlimm ist die Luecke“ im CVSS-Sinne. Zwei CVEs mit gleicher Severity koennen stark unterschiedliche EPSS haben.
  • EPSS-Pctl: Hilft bei Priorisierung in der Masse („oben in der Liste der bewerteten CVEs“). Kein absoluter Schwellenwert fuer Handlung — Organisationen kombinieren EPSS mit Severity, Exposure, Asset-Kritikalitaet.
  • CVE-Liste (/cve/list.sql): Wahlbare Sortierung nach EPSS-Pctl entspricht Threat-Prioritaet relativ zum Datenbestand; aeltere Links mit sort=epss verwenden ebenfalls die Perzentil-Spalte (nicht mehr den Roh-Score).
  • An Feed-Eintraegen: Wenn mehrere CVEs am Eintrag haengen, zeigt die UI oft ein Aggregat (z. B. Maximum der Perzentile). Das priorisiert den Eintrag nach dem „schlimmsten“ EPSS der verknuepften CVEs — keine Summierung ueber Inhalt der Meldung.

Anreicherung — Module & Kategorien

Optionaler zweiter Schritt nach dem Feed-Abruf: konfiguriert in der Quellen-YAML unter enrichment: (Reihenfolge = Ausfuehrungsreihenfolge). Ausfuehrung: secfeed enrich / Worker; die Weboberflaeche zeigt den Katalog unter /enrichments/overview.sql mit Kurzbeschreibung; Details pro Modul: /enrichments/detail.sql mit Parameter slug (z. B. ?slug=osv). Sync des Katalogs: secfeed db sync-enrichment-registry.

Kategorie (UI) Module (slug) Kurz
CVE.org Kernmetadaten cve_org CVSS/Severity/Zeitstempel aus MITRE CVE Services
Risiko-Scores epss FIRST EPSS — Score + Perzentil auf cves
Paket-Oekosysteme osv OSV API — betroffene Versionen/Packages zur CVE
Tracker & Advisory debian_tracker_json, wid_csaf Debian Security Tracker JSON; CERT-Bund CSAF/WID
Detailseiten-Parsing detail_page_regex Erneuter GET der Advisory-URL; Regex extrahiert CVE/Severity
Exploit- & Threat-Oberflaechen exploit_db, github_poc, sploitus, attackerkb, nuclei_templates, metasploit Exploit-DB-Zuordnung; GitHub-PoC-Suche; Sploitus JSON; AttackerKB API; GitHub Code Search (Nuclei/Metasploit-Repos)
  • PoC: praktisch ueber github_poc — Ergebnisse sind externe Links, keine Bewertung der Qualitaet oder Legalitaet.
  • OSV: kein Ersatz fuer Vendor-Advisories; nutzlich fuer Komponenten-/Versionsabgleich.

Spalten & Felder (ueber alle Ansichten)

Ueberschriften sind teils englisch (Startseite), teils deutsch — semantisch gleiche Rollen:

Feld / Spalte Inhalt
Date / Veroeffentlicht Melde- bzw. Veroeffentlichungszeit (haeufig UTC, kontextabhaengig Query)
Source / Quelle source_id mit Link zur Quellen-Ansicht
Title / Titel Ueberschrift des Advisories, Link zum Eintrags-Detail
Severity siehe Glossar
CVEs Verknuepfung zu einer oder mehreren CVE-IDs; Zellen sind oft gekuerzt dargestellt
EPSS Roh-Score pro CVE (CVE-Ansicht)
EPSS-Pctl Perzentil — siehe Glossar EPSS; an Eintraegen oft Aggregat (z. B. Maximum) ueber verknuepfte CVEs
Category / Kategorie Taxonomie der Quelle (z. B. vendor_advisory, security_news)
Provider Technischer Ingest-Typ der Quelle (z. B. feed, JSON-Provider)
Treffer-Kontext Kurzauszug aus Titel/Text zur Volltextsuche (PostgreSQL FTS, siehe Glossar)
Relevanz internes Sortierranking der Volltextsuche
Status / Fehler / Fetch-Zeiten Betriebszustand des Feed-Abrufs (Quellen-Tabellen)
Eintraege (Zaehler) Anzahl gespeicherter Feed-Eintraege je Quelle oder je CVE je nach Kontext
Angereichert Zeitpunkt der letzten bekannten Anreicherung des CVE-Records in dieser Instanz

Navigation (Kurz)

Menue Inhalt
Alle Eintraege Startdashboard, Zeitraumfilter
CVEs CVE-Index und -Detail
Dashboards Konfigurierte Auswertungen
Filter Eintraege mit erweiterten Filtern
Quellen Feed-Status, nach Kategorie gruppiert
Bookmarks Externe Links (YAML)
Anreicherungen Katalog der Enrichment-Plugins (YAML); Detail mit slug
Suche Volltextsuche — dieselbe PostgreSQL-FTS wie im Glossar (FTS); optional Titel/CVE-Teilstrings
Hilfe diese Referenz

Externe HTTP(S)-Ziele oeffnen in einem neuen Tab (Skript der Shell).

Hinweis: Routen enden auf .sql (SQLPage); Bookmarks und Detailseiten sind keine vollstaendige API-Dokumentation — fuer Parametrisierung siehe Betriebsdoku des Deployments.

Datenpfad — Fetch & Anreicherung (grob)

Die Oberflaeche zeigt nur den aktuellen PostgreSQL-Bestand. „Aggregation“ bedeutet hier: viele konfigurierte Quellen schreiben in dieselbe Datenbank; Dashboards und Listen lesen darueber hinweg.

1. Ingest — secfeed fetch (Cron/Worker)

Pro aktivierter Quelle (YAML + Provider-Typ), oft parallel:

  1. HTTP(S)-Abruf der Feed-/API-URL (Standard httpx; optional TLS-Anpassung pro Quelle).
  2. Parse — der Provider zerlegt XML/JSON/HTML in Rohfelder.
  3. Normalisierung — einheitliche Eintragsform (Titel, Klartext fuer FTS, CVE-Kandidaten aus Metadaten/Text, Severity-Hinweise). Der Volltextindex (fts_vector) wird in der DB aus gespeicherten Feldern generiert.
  4. Anreicherung im Fetch — optionale enrichment:-Schritte der Quelle, sofern Automation/Gates das erlauben (Reihenfolge wie konfiguriert); ergaenzt u. a. CVE-Datensaetze, Referenzen, Felder am Eintrag.
  5. Upsert — Eintraege und Verknuepfungen (CVEs, Links) werden idempotent in Postgres geschrieben bzw. aktualisiert.

2. Nachziehen — secfeed enrich (optional)

Separate Lauf fuer bereits gespeicherte Eintraege/CVEs (Re-Anreicherung: EPSS erneut, Exploit-DB, Intervalle reenrich_*, gezielt nach CVE/Zeitraum). Nutzt dieselbe Plugin-Familie wie im Fetch; Auswahl und Gates unterscheiden sich (Bulk statt nur „frisch gefetchter“ Eintrag).

3. Lesen — diese UI

SQLPage fuehrt nur Lesenden SQL aus — kein Fetch in der Oberflaeche. Aktualitaet haengt vom Betrieb von Fetch/Enrich auf dem Server ab.

4. CVE ohne Feed-Hinweis (CLI)

Wenn Eintraege (z. B. Kurzmeldungen) keinen erkennbaren CVE-String in Titel+Text haben, legt secfeed cve watch CVE-YYYY-NNNN einen Pseudoeintrag an (Quelle cve_manual_watch), danach weiter mit secfeed enrich --cve … oder cve watch --run-enrich. Siehe Hilfetext der CLI / Betriebsdoku.