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 mitsort=epssverwenden 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:
- HTTP(S)-Abruf der Feed-/API-URL (Standard httpx; optional TLS-Anpassung pro Quelle).
- Parse — der Provider zerlegt XML/JSON/HTML in Rohfelder.
- 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. - 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. - 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.