Zu langsame Analysen
Eine Analyse, die Stunden dauert, passt in keine Pipeline. Die Teams deaktivieren sie schließlich auf den Arbeitszweigen, und die Abdeckung sinkt.
Der Kontext
Eine Anwendung wird nicht mehr von Grund auf geschrieben: Sie setzt sich aus Abhängigkeiten, Drittanbieter-Bibliotheken und generiertem Code zusammen, die jeweils eigene Schwachstellen mitbringen. Mit KI-Programmierassistenten wird ein wachsender Teil dieses Codes automatisch erzeugt und ohne gründliche Prüfung übernommen: Er kann bekannte Schwachstellen reproduzieren, veraltete Bibliotheken aufrufen oder Geheimnisse enthalten, in einem Tempo, mit dem manuelle Reviews nicht mithalten. Hinzu kommen Fehler, die sich leicht in den Code einschleichen: fest codierte Zugangsdaten und API-Schlüssel, im Klartext gespeicherte Token. Nach der Veröffentlichung lassen sich im Binary eingebettete Geheimnisse per Reverse Engineering extrahieren.
Diese Fehler beim Schreiben zu beheben, kostet wenig. Nach der Veröffentlichung muss die Anwendung neu kompiliert und erneut veröffentlicht werden.
Die Anforderungen gehen in dieselbe Richtung. DORA sieht für Finanzunternehmen ein Testprogramm vor, das Quellcode-Reviews umfassen kann, und die CNIL empfiehlt, die Stufen L1 und L2 der OWASP-Empfehlungen für mobile Anwendungen zu befolgen.
Damit diese Prüfung die Auslieferung nicht bremst, muss sich die Analyse in die Tools einfügen, die Entwickler bereits nutzen, IDE und CI/CD, statt einen separaten Schritt hinzuzufügen.
Die Lösung
Das SAST von Pradeo integriert sich in die Entwicklungsumgebungen, in die IDE und in die CI/CD-Kette. Von einem KI-Assistenten erzeugter Code wird genauso analysiert wie der Code Ihrer Entwickler. Es analysiert den Quellcode automatisch und klassifiziert jede Schwachstelle nach OWASP Top 10, SANS Top 25 und CVSS-Score, mit einer Behebungshilfe, die sich auf bereits im Code vorhandene bewährte Praktiken stützt.
Die kritischsten Schwachstellen werden in einem teamübergreifenden Aktionsplan hervorgehoben. Die Teams behalten ihre Tools und bearbeiten die Ergebnisse in ihrer Entwicklungskette statt in einem separaten Schritt.