Zum Hauptinhalt springen

CSV-Export

Jeder Scan-Lauf lässt sich als CSV exportieren: eine Zeile je Fund, ausschliesslich mit unbedenklichen Metadaten. Es ist das Format, das man einem Prüfer gibt, in ein Ticketsystem einspeist oder über die Aufbewahrungsfrist hinaus als Nachweis behält.

Nur API, nur Admin

Es gibt heute keine Export-Schaltfläche in der Oberfläche. Der Export ist ein ausschliesslich Administratoren zugänglicher API-Endpunkt, und jeder Export wird im Audit-Log als FINDINGS_CSV_EXPORTED mit der Scan-Lauf-ID und der Anzahl exportierter Zeilen festgehalten.

Einen Export abrufen​

curl -H "Authorization: Bearer <admin-access-token>" \
-o findings-scan-42.csv \
https://riskscanner.example.com/api/scans/42/export/csv

Die Antwort ist text/csv und heisst findings-scan-<id>.csv.

Spalten​

SpalteBedeutung
scan_run_idDer Scan-Lauf, zu dem dieser Fund gehört.
finding_idStabile Kennung des Fundes.
jira_base_url_hashHash der Jira-Basis-URL, gegen die der Scan lief, damit Exporte verschiedener Instanzen unterscheidbar bleiben, ohne die URL preiszugeben.
project_keyJira-Projektschlüssel.
issue_keyJira-Issue-Schlüssel.
content_typeWo der Treffer lag: Issue-Feld, Kommentar oder Anhang.
field_idFeld, aus dem der Treffer stammt, sofern zutreffend.
comment_idKommentar, aus dem der Treffer stammt, sofern zutreffend.
text_variantOb der Treffer im gerenderten Text oder im Rohfeldwert gefunden wurde.
offset_startZeichen-Offset, an dem der Treffer beginnt.
offset_endZeichen-Offset, an dem der Treffer endet.
rule_idDie Erkennungsregel, die getroffen hat.
rule_version_idDie exakte Regelversion, die den Fund erzeugt hat.
severityINFO, LOW, MEDIUM, HIGH oder CRITICAL.
review_statusOPEN, FALSE_POSITIVE, ACCEPTED_RISK oder FIXED.
detection_stateACTIVE, NOT_FOUND_IN_LATEST_FULL_SCAN (der Fund existierte zuvor, der jüngste vollständige Scan sieht ihn nicht mehr) oder SOURCE_UNAVAILABLE.

Was bewusst nicht im Export steht​

Der Trefferwert und jeder Ausschnitt des Textes darum herum. Der Export enthält keinerlei Ausschnitts-Spalte, und es gibt auch keine andere Stelle, an der einer stünde: Der Scanner speichert überhaupt keinen Ausschnitt, nur einen geschlüsselten Fingerabdruck und eine Fundstelle. Die Datei sagt einem Leser genau, wo er nachsehen muss - Issue, Feld und Zeichen-Offsets - und lässt den Wert selbst in Jira.

Genau das macht die Datei sicher weitergebbar: Ein CSV mit Funden kann an ein Ticket angehängt oder einem Prüfer geschickt werden, ohne zu einer zweiten Kopie genau der Daten zu werden, die man eindämmen will. Um einen Wert zu lesen, öffnen Sie das Issue in Jira über den issue_key.

Siehe Sicherheit und Datenverarbeitung.