Synk Code jetzt auch mit PHP-Security
January 26, 2022
0 Min. LesezeitCode-Security für alle – ganz im Sinne dieses Credos arbeiten wir laufend daran, Schwachstellen-Scans in Snyk Code für weitere Programmiersprachen zu ermöglichen. So auch für PHP. Nach dem Launch der Public Beta im September 2021 ist PHP-Support in Snyk Code ab sofort allgemein verfügbar.
Ein bedeutender Meilenstein, denn PHP gehört in der globalen Dev-Community zu einer der populärsten Programmiersprachen überhaupt. Umso wichtiger also, dass wir aufzeigen, wie Sie diese Möglichkeiten in Snyk Code für sich nutzen können. Hierauf gehen wir im Folgenden ein, dies im Kontext einiger der Features sowie anhand von Beispielen, die allen Usern unabhängig von ihrer Dev-Erfahrung beim Einstieg helfen.
Neuerungen
Mit dem Release wird das bereits in Snyk Code bestehende Feature für PHP-Scans erweitert, über das sich Composer-Manifest-Files auf Schwachstellen in Open-Source-Bibliotheken und -Abhängigkeiten untersuchen lassen.
Zudem werden über die Erweiterung für Visual Studio Code nun auch Code- und Composer-Scans für PHP unterstützt. So erhalten Sie direkt im Dev-Workflow Aufschluss über die Sicherheit Ihres Codes und darüber, ob er anfällige Open-Source-Bibliotheken oder -Abhängigkeiten aufweist.
Auch können Sie erkannten Problemen innerhalb ihrer Codebase nun mittels Traceback auf den Grund gehen. So können Sie bei Traceability-Funktionen direkt die Stellen in Ihrem Code zurückverfolgen, an denen etwas im Argen liegt.
PHP-Demo-Anwendung zum Testen von Code-Scans „am Objekt“
Bei uns im Team allseits beliebt: Die Entwicklung sogenannter Goof-Apps, in die wir bewusst Schwachstellen einsteuern, damit Sie sich in einem Live-Szenario im Aufspüren derselben üben können. So durfte zum Release von PHP-Support in Snyk Code natürlich auch eine PHP Goof-App nicht fehlen.
Im Folgenden zeigen wir anhand dieser beispielhaft, wie Sie mit Snyk Code Schwachstellen-Scans für PHP-Anwendungen durchführen. Wenn Sie an dieser Stelle direkt selbst Hand anlegen möchten, benötigen Sie ein Snyk Konto. Sofern noch nicht geschehen, können Sie sich hier schnell und kostenlos registrieren.
Im ersten Schritt melden Sie sich beim Snyk Dashboard an und fügen ein Projekt hinzu. Für das vorliegende Beispiel verwenden Sie die Option zum Monitoring eines öffentlichen Repository. Den Scan führen Sie dann entweder mit dem Repository der PHP Goof App durch oder Sie erstellen einen Fork des Codes und verbinden ihn mit einem Repository Ihrer Wahl.
Pro-Tipp: Monitoring öffentlicher Repositories ist ganz generell enorm hilfreich, wenn es um Scans von Open-Source-Projekten geht, die Sie im Coding-Alltag nutzen.
Mit Snyk Code sind diese schnell erledigt. Nach ein paar Minuten sollten Sie bereits einige erkannte Probleme einschließlich der zugehörigen Package-Manifests sehen. Mit Snyk Code lassen sich verschiedenste Fehler dieses Typs erkennen, ebenso wie Millionen von Source-Sink-Kombinationen im Daten-Flow. Nachfolgend einige der besonders klassischen Beispiele, die Sie in der PHP Goof-App antreffen werden.
SQL-Injection
Nach Abschluss des Scans wohl am auffälligsten: Die intuitive Ansicht, in der Snyk Code die Ergebnisse ausgibt. So etwa zur Datenbankabfrage, an die nicht bereinigte Daten-Inputs übermittelt werden, die im nachfolgenden Screenshot gezeigt wird.
Dass Snyk Code Schwachstellen schnell erkennt und klar nachvollziehbar ausgibt, ist jedoch nur ein Aspekt. Denn das Tool gibt Ihnen auch Fixing-Analysen und -Empfehlungen an die Hand. Im Vorliegenden Beispiel etwa, dass die Bereinigung von Inputs entweder mittels Bibliothek oder über die Funktion filter_var
erfolgen kann. PHP-Entwicklern mit weniger Security-Know-how war diese Strategie womöglich noch nicht bekannt, allerdings gibt es über diese hinaus auch noch diverse weitere. Fundierte Einblicke wie diese liefert Snyk in Echtzeit. So bleibt nicht nur Ihr Code sicher, sondern werden auch Ihre Kenntnisse geschärft.
Noch mehr spannende Insights rund ums Thema PHP-Sicherheit finden Sie in unserem Artikel mit 5 Strategien zum Schutz vor PHP-Code-Injections.
Hartcodierte Anmeldedaten
In der Goof-App haben wir bewusst den Kardinalfehler begangen und hartcodierte MySQL-Anmeldedaten eingearbeitet. Snyk Code erkennt dies freilich als Problem und schlägt Alarm, wie im nachfolgenden Screenshot zu sehen. (In punkto Anmeldedaten sicherer fahren Sie, indem Sie sie als Umgebungsvariablen entweder auf der Plattform oder in einer entsprechenden Datei speichern.)
Open-Source-Schwachstellen
Ebenfalls beim Scan zutage geführt wird eine problematische Version einer der Open-Source-Bibliotheken aus dem Composer-Manifest. Diese haben wir in die App eingebaut, um zu zeigen, wie sich eine Anfälligkeit gegenüber Cross-Site-Scripting einschleichen kann.
Jetzt starten mit PHP-Security
Sie möchten mit Snyk Code mehr Sicherheit in Ihre PHP-Projekte bringen? Durch den Release von PHP-Support geben wir Ihnen dazu noch mehr Power an die Hand – mit einem Snyk Einstiegskonto sogar kostenlos. Freuen würden wir uns, wenn Sie uns dazu dann auch Ihr ehrliches Feedback geben.
Sicherheit beginnt bei der IDE
Snyk scannt Sie Ihren Code auf Qualitäts- und Sicherheitsprobleme und gibt Ihnen Empfehlungen zur Behebung – all dies direkt in Ihrer IDE.