Smart-Diff – semantisches Risikodelta

Was sich an der Ausnutzbarkeit geändert hat – nicht an der CVE-Anzahl

Ein semantisches Delta über Erreichbarkeit und VEX-Status zwischen zwei Releases.

Ein Zähldelta zeigt, wie viele Kennungen hinzugekommen oder weggefallen sind. Smart-Diff vergleicht die beiden Digests als Risikozustände: Welche Befunde haben einen beobachteten Ausführungspfad gewonnen oder verloren, welche VEX-Zustände wechselten und welche Änderungen wertet Ihre Richtlinie aus?

Smart-Diff ändert, was ein Prüfer zuerst liest, niemals die zugrunde liegenden Befunde.

Position im Nachweis-Rückgrat

  1. Quelle
  2. Build
  3. Scan
  4. Urteil
  5. Entscheidung
  6. Bereitstellung
  7. Watch

Das Delta wird berechnet, wenn ein Kandidaten-Digest für eine Promotion überprüft wird: Das Urteil gibt an, was sich gegenüber dem Digest, den es ersetzt, geändert hat, und die Entscheidung versiegelt es in den Beweisen.

Zwei Sichtweisen auf dasselbe Release

Anschauliches Beispiel – Demoformulierung, kein gemessenes Ergebnis.

Ein zählbasiertes Tool meldet

+3 CVEs

Drei Kennungen kamen mit einer Aktualisierung des Basis-Images und einer erweiterten Abhängigkeit hinzu. Die Anzahl deutet auf höheres Risiko hin, kann aber nicht sagen, ob einer der drei Pfade ausgeführt werden kann.

Smart-Diff berichtet

+3 CVEs, ausnutzbare Oberfläche verkleinert

Die drei Ergänzungen liegen auf einem nicht beobachteten Ausführungspfad. Ein im vorherigen Digest erreichbarer und nicht behobener Befund ist verschwunden. Die wesentliche Änderung ist diese Entfernung.

„+3 CVEs, ausnutzbare Oberfläche verkleinert“ kann ein rein zählbasiertes Werkzeug nicht erzeugen. Dafür muss bekannt sein, welche Befunde ausführbar sind – nicht nur, wie viele vorhanden sind.

Was es eigentlich vergleicht

Smart-Diff ist ein Diff-over-Risikostatus, der an zwei Image-Digests gebunden ist: die von Ihnen ausgeführte Version und die von Ihnen vorgeschlagene Version. ReachabilityAnalyse, die beweist, ob verwundbarer Code tatsächlich von Ihrer Anwendung aufgerufen wird — und so Fehlalarme aus dem Scanner-Rauschen herausfiltert

Änderungen des erreichbaren Pfads

Welche Befunde zwischen Basis- und Ziel-Digest einen beobachteten Ausführungspfad gewonnen oder verloren haben. Ein nicht mehr erreichbarer Befund ist ein anderes Ereignis als ein verschwundener Befund.

VEX-Zustandsübergänge

Übergänge von Aussagen wie „affected“ zu „not_affected“, zusammen mit ihrer Begründung aufgezeichnet – ein Prüfer erkennt, warum der Zustand wechselte, nicht nur, dass er wechselte.

Wie Stella Ops mit SBOM und VEX umgeht →

Richtlinienrelevante Deltas

Änderungen, die ein Gate überschreiten, das Ihre Richtlinie auswertet: Schweregradverschiebungen, Fixverfügbarkeit, Erreichbarkeitsklasse. Änderungen, die Ihre Richtlinie ignoriert, bleiben im Delta und werden niedriger eingestuft.

An zwei Digests gebunden und wie jedes Urteil wiederholbar

Das Delta wird als DSSE-signierte Attestierung aufgezeichnet, die Basis- und Ziel-Image-Digest nennt. Die Nutzlast enthält hinzugefügte, entfernte und geänderte Befunde, das Ergebnis des Erreichbarkeits-Gates und die Liste wesentlicher Änderungen. Mit denselben beiden Digests und denselben Nachweisen erneut ausgeführt, liefert sie dasselbe Delta. DSSEDead Simple Signing Envelope – ein einfacher, flexibler Standard zum Signieren beliebiger Daten mit kryptographischen Signaturen

Smart-Diff-Prädikatreferenz →

Warum die Zählung in die Irre führt

Ein Release kann zehn CVE-Kennungen in niemals geladenem Code hinzufügen und einen erreichbaren, nicht behobenen Befund entfernen. Ein zählbasiertes Gate blockiert dieses Release – obwohl es sicherer ist. Die Erkennung wesentlicher Risikoänderungen priorisiert das Delta so, dass der Prüfer zuerst sieht, was die ausnutzbare Oberfläche verändert hat. Der lange Rest ist nur einen Filter entfernt.

Kontext zur zugrunde liegenden Befundpopulation, nicht zu Deltas: ~85 % der kritischen Container-Schwachstellen liegen in inaktivem Code (Sysdig 2024 Container Security Report). Ein Delta, das nur Kennungen zählt, übernimmt dieses Rauschen auf beiden Seiten des Vergleichs.

Wo das Delta landet

Release-Review vor der Promotion.

  1. Ein Kandidaten-Digest gelangt zur Prüfung. Sein Urteil verweist auf das Delta gegenüber dem derzeit in der Zielumgebung genehmigten Digest.
  2. Der Prüfer liest zuerst wesentliche Änderungen: Was wurde erreichbar, was ist nicht mehr erreichbar, welche VEX-Aussagen wechselten und warum?
  3. Bei der Promotion wird das Delta in den Entscheidungsnachweisen versiegelt. Fragt später jemand, warum dieses Release zugelassen wurde, zeigt die Antwort, was sich seit dem letzten Release geändert hat – nicht nur eine Momentaufnahme.

Wie Entscheidungen beweiskräftig sind →

Die Grenze

Die Qualität des Deltas hängt von der Erreichbarkeitsabdeckung ab. Die Erreichbarkeitsanalyse unterstützt Java, C#, Go, JavaScript, TypeScript und Python. Außerhalb dieser Sprachen erfasst Smart-Diff weiterhin hinzugefügte, entfernte und geänderte Befunde zwischen beiden Digests, behauptet aber keine Änderung der Ausnutzbarkeit – und sagt das ausdrücklich, statt keine Änderung zu melden.

Welche Erreichbarkeitsnachweise abdecken →