IntelliJ-Plugin zum Beheben anfälliger Abhängigkeiten
Aner Mazur
2. Oktober 2018
0 Min. LesezeitSnyk hat jetzt ein IntelliJ-Plugin veröffentlicht, mit dem Entwicklerinnen und Entwickler Schwachstellen in ihren Abhängigkeiten direkt in ihrer IDE finden und beheben können!
Im Rahmen von Snyks Engagement, Entwicklerinnen und Entwickler in die Lage zu versetzen, selbst Verantwortung für die Sicherheit zu übernehmen, haben wir viel in umfassende Git-Integrationen (mit GitHub, GitLab und Bitbucket) investiert. So werden Schwachstellen als integraler Bestandteil des Entwicklungsprozesses gefunden und behoben.
Das war ein wesentlicher Faktor für Snyks Erfolg: Dadurch konnte jeder Pull Request gescannt und jede Änderung in den Code-Repositories kontinuierlich überwacht werden.
Jetzt möchten wir Entwicklerinnen und Entwickler dabei unterstützen, Schwachstellen zu beheben, noch bevor sie ihren Code einchecken – in der Umgebung, in der sie die meiste Zeit verbringen. Das Plugin wurde für IntelliJ entwickelt und läuft direkt auf der JVM. Damit stehen Ihnen die Sicherheitstests von Snyk Open Source und umsetzbare Hinweise zur Behebung zur Verfügung, ohne dass Sie IntelliJ verlassen müssen – eine Node-Installation ist nicht erforderlich.
Das Plugin unterstützt alle Maven-Projekte und ist kostenlos.
Erste Schritte
Das Snyk-Plugin ist ein gewöhnliches IntelliJ-Plugin. Hier eine kurze Erinnerung daran, wie Sie es installieren können.
Gehen Sie zu IntelliJ IDEA > Preferences > Plugins.

Suchen Sie nach Snyk und installieren Sie das Plugin „Snyk Vulnerability Scanning“:

Akzeptieren Sie anschließend die Datenschutzhinweise und starten Sie die IntelliJ-IDE neu. Das Snyk-Plugin wird dann als kleiner Tab unten rechts angezeigt.
Möglicherweise müssen Sie sich über Ihr GitHub-Konto bei Snyk anmelden, falls Sie das noch nicht getan haben. Anschließend können Sie ganz einfach auswählen, welches Projekt gescannt werden soll:

Schwachstellen finden und beheben
Nach dem Scan eines Projekts wird eine Liste aller gefundenen Schwachstellen angezeigt. Hier sehen Sie ein Beispiel aus einer einfachen Spring-Demoanwendung:

Zu jeder Schwachstelle sehen Sie den Titel mit der Art der Schwachstelle sowie einen Link zu weiteren Details, etwa zu den betroffenen Versionsbereichen und dazu, wie sie ausgenutzt werden kann.
In Grau sehen Sie die Open-Source-Abhängigkeit, durch die die Schwachstelle eingeführt wurde. Beachten Sie, dass es sich häufig um eine transitive Abhängigkeit handelt, wie im folgenden Beispiel. Sie können den gesamten Abhängigkeitspfad von der direkten Abhängigkeit, die Sie hinzugefügt haben, bis zur anfälligen Abhängigkeit einsehen – einschließlich aller Pakete dazwischen.
Das Snyk-IntelliJ-Plugin empfiehlt ein Upgrade (grün und fett dargestellt). Dabei handelt es sich um die niedrigste Version, auf die Sie aktualisieren sollten, um die Schwachstelle zu beheben. Noch besser: Im grünen Feld sehen Sie den vollständigen Abhängigkeitsbaum, der sich nach dem Upgrade ergibt.
Wenn Sie auf die direkte Abhängigkeit klicken, gelangen Sie direkt zu der Stelle in Ihrer pom.xml, an der sie definiert ist. Dort können Sie das Upgrade ganz einfach durchführen.
Und das ist erst der Anfang …
Wir planen, neben Maven zunächst auch Gradle und Sbt zu unterstützen und das Plugin auf weitere IDEs auszuweiten, die Sie möglicherweise verwenden. Außerdem freuen wir uns auf das Feedback unserer geschätzten Community, das wir ebenfalls berücksichtigen werden. Viel Spaß beim Programmieren!
Starten Sie mit Capture-the-Flag
Erfahren Sie in unserem virtuellen On-Demand-Workshop für Einsteiger, wie Sie Capture-the-Flag-Challenges lösen.