Shift-left in der Anwendungsentwicklung, Teil 3 Tools und Toolchains für die DevSecOps-Automatisierung
Anbieter zum Thema
Die große Anzahl und die massive Vielfalt an Shift-Left-fähigen DevOps-Tools im Umlauf tragen zur Verwirrung bei. DevOps-Teams haben nicht nur die Qual der Wahl, sie müssen handeln.

Im DevSecOps-Umfeld innovieren und akquirieren Scharen von Anbietern um die Wette. Harness.io hat beispielsweise im März 2022 ChaosNative übernommen, mit dem Ziel, die Praxis der Zufallstests auf Fehler in CI/CD-Pipelines zu übertragen. ChaosNative hatte sich mit einem quelloffenen Chaos-Engineering-Projekt einen Namen gemacht. Noch im selben Monat fügte der Anbieter zwei weitere Shift-Left-Module hinzu, die Sicherheitstest-Orchestrierung und Site-Reliability-Engineering ebenfalls in DevOps-Pipelines einbauen.
Nahezu zeitgleich machte der GitOps-Anbieter Weaveworks seine erste Integration von Policy-as-Code-fähigen Shift-Link-Tools allgemein verfügbar. Die Werkzeuge gehen auf die Übernahme von Magalix zurück. Nur eine Woche später, am 29. März, fügte das französische Startup-Unternehmen namens Cycloid seinem DevOps-Automatisierungsprodukt ein FinOps-Werkzeug für prädiktive Finanzoperationen hinzu
Am selben Tag kündigte der App-Sicherheitsanbieter Contrast Security eine Partnerschaft mit Red Hat an, um seine Shift-Left-Tools in die OpenShift-Plattform zu integrieren. Red Hat hatte bereits ähnliche Integrationen von Partnern wie Snyk und seiner Übernahme von StackRox im Jahr zuvor im Angebot.
Andere DevOps-Produkte von Anbietern wie GitLab und GitHub bis hin zu CloudBees und JFrog betten ihre eigenen „Shift Left“-Funktionen in „End-to-End“-Toolchains für die Softwarebereitstellung ein, da vorgefertigte DevOps-Plattformen in der Branche immer beliebter werden. Auch Cloud-Anbieter bauen Shift-Links-Funktionen in ihre eigenen Pipeline-Tools ein.
Die Redundanz ist mittlerweile eher kontraproduktiv für die Entwicklerinnen und Entwickler – und teuer für die Unternehmen. Wer da überhaupt durchblickt, kann sich glücklich schätzen.
Snyk
Snyk ist ein SAST-Werkzeug (Engl. Static Application Security Testing). Es überprüft Softwarecode auf Schwachstellen hin, ohne dass dieser hierzu erst kompiliert oder ausgeführt werden müsste. Die sogenannte statische Code-Analyse meistern auch zahleiche andere Werkzeuge, darunter Tools wie SonarQube und SonarCloud (für Cloud-basierten Code), Fortify, PMD, FindBugs, Code Dx und viele andere.
Snyk kann zusätzlich zu der betreffenden Codebasis auch Open-Source-Abhängigkeiten, Container und Infrastruktur-als-Code nach Risiken untersuchen. Sollte ein Problem auftreten, meldet sich Snyk direkt in der IDE zu Wort, während Entwickelnde noch an dem Code feilen. Dank eines nativen Git-Scans kann Snyk den Quellcode auf Wunsch kontinuierlich überwachen und den gesamten Entwicklungslebenszyklus absichern.
Reddit, eine der größten Social-Media-Plattformen der Welt für den öffentlichen Diskurs, hat Snyk gewählt, um die Herausforderungen des API-Managements in den Griff zu bekommen. Mit dem Wachstum des Unternehmens explodierte die Anzahl der Code-Repositories und die Breite der Technologien, auf denen die Reddit-Plattform aufbaut.
Reddit hatte anfangs nur ein kleines „Sicherheitsteam“, welches aus einer Person bestand und nahezu 600 Ingenieure unterstützen musste. Da die Snyk-Plattform bei ReddIt bereits für die Analyse der Softwarezusammensetzung zuständig war, war die Integration über eine APIs schon recht naheliegend.
Reddit gelang es kurzerhand, die eigene CI/CD-Pipeline via Snyk an GitHub Enterprise (GHE) anzubinden. Das Ziel der Integration bestand in erster Linie darin, Softwareverwundbarkeiten in quelloffenen Abhängigkeiten der eigenen Plattform durch Pull-Anfragen zu bereinigen. Nachdem ReddIt die eigenen Repos auf Vordermann gebracht hatte, konnte es die Integration so umkonfigurieren, dass neue Pull-Anfragen fehlschlagen würden, sollte Snyk in dem betreffenden Projekt eine Verwundbarkeit aufdecken. So wollte man Supply-Chain-Verwundbarkeiten einen Riegel vorschieben.
Zusätzlich zu der direkten Nutzung der Snyk-API hat Reddit auch den Python-Wrapper von Snyk im Einsatz. Da ein großer Teil des Technologie-Stacks von Reddit aus Python besteht, kann der pysnyk-Client tiefer in bestehende Entwickler-Tools der ReddIt-Pipeline greifen. Diese enge Integration hat die Reibungsverluste verringert und die Übernahme der Snyk-Plattform in den Arbeitsablauf der Entwickler enorm beschleunigt. Dadurch konnte das Sicherheitsteam von Reddit unmittelbare Einblicke in die Risiken von Anwendungsschwachstellen gewinnen.
Reddit nutzt pysnyk unter anderem auch zur Automatisierung von „Großaktionen“. So kann das Unternehmen etwa Probleme unterdrücken, die in Codebasen von Drittanbietern oder in Open-Source-Projekten gemeldet wurden, jedoch für Reddit keine Relevanz haben. Seine gelungene GHE-Integration hat ReddIt inzwischen der AppSec-Gemeinde zur Verfügung gestellt.
Reddit hat außerdem snyk-sync entwickelt, eine Lösung, die jede Woche einen Cron-Job ausführt, welcher alle Änderungen mit den GHE-Repositories abgleicht. Zu diesen Aktualisierungen gehören das Hinzufügen neuer oder das Entfernen defekter Repos, das Festlegen geeigneter GHE-Integrationseinstellungen und die Ausgabe einer Benachrichtigung, sollte sich einmal ein manueller CI-Schritt mit Snyk CLI als erforderlich erweisen. Die Automatisierung hat den operativen Aufwand reduziert und die Gesamtbetriebskosten für die Einführung der Snyk-Plattform gesenkt, berichten die Reddit-Verantwortlichen.
Spectral
Spectral automatisiert das Scannen einer Softwarebasis nach den sogenannten Secrets (Zugriffsgeheimnissen), ohne die Programmierung zu unterbrechen und die Abarbeitung der CI/CD-Aufgaben zu beeinträchtigen. Bei den sogenannten Secrets ist von geheimen Nachweisen der Nutzungsberechtigung zum Zugriff auf eine API oder auf einen Dienst die Rede.
Die Bekanntmachung der sogenannten Secrets zählt zu den häufigsten Sicherheitslücken mit den kostspieligsten Folgen. Spectral kann seine Arbeit kontinuierlich im Hintergrund verrichten und ist nicht auf bestimmte Sprachen beschränkt.
Mend (WhiteSource) Bolt
Mend Bolt (zuvor als WhiteSource Bolt bekannt) sucht nach Schwachstellen in Open-Source-Komponenten und kann nebenbei auch Lizenzrisiken entschärfen. Automatische Aktualisierungen der Projektabhängigkeiten meistert Mend Renovate; für die Abwehr von Cyberattacken aus der Software-Versorgungskette fühlt sich Mend Supply Chain Defender zuständig.
Mend Bolt glänzt mit einer bestechend simplen Integration in Azure-Pipelines. Auf AWS ist die Software im Marketplace verfügbar. Zu den Nutzern von WhiteSource Bolt zählen unter anderem Microsoft, SAP und Vodafone. WhiteSource Bolt integriert sich mit Microsoft Azure und GitHub. Der besondere Reiz dieser Lösung besteht darin, dass sie auch in der kostenfreien Edition für quelloffene Projekte bereits recht umfassend zur Sache geht.
DeepSource
DeepSource hat sich auf Shift-Left-Testing spezialisiert. Das Unternehmen verweist auf über dreitausend Kunden, von Intel über die NASA bis hin zu Moody‘s Analytics. Das Tool macht, was sein Name verspricht: Es untersucht jede Pull-Anfrage, taucht tief in die Codebasis herunter, um Supply-Chain-Verwundbarkeiten zuvorzukommen. Ziel ist, den gesamten Technologiestack zu schützen.
Das Werkzeug liefert aufschlussreiche Metriken über den Zustand des Code mit Schwerpunkt auf dessen Qualität und Leistung. Die AutoFix-Funktion schlägt eine Lösung für erkannte Probleme vor. DeepSource integriert sich mit GitHub, GitLab oder BitBucket und ist für quelloffene Projekte kostenlos. Die Geschäftslogik des Unternehmens läuft auf der Google Cloud Platform.
Fazit
Für menschliches Fachwissen, menschliche Kreativität und Anpassungsfähigkeit mag es keinen Ersatz geben, aber automatische Tools zum Scannen von Code und zur Sicherheitsprüfung sind dennoch unersetzlich. Sie sorgen für mehr Konsistenz, bringen den Ball schneller ins Rollen und versuchen sich an den größten wie auch den geringsten Problemen zielstrebig und unermüdlich.
Neben Code-Audits und -Prüfungen helfen automatische Analysetools unter anderem auch dabei, Schwachstellen in der Codebasis, den Abhängigkeiten und der bereitgestellten Anwendung oder dem Dienst zu verhindern.
Entwickler können ihre Code-Änderungen durch kontinuierliches Testen, kontinuierliche Integration und kontinuierliche Bereitstellung in automatisierten Pipelines mit geeigneten Tools schneller „probefahren“ als diese jemals manuell gelingen könnte. Das führt zu besseren Geschäftsergebnissen und einer höheren Zufriedenheit der Nutzer und der Kunden. Mit Shift-Left-Testing können Entwickler einen Gang höher schalten.
(ID:49234028)