maven vulnerability check

Maven ist eine tolle Erfindung. Abhängigkeiten und Versionen deklarieren und den Rest erledigt der Mechanismus ganz im Hintergrund. Im Laufe des Projekt-Lebens lassen sich neue Abhängigkeiten ganz einfach per zusätzlichem XML Eintrag hinzufügen; logisch das man dabei in aller Regel die neueste Version der Bibliothek nimmt die in der verwendeten Architektur möglich ist. Aber Moment… die bestehenden Abhängigkeiten, die teilweise schon Jahre alt sind, sollte man die vielleicht nicht auch mal anheben? Selbst wenn wir keine Features vermissen, kritische Fehler wollen wir doch in unseren Abhängigkeiten und damit in unserer Anwendung nicht dulden…

Eine regelmäßige Kontrolle der Versionen unserer Bibliotheken macht natürlich aus Sicherheitsaspekten Sinn. Dafür sollten wir uns natürlich etwas Hilfe holen, ein Beispiel dafür

OWASP Dependency Check

Eine Organisation die sich um die Analyse und vor allem Protokollierung von Sicherheitslücken in Software kümmert. Passend dazu werden Plugins für Ant, Maven und Jenkins geboten. Die Integration zum Beispiel in Maven ist relativ einfach:

<plugin>
    <groupId>org.owasp</groupId>
    <artifactId>dependency-check-maven</artifactId>
    <version>5.2.4</version>
    <executions>
        <execution>
            <goals>
                <goal>check</goal>
            </goals>
        </execution>
    </executions>
</plugin>   

natürlich lässt sich hier noch eine ganze Menge mehr einstellen ( Doku ). Mit einem entsprechenden Maven-Aufruf

mvn org.owasp:dependency-check-maven:check

Generiert unser Plugin nun ein ansehnliches HTML-Protokoll, auf dessen Basis wir prüfen und entscheiden können, ob die Portierung unserer Bibliotheken notwendig ist:

Das passende Jenkins-Plugin lässt sich darüber hinaus auch mit entsprechenden Schwellwerten versehen um z.B. im NightlyBuild Fehler / Warnung auszugeben und den viel beschäftigten Entwickler auf Handlungsbedarf aufmerksam zu machen 😉

Über Dominik Mathmann
Dominik Mathmann arbeitet als Berater, Entwickler und Trainer bei der GEDOPLAN GmbH. Auf Basis seiner langjährigen Erfahrung in der Implementierung von Java-EE-Anwendungen leitet er Seminare, hält Vorträge und unterstützt Kunden bei der Konzeption und Realisierung von Webanwendungen vom Backend bis zum Frontend. Sein derzeitiger Schwerpunkt liegt dabei auf der Entwicklung von JSF-Anwendungen. Er sieht die stärker werdende Position von JavaScript-Frameworks jedoch positiv und beschäftigt sich darüber hinaus mit Webframeworks wie Angular.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google Foto

Du kommentierst mit Deinem Google-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s

%d Bloggern gefällt das: