Zum Inhalt springen

findings.json-Schema

findings.json ist die maschinenlesbare Fassung des Berichts. Sie enthält dieselben Befunde wie das PDF, nur ohne Umbruch und Satz.

Aufbau

Grundgerüst
{
"scan": { "id": "…", "domain": "…", "tier": "active", "context": "shop" },
"counts": { "critical": 1, "high": 2, "medium": 4, "low": 3, "info": 5 },
"findings": [ … ],
"positives": [ … ],
"scope_notes": [ … ]
}

scope_notes nennt die Lücken im Prüfumfang: Werkzeuge, die ausgefallen sind, und Prüfungen, die der Scope-Guard unterdrückt hat. Ein Bericht verschweigt nicht, was er nicht geprüft hat.

Felder eines Befunds

id
uuidPflicht
catalog_id
stringPflicht
Stabile Katalogkennung. Der Vergleich zweier Läufe läuft über sie.
report_id
stringPflicht
title
stringPflicht
severity
enumPflicht
Schweregrad. Etiketten Kritisch · Hoch · Mittel · Niedrig · Hinweis.critical · high · medium · low · info
category
stringPflicht
confidence
enumPflicht
Konfidenz eines Befunds. Bei CVE-Zeilen gilt zusätzlich die zweistufige Sprache „bestätigt“ (confirmed) und „möglich“ (candidate) — siehe `CveRow.confidence`.confirmed · likely · candidate
status
enumPflicht
open · fixed · accepted · not_applicable
effort
string
effort_level
string
owner
string
cvss_score
number | null
cvss_vector
string | null
cwe
string | null
description
string
impact
string
remediation
string
remediation_short
string
remediation_code
string
caveat
string
legal_basis
string
Nur bei Datenschutz-Befunden (DSGVO, TDDDG).
references
string[]
evidence
object[]
cve_rows
object[]
Nur bei `COMPONENT-CVE` gefüllt.
has_confirmed_cve
boolean
resolution_note
string
resolved_at
string | null

Die Evidenz jedes Befunds ist eigens gehasht:

label
stringPflicht
content
stringPflicht
command
string | null
sha256
stringPflicht

Aufzählungswerte

FeldWerte
severitycritical · high · medium · low · info
confidenceconfirmed · likely · candidate
statusopen · fixed · accepted · not_applicable

Die Etiketten im deutschen Bericht lauten Kritisch · Hoch · Mittel · Niedrig · Hinweis. Werten Sie den englischen Schlüssel aus, nicht das Etikett.

Beispiel

Ein Eintrag aus findings
{
  "report_id": "F-02",
  "catalog_id": "HEADER-HSTS-MISSING",
  "title": "",
  "severity": "critical",
  "category": "",
  "confidence": "confirmed",
  "status": "open",
  "effort_level": "gering",
  "owner": "Hosting"
}