Produkt

Bots für die letzte Meile: Rollouts, Sicherheitsprüfung

Rustam Lalkaka4 Min. Lesezeit

Heute veröffentlichen wir Bots für die Softwareentwicklung, mit denen du sicheren, zuverlässigen Code schneller in Produktion bringst.

  • Rollouts überwacht eine Änderung vom PR bis in die Produktion, erkennt Regressionen und greift ein, um wieder einen stabilen Zustand herzustellen.
  • Security Reviewer findet Sicherheitsprobleme in deiner Codebasis und behebt sie.

Warum wir das entwickelt haben

Code zu schreiben ist längst nicht mehr der Engpass. Langsam ist nach wie vor alles, was nach dem Öffnen des PR kommt: sicherstellen, dass der Code sicher ist, das Deployment überwachen, entscheiden, ob ein Anstieg der Latenz echt ist, und herausfinden, welche von elf Änderungen den Checkout kaputt gemacht hat.

Diese Arbeit ist anspruchsvoll, repetitiv und erfordert viel Kontext. Klingt ganz nach einer Aufgabe für Bots!

Wir haben angekündigt, dass wir auf selbstfahrende Codebasen hinarbeiten. Rollouts und Sicherheitsprüfung übernehmen autonom gängige Aufgaben, für die sich jedes Softwareteam mehr Expertise und Zeit wünscht.

Rollouts

Rollouts verfolgt eine Änderung vom Öffnen des PR bis zu dem Moment, in dem du sicher bist, dass sie in der Produktion funktioniert.

Verbinde deine Versionsverwaltung, dein Deployment-System und deine Telemetrie (Datadog, Grafana, Honeycomb oder wo auch immer deine Metriken und Traces liegen). Vor dem Merge liest Rollouts den Diff und erstellt einen Überwachungsplan: die Risiken, die es erkennt, die beabsichtigten Auswirkungen der Änderung und die Stellen, an denen deine Instrumentierung dir nicht verraten kann, ob sie funktioniert hat. Wenn etwas fehlt, kannst du den Plan einfach bearbeiten.

Nach dem Deployment vergleicht Rollouts die Signale aus dem Plan mit der Baseline vor dem Deployment. Findet es eine Regression, teilt es dir mit, welche Änderung es im Verdacht hat und was es als Nächstes vorhat. Je nach Konfiguration ist das eine Benachrichtigung an den Autor, ein pausierter schrittweiser Rollout oder ein Revert-PR, der auf Freigabe wartet.

Drei Dinge, die es heute schon gut kann:

  • Es erkennt Regressionen, die auf einen einzelnen Endpunkt in einer Region beschränkt sind, noch bevor ein globaler Alarm ausgelöst würde
  • Es unterscheidet beabsichtigte Auswirkungen von Regressionen, sodass ein gewollter Anstieg niemanden unnötig alarmiert
  • Es weist schon vor dem Merge auf fehlende Instrumentierung hin – der häufigste Grund, warum eine fehlerhafte Änderung unbemerkt bleibt

Bald verfügbar: Integration von Feature Flags, damit Rollouts Traffic direkt hoch- und herunterfahren kann, sowie Unterstützung für Release-Trains und Deployment-Freezes.

Security Reviewer

Security Reviewer läuft bei jedem PR, liest die Änderung im Kontext der gesamten Codebasis und meldet Schwachstellen samt Erklärung und Lösungsvorschlag.

Security Reviewer hat die durchschnittliche Review-Zeit von 4,8 auf 3,8 Minuten gesenkt und die Akzeptanzrate von Kommentaren von 45–50 % auf 60–70 % gesteigert

Statische Analyse arbeitet mit Mustererkennung: Sie markiert jede String-Verkettung in der Nähe eines SQL-Aufrufs, übersieht aber die Autorisierungsprüfung, die nach einem Refactoring nicht mehr ausgeführt wird. Die Sicherheitsprüfung liest Code so, wie es ein Security Engineer tut: Wo gelangt die Benutzereingabe hinein, wo landet sie, und was durchläuft sie auf dem Weg dorthin?

Ohne weitere Konfiguration sucht sie nach:

  • Injection über SQL-, Befehls-, Template- und LDAP-Oberflächen
  • Fehlender oder fehlerhafter Authentifizierung und Autorisierung bei neuen und geänderten Routen
  • Secrets und Zugangsdaten, die in den Quellcode committet wurden
  • Unsicherer Deserialisierung und nicht validierten Weiterleitungen
  • Abhängigkeitsänderungen, die bekannte Schwachstellen einschleppen
  • Unsicheren Standardeinstellungen in Infrastruktur und Konfiguration

Jeder Befund enthält einen Schweregrad, einen Angriffspfad und einen Fix, der sich mit einem Klick anwenden lässt.

Erste Schritte

Rollouts und Security Reviewer sind ab sofort in den Teams- und Enterprise-Plänen verfügbar. Aktiviere einen der beiden Bots im Tab „Automatisierungen“, um loszulegen.

Abgelegt unter: Produkt

Autor: Rustam Lalkaka