Files
tessera-ctl/.planning/quick/261009-p0m-sicherheitsprotokoll-und-ci-sicherheitsp/baseline/SUMMARY.txt
T
schalli d62e6c2dbe
Tessera CI/CD / Lint & Type Check (push) Successful in 53s
Tessera CI/CD / Tests (push) Failing after 2m14s
Tessera CI/CD / Desktop-Pakete bauen (push) Has been skipped
Tessera CI/CD / Build & Publish Images (push) Has been skipped
Tessera CI/CD / Sicherheitspruefung (nur Bericht) (push) Has been skipped
docs(quick-261009-p0m): Sicherheitsprotokoll und CI-Pruefungen
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-09 21:07:46 +02:00

37 lines
4.8 KiB
Plaintext

Baseline 2026-10-09, HEAD cc713b5 (git archive HEAD copy for source scans; gitleaks read .git read-only)
Tools: gitleaks v8.30.1, trivy 0.75.0, osv-scanner v2.6.0, semgrep 1.180.0 (p/default p/typescript p/nodejs p/secrets p/dockerfile), pnpm audit (pnpm 9.15 registry endpoint)
gitleaks-history.json : 20 findings / 1367 commits (16 private-key [test fixtures + doc snippets], 3 generic-api-key [i18n labels, doc table], 1 curl-auth-user [test-Nextcloud example]) -> 0 real secrets
pnpm-audit-all.json : 171 vulns (critical 7, high 85, moderate 74, low 5), 151 advisories, 1268 deps
pnpm-audit-prod.json : 151 vulns (critical 5, high 73, moderate 68, low 5)
osv-scanner.json : 43 vulnerable package@version of 1262 (pnpm-lock.yaml)
trivy-fs.json : pnpm-lock 151 (C5 H73 M68 L5), Cargo.lock 2 MEDIUM, misconfig 2 LOW (no HEALTHCHECK api+web Dockerfile), secrets 7 HIGH = test key fixtures
trivy-image-api.json : api:beta Node.js C6 H116 M98 L7 ; alpine os-pkgs M1 ; secrets 0
trivy-image-web.json : web:beta Node.js C2 H19 M21 L1 ; alpine os-pkgs M1 ; secrets 0
semgrep.json : 58 findings (ERROR 9, WARNING 46, MEDIUM 3); 7 ERROR = test key fixtures, 59 scan errors (43 PartialParsing, 16 Timeout)
nach Ausnahmelisten (2026-10-09, Task 1)
Quelle: voller Lauf von .gitea/scripts/security-scan.sh in gitea/runner-images:ubuntu-latest (Netz gitea, Docker-Daemon des Hosts, GITHUB_REF=refs/heads/main), HEAD 3d00be8 plus ein Wegwerf-Klon mit einem Kanarienvogel-Token (die Treffer des Kanarienvogels sind unten abgezogen). Rohdaten (JSON) bleiben ausserhalb von Git (baseline/.gitignore).
gitleaks : 0 Treffer ueber die gesamte Historie (vorher 20; alle 20 waren geprueft harmlos, jetzt einzeln freigegeben in .gitleaks.toml); Kanarienvogel wird gefunden (1 Treffer, github-pat)
pnpm audit --prod : critical 5, high 73, moderate 68, low 5 (unveraendert zur Grundlinie)
osv-scanner : 56 verwundbare package@version (pnpm-lock.yaml + Cargo.lock; die Grundlinie zaehlte nur pnpm-lock.yaml: 43)
semgrep : 34 Treffer (ERROR 2, WARNING 29, MEDIUM 3), 4 Scanfehler (alle PartialParsing: ci.yml, beide Dockerfiles, 0 Zeitueberschreitungen); vorher 58 Treffer / 59 Fehler. Der Kanarienvogel (detected-github-token) ist abgezogen. .semgrepignore entfernt Testschluessel, Tests, Testdaten und Planungsnotizen
trivy fs : critical 5, high 73, medium 70, low 5, misconfig 2 (kein HEALTHCHECK), secrets 0 (vorher 7 = Testschluessel); Kanarienvogel wird gefunden (secrets=1, github-pat)
trivy image api:beta : critical 6, high 116, medium 99, low 7 (Node-Pakete plus Alpine), secrets 0
trivy image web:beta : critical 2, high 19, medium 22, low 1 (Node-Pakete plus Alpine), secrets 0
Nachweis: checks/task1-runner-full.txt (nur Zeilen SECURITY-SUMMARY und rc=0, mit Kanarienvogel); Offline-Lauf im Runner-Abbild: Exit 0, alle Werkzeuge uebersprungen.
ZAP-Grundpruefung (2026-10-09, Task 3)
zap (alpha, direkt gegen die Anwendung, ohne Proxy): hoch 0, mittel 2, niedrig 6, info 3 (11 Meldungsarten, 28 URLs, passiv, 0 POST). Mittel: fehlende Content-Security-Policy, fehlender Schutz gegen Einrahmen (Clickjacking). Niedrig: fehlende Kopfzeilen X-Content-Type-Options, Permissions-Policy, Cross-Origin-Embedder/Opener/Resource-Policy; Kopfzeile X-Powered-By. Lauf ueber die oeffentliche Adresse steht aus (vom Pruefrechner nicht erreichbar). Lokaler Beweis: checks/task3-zap-local.txt (POST=0 in beiden Laeufen). Rohberichte bleiben in security-reports/ (nicht in Git).
nach Behebung (2026-10-09, Task 6)
Quelle: Abschlusslauf von .gitea/scripts/security-scan.sh in gitea/runner-images:ubuntu-latest (Netz gitea, Docker-Daemon des Hosts, GITHUB_REF=refs/heads/main), frischer Klon von HEAD fceec19, lokal gebaute Abbilder; Exit 0. Nachweis: checks/final-run.txt.
gitleaks : 0 Treffer ueber die gesamte Historie
pnpm audit --prod : critical 0, high 9, moderate 3, low 0 (vorher C5 H73 M68 L5)
osv-scanner : 20 verwundbare package@version (8 npm: xlsx, node-forge, nodemailer, sharp, deepmerge-ts, vitest, @vitest/mocker, tinypool; 12 crates: glib, anyhow, event-listener, h2, quick-xml x2, proc-macro-error, unic-* x5); vorher 56
semgrep : 33 Treffer (ERROR 1, WARNING 29, MEDIUM 3), 4 Scanfehler (PartialParsing); Regel gcm-no-tag-length: 0 (vorher 1)
trivy fs : critical 0, high 9, medium 4, low 0, misconfig 2 (kein HEALTHCHECK), secrets 0
trivy image api : critical 0, high 6, medium 4, low 0 (nodemailer, xlsx, node-forge, deepmerge-ts); Groesse 1,12 GB (vorher 1,66 GB)
trivy image web : critical 0, high 3, medium 1, low 0 (sharp); Groesse 359 MB
zap : nicht neu gemessen; Lauf ueber die oeffentliche Adresse steht aus
Werkzeugordner-Wiederverwendung (Volume mit Werkzeugen): zweiter Lauf meldet "semgrep ... bereit (vorhanden)" statt neuer Installation.