heygrc
Engineeringthe heygrc team

Compliance nach links verschieben

Sicherheit wurde nach links verschoben, in den Pull Request. Die meisten Compliance-Arbeiten warten jedoch noch auf das Audit, und Kontrollen driften mit jedem Commit dazwischen ab.

In den letzten zehn Jahren wurde ein großer Teil der Sicherheit von der jährlichen Planung gelöst. Der Penetrationstest ist nicht verschwunden, aber die tägliche Arbeit hat sich nach links verlagert: in den Editor, den Pull Request, die CI-Pipeline, wo ein Problem günstig behoben werden kann, weil die Person, die es verursacht hat, es noch vor sich sieht. Dinge erst ganz am Ende zu entdecken, begann teuer zu wirken.

Die meisten Compliance-Arbeiten haben diesen Schritt nicht vollzogen. Für die meisten Teams ist sie noch immer am Audit verankert: eine Prüfung, die lange nach dem Ereignis stattfindet, gegen ein Fenster, das bereits geschlossen ist, bei dem eine abgedriftete Kontrolle Monate später auftaucht - wenn überhaupt. Die Änderung, die den Drift verursacht hat, wurde in einem Pull Request eingespielt, den niemand auf Compliance hin geprüft hat. heygrc existiert, um diese Prüfung dorthin zu verlagern, wo die Sicherheit bereits ist: in den Diff.

Das Audit ist ein nachlaufender Indikator

Ein Audit sagt dir, was während eines bereits vergangenen Zeitraums wahr war. Das ist nützlich, aber von Natur aus spät. Bis eine abgedriftete Kontrolle auftaucht, wurde die Änderung, die sie verursacht hat, bereits Wochen oder Monate zuvor gemergt. Die Beweise für die Zwischenzeit fehlen bereits, und was eine Einzeiler-Prüfkommentar gewesen wäre, ist jetzt eine zu dokumentierende Ausnahme und eine zu planende Behebung.

Die Kosten einer Compliance-Lücke wachsen mit dem Abstand zwischen der Änderung, die sie verursacht hat, und dem Zeitpunkt, an dem jemand sie bemerkt. Ein jährlicher Rhythmus dehnt diesen Abstand bewusst aus.

Compliance driftet mit jedem Commit

Kontrollen brechen selten durch ein einzelnes sichtbares Ereignis. Sie erodieren durch einzeln nachvollziehbare Änderungen: eine Aufbewahrungsfrist wird verlängert, eine Log-Zeile gekürzt, eine Speicherregion gewechselt, eine Standardeinstellung gelockert, um einen Partner zu entsperren. Jede Bearbeitung ist für sich genommen vertretbar, und keine davon gibt sich als Compliance-Änderung zu erkennen. Was später auftaucht, ist der akkumulierte Zustand, nicht der Kontext der einzelnen Änderung zum Zeitpunkt der Prüfung, die die Kontrolle verschoben hat.

Wenn der Drift mit jedem Commit passiert, ist der einzige Ort, um ihn günstig zu erkennen, der Commit selbst. An jedem späteren Zeitpunkt musst du aus Logs und Erinnerung rekonstruieren, welche Änderung die Kontrolle verschoben hat und wann.

Ein vorlaufender Indikator im Diff

Compliance nach links zu verschieben bedeutet, jeden Pull Request zum Zeitpunkt seiner Erstellung zu prüfen und die Kontrolle zu benennen, die eine Änderung betrifft, inklusive der Klausel, während die Entscheidung noch günstig zu ändern ist. Es ist dieselbe Bewegung, die die Sicherheit vollzogen hat: nicht, um das Audit zu ersetzen, sondern um das, was das Audit finden muss, zu reduzieren, indem kontrollrelevante Änderungen bereits in der Prüfung erkannt werden, anstatt sie zu Ausnahmen anzuhäufen.

Dies ist das Ziel und kein gemessenes Ergebnis, da wir noch keine Produktions-Telemetrie nutzen: ein vorlaufender Indikator für dieselben Verpflichtungen, die das Audit misst, zu dem Zeitpunkt, an dem ein Befund einen Kommentar statt ein Quartal kostet. Das jährliche Audit findet trotzdem statt. Es sollte nur weniger zu entdecken haben.

shift-leftauditscompliancecode-review