Zum Hauptinhalt springen

StaticCodeAudit

Changelog

Alle Funktionen, Verbesserungen und Meilensteine der StaticCodeAudit-Versionen im Überblick.

Was wir geliefert haben, was als Nächstes kommt

Ehrlicher Snapshot des Produktstands. « Fertig » ist in Produktion. « In Arbeit » wird gerade gebaut. « Geplant » ist geplant, aber nicht begonnen — Daten indikativ.

Fertig — geliefert

  • 100 % Standardabdeckung: 708/708 Builtin-Regeln auf CWE oder WCAG gemappt
  • DSL erweitert: Multi-CWE pro Regel, CVE-Feld, WCAG-Feld — alles propagiert zu JSON / SARIF / HTML
  • SARIF rule.properties.tags + JSON finding.compliance-Objekt — kompatibel mit GitHub code-scanning, DefectDojo, ASOC-Plattformen
  • Out-of-Band-Regelpakete-Loader (rules-updates/) mit SHA-256-Verifizierung und festgelegter manifest.json-Spec
  • D.2 Leistung: Regel-Cache + inkrementelle Analyse (3× schneller bei Warm-Läufen)
  • Taint-Engine: Python AST + JS/Java/C#/PHP lexikal — F1 = 98,8% auf OWASP BenchmarkJava v1.2, Recall = 100%
  • Java-Taint-Engine: dateiübergreifende Analyse + native Spring-Erkennung — 17/18 reale Schwachstellen auf WebGoat gefunden (94,4%), gegenüber 9/18 bei Semgrep
  • Kundenportal: echte Authentifizierung (E-Mail + Passwort + Einmalcode) — ersetzt den bisherigen reinen UUID-Zugang

In Arbeit — wird gebaut

  • CVE-Intelligence-Pipeline: tägliche Erfassung von NVD / OSV / GitHub Advisory Feeds, Filterung nach unterstützten Sprachen
  • Operator-Authoring-Konsole: eine .sca-Regel schreiben, gegen Fixtures in einer Sandbox validieren, für Release stagen
  • Kundenportal: authentifizierter Download von Regelpaketen (pro Abonnement-Tier)
  • E-Mail-Benachrichtigungen: aktive Abonnenten benachrichtigen, wenn ein neues Paket veröffentlicht wird

Geplant — vorgesehen

  • DSL v2: Ed25519-Signaturverifizierung beim Laden (öffentlicher Schlüssel beim Build im Binary eingebettet)
  • D.2.3 abschließen: echte Parallelisierung (Refactor der Executors für Thread-Safety)
  • Weitere Sprachen: Go, Ruby, Kotlin, Swift — je nach Kundennachfrage
  • Taint-Engine: Cross-Line- / Scope-Level-Sanitizer (derzeit nur RHS)
  • IDE-Plugins: VS Code + JetBrains (read-only Finding-Viewer, liest die letzte Audit-JSON)

Keine Zusagen zu Daten. Wir liefern, wenn es fertig ist. Kundengetriebene Prioritäten — sagen Sie uns, was Ihnen am wichtigsten ist.

Versionshistorie

v2.0.0 Neu Juli 2026

Java-Taint-Engine: persistenter dateiübergreifender Call-Graph und native Spring-Framework-Erkennung, mit jetzt fusionierten lexikalischen und Dataflow-Engines in einem einzigen Durchlauf. Validiert an echtem Code — der Recall auf WebGoat steigt auf 94,4%, gegenüber 50% bei Semgrep OSS auf derselben Ground Truth, ohne neue False Positives auf 3 unabhängigen Open-Source-Codebasen.

Java-Engine — dateiübergreifender Call-Graph & Spring-Erkennung

  • Validierung an echtem Code (WebGoat): Recall 94,4% (17 von 18 bekannten Schwachstellen gefunden) gegenüber 50% (9/18) bei Semgrep OSS — gleiche Ground Truth, offizielle Java-Sicherheitsregeln
  • Persistenter Call-Graph — dateiübergreifende Multi-Hop-Auflösung (A→B→C), SQLite-gecacht mit Invalidierung per Datei-Hash, ersetzt die bisherige lexikalische Single-Hop-Analyse
  • Native Spring-Framework-Erkennung — @RequestParam/@RequestBody/@PathVariable/@RequestHeader-Quellen, implizite Parameterbindung, Argument-zu-Parameter-Propagation über interne Methodenaufrufe
  • Lexikalische und Dataflow-Engine laufen jetzt gemeinsam auf jeder Java-Datei und führen ihre Ergebnisse zusammen: auf einer Open-Source-Codebasis mit 47.000 Sternen (JeecgBoot) +7 dateiübergreifende Flows gewonnen, 0 verloren, 0 neue False Positives
  • Präzision erneut validiert an 3 unabhängigen realen Codebasen (spring-petclinic, spring-boot-realworld-example-app, JeecgBoot) — inklusive einer XSS-Sink-Korrektur, die 20 False Positives eliminierte (JeecgBoot-Präzision: 49,3% → 69,4%)
v1.5.0 Neu Juni 2026

Java-Lexical-Taint-Engine: F1 = 98,8% auf OWASP BenchmarkJava v1.2 (2.740 Testfälle), Recall = 100% — keine Schwachstelle übersehen. 6 von 8 Kategorien erreichen F1 = 100% (sqli, cmdi, pathtraver, ldapi, trustbound, crypto). Gesamt: 710 Regeln.

Java-Taint-Engine — OWASP BenchmarkJava v1.2

  • OWASP BenchmarkJava v1.2: F1 = 98,8%, Recall = 100,0% (2.740 Testfälle) — validiert gegen ein öffentliches, unabhängiges Benchmark
  • SQL-Injection, Befehlsinjektion, Path Traversal, LDAP-Injection, Trust Boundary, Krypto: alle bei F1 = 100%
  • Methoden-Zusammenfassungs-Vorpass: −406 False Positives eliminiert. Inter-prozedurale HashMap/List/Switch-Const/Ternary-Analyse
  • 33 verbleibende False Positives in der Hash-Kategorie (MessageDigest.getInstance mit externem Konfig-Algorithmus — strukturelles SAST-Limit)
v1.4.0 Neu Mai 2026

Dataflow-Taint-Engine Phase 7/8 (F1 = 1,000 auf Python UND multilingual JS/Java/C#/PHP) plus 3 Supply-Chain-Regeln inspiriert vom npm-Angriff TanStack/Mistral (Mai 2026, 170 Pakete kompromittiert). Legacy-Taint-Engine entfernt (-3 519 LOC netto). Insgesamt: 700+ Regeln in 8 Kategorien.

Dataflow-Taint-Engine (Phase 7/8)

  • Clean-Room-Implementierung — CFG, IR 3-Adressen, Lattice und Worklist mit hybridem dotted + Regex-Matching (~6 200 LOC Code, 3 800 LOC Tests)
  • F1 = 1,000 auf dem internen SCA-Fixture-Korpus — null falsche Negative, null falsche Positive, auf Python UND multilingual (JS/Java/C#/PHP)
  • Profile-Loader (Flask, Django, Express, Spring, Laravel, .NET) automatisch nach Kategorie in Taint-Regeln injiziert — gleiche Präzision wie Snyk Code, ohne Cloud oder externe Abhängigkeit

Supply-Chain-Abdeckung (TanStack/Mistral Mai 2026)

  • Regel npm_git_dependency — erkennt Abhängigkeiten, die auf einen Git-Commit bei GitHub/GitLab/Bitbucket gepinnt sind und npm-Registry-Advisories umgehen
  • Regeln ide_config_exfil (JS + Python) — erkennen stille Schreibvorgänge in .claude/settings.json, .vscode/tasks.json, .cursor/, .aider/, .codeium/, die als Persistenzvektoren genutzt werden
  • Native präventive Abdeckung — keine Telemetrie, keine Cloud-Sandbox, jede Erkennung läuft offline auf dem Entwickler-Rechner
v1.3.0 Neu Mai 2026

D.2 Performance — Regel-Cache und inkrementelle Analyse machen Warm-Cache-Läufe bis zu 3× schneller, ideal für CI/CD-Pipelines und Pre-Commit-Hooks.

Performance

  • Regel-Cache: geparste DSL-Regeln werden zwischen Läufen zwischengespeichert (kein erneutes Parsen)
  • Inkrementelle Analyse: nur seit dem letzten Scan geänderte Dateien werden neu analysiert (Inhalt-Hash)
  • Bis zu 3× schneller bei Warm-Läufen (erneute Scans unveränderten Codes)
v1.2.0 Verbessert April 2026

+53 Erkennungsregeln für nicht-sicherheitsbezogene Kategorien: Architektur, Wartbarkeit, Barrierefreiheit/UX, Oberfläche/UI. Quellen: axe-core (WCAG 2.2), Ruff, Pylint, PMD, PHPMD, SonarJS, eslint-plugin-jsx-a11y, HTMLHint und SonarQube Cloud API.

Neue Regeln — 8 Wellen

  • +16 UX/Barrierefreiheitsregeln (HTML + JSX): axe-core WCAG 2.0/2.1/2.2, aria-hidden, Viewport-Zoom, Video-Untertitel, jsx-a11y
  • +6 UI-Regeln (HTML): veraltete Tags, Inline-Styles, fehlender Viewport, Schaltflächentyp, target blank, Bildabmessungen
  • +24 Wartbarkeitsregeln: Python (Ruff/Pylint), Java (PMD), PHP (PHPMD), JavaScript (SonarJS), C# (SonarQube)
  • +7 Architekturregeln: Java, PHP, JavaScript, C# — Kopplung, Utility-Klassen, öffentliche Felder
  • 698 Regeln insgesamt (vorher 645)
v1.1.0 Engine 2026

Erkennung & Abdeckung

  • 698 Erkennungsregeln in 8 Kategorien
  • 8 Programmiersprachen: Python, JavaScript/TypeScript, HTML, Java, C#, PHP, YAML
  • changelog.v2.detection.custom--create-rule) with DSL and taint propagation
  • changelog.v2.detection.fixtures
  • changelog.v2.detection.selftest--self-test) validates all fixtures on demand

Sicherheit

  • changelog.v2.security.owasp
  • changelog.v2.security.iso27001
  • changelog.v2.security.asvs
  • changelog.v2.security.cicd
  • changelog.v2.security.suppress# sca-ignore), config, or global disable

Exporte & Integration

  • SARIF 2.1.0-Export für GitHub Code Scanning und GitLab SAST--sarif) — compatible with GitHub Code Scanning and GitLab SAST
  • SBOM-Generierung im CycloneDX 1.5-Format--sbom) — Software Bill of Materials
  • changelog.v2.exports.gitblame--git-blame) — committer per finding
  • changelog.v2.exports.hook--install-hook) — automatic audit before every commit
  • changelog.v2.exports.failon--fail-on-high) — exit code 1 on HIGH findings

Berichte & White-Label

  • Berichte in 4 Sprachen: Englisch, Französisch, Spanisch, Deutsch
  • changelog.v2.reports.charts
  • changelog.v2.reports.health
  • changelog.v2.reports.glossary
  • White-Label: Tool-Name, Unternehmen, Logo und Dateipräfix anpassbar
  • Berichtsaufbewahrung nach Anzahl, Tagen oder kombiniertem Modus--retention-dry-run)
  • changelog.v2.reports.keyboard
  • changelog.v2.reports.print
v1.0.0 Initial 2025 — Erstveröffentlichung

Kernfunktionen

  • 51 Erkennungsregeln in 7 Kategorien
  • 4 Sprachen: Python, JavaScript/TypeScript, HTML
  • changelog.v1.core.reports
  • Baseline-Vergleich über Audit-Snapshots
  • changelog.v1.core.zero
  • changelog.v1.core.offline
  • changelog.v1.core.uuid--init)

Optionale Kategorien

  • Abhängigkeits-Audit über pip-audit und npm audit (CVE-Scan)
  • changelog.v1.optional.db