Der Quellcode bildet die grundlegenden Bausteine einer jeden Anwendung oder eines Softwareprodukts. Er ist das Rückgrat eines jeden technologieorientierten Unternehmens. Der Quellcode enthält geschützte Informationen über das geistige Eigentum Ihres Unternehmens und schützt die Daten, die Ihr Unternehmen am Laufen halten.
Die Integration von Open-Source-Komponenten von Drittanbietern erleichtert es den Software-Teams, den bereits verfügbaren Code zu nutzen, ohne von Grund auf neu entwickeln zu müssen. Leider birgt dieser Komfort auch Risiken, die auf Drittanbieter abzielen und zu Angriffen auf die Lieferkette führen. Bei einem Angriff auf die Lieferkette können Cyberkriminelle Malware in den Code von Drittanbietern oder in Build-Systeme einschleusen und so Malware an das Unternehmen und seine Kunden weitergeben.
In diesem Blog zeige ich, wie man mit dem MetaDefender Jenkins-Plugin Malware im Quellcode verhindern kann.
Secure Builds mit MetaDefender Plugin für Jenkins
Das PluginMetaDefender für Jenkins scannt Jenkins-Builds auf Malware und überprüft Ihren Quellcode und Artefakte auf Bedrohungen. Fortgeschrittene Malware kann leicht eine einzelne Antiviren (AV)-Engine umgehen und den Quellcode gefährden. Falsch-positive Malware-Erkennung ist auch ein häufiger Nebeneffekt der meisten AV-Lösungen, was zu vergeudeten Abhilfemaßnahmen, Zeit und Ressourcen führt. MetaDefender for Jenkins nutzt Metascan, eineMultiscanning-Technologie, um die Erkennungsraten zu erhöhen und die Zeit für die Erkennung von Ausbrüchen in Ihren Software-Builds zu verkürzen.
Die folgenden zwei Szenarien zeigen, wie Malware eingeschleust werden kann: in den Quellcode und während des Build-Prozesses.
Szenario 1: Malware im Quellcode
Der Quellcode kann in diesem Fall Ihr eigener Quellcode sein (von einem kompromittierten Rechner eines Entwicklers) oder von einer Bibliothek eines Drittanbieters stammen. Im ersten Szenario wollte ich ein Bibliotheks-Repository eines Drittanbieters in GitHub überprüfen. Um sicherzustellen, dass das Repository frei von Bedrohungen ist, habe ich einen Build-Schritt hinzugefügt, um mit dem MetaDefender Plugin für Jenkins zu scannen.

Ich wollte auch, dass der Build als "fehlgeschlagen" zurückkehrt, wenn es irgendwelche Bedrohungen im Quellcode gibt.

Nach dem Versuch, den Build auszuführen, wurde das Ergebnis aufgrund der infizierten Dateien, die vom MetaDefender Jenkins-Plugin abgefangen wurden, als "fehlgeschlagen" markiert.

Szenario 2: Einschleusen von Malware während des Build-Prozesses
Wenn Sie glauben, dass das Scannen Ihres Repositorys ausreicht, um Ihren Quellcode zu schützen, ist das nicht immer der Fall. Manche Malware befindet sich nicht im ursprünglichen Quellcode-Repository, sondern kann beim Herunterladen von Komponenten wie Abhängigkeiten oder Bibliotheken eingeschleust werden. In diesem zweiten Video zeige ich ein Beispiel für das zweite Szenario und wie man es mit dem MetaDefender Jenkins-Plugin verhindern kann.
Wie Sie sehen können, wurden keine Probleme gefunden, nachdem ich den Quellcode im ersten Durchlauf gescannt hatte.

Danach fügte ich dem Prozess einen neuen Build-Schritt mit einer build.bat-Datei hinzu und startete den Build erneut.

Zu Demonstrationszwecken habe ich mit npm ein EICAR-Testpaket heruntergeladen, um die Installation von Malware in einem realen Szenario zu simulieren. In diesem Fall gab es zwar keine Bedrohungen im ursprünglichen Quellcode, aber das bösartige npm-Paket ist während des Builds im Skript aufgetreten. Das MetaDefender Jenkins-Plugin erkannte die Bedrohung und markierte den Build als fehlgeschlagen.

Die detaillierten Scanergebnisse sind unter MetaDefender Core zu finden.

Über OPSWAT MetaDefender für Jenkins
OPSWAT MetaDefender für Jenkins prüft Ihre Builds auf Malware und Geheimnisse, bevor Sie Ihre Anwendung für die Öffentlichkeit freigeben. Die Lösung basiert auf dem vollen Funktionsumfang der Plattform MetaDefender - einschließlich mehr als 30 führender Antiviren-Engines, Deep CDRund Proactive DLP-, scannt das MetaDefender Plugin für Jenkins Ihren Quellcode und Ihre Artefakte gründlich auf Bedrohungen. Über eingebaute Ausfallsicherungen werden Sie über potenzielle Probleme informiert, um den Ausbruch von Malware und den Verlust sensibler Daten zu verhindern. Erfahren Sie mehr über MetaDefender für Jenkins und andere OPSWAT kostenlose Tools.
Für weitere Informationen wenden Sie sich bitte an unsere Experten für Cybersicherheit.