Testing: Code Intelligence integriert Fuzz-Testing in Jest

Entwickler und Entwicklerinnen können mit Hilfe der JavaScript-Fuzz-Testing-Engine Jazzer.js nun JavaScript direkt in Jest auf Schwachstellen testen.

In Pocket speichern vorlesen Druckansicht

(Bild: JARIRIYAWAT/Shutterstock.com)

Lesezeit: 2 Min.
Von
  • Frank-Michael Schlede

Das Entwicklerteam der deutschen Softwarefirma Code Intelligence hat die Open-Source-Testing-Engine Jazzer.js in das Testing-Framework Jest integriert. Auf diese Weise sollen Entwicklerinnen dazu in der Lage sein, Jest sowohl für Funktions- als auch für Sicherheitstests einzusetzen, ohne dass sie ihre Entwicklungsumgebung verlassen müssen.

Das deutsche Unternehmen hat sich bereits zuvor stark im Bereich des sogenannten Fuzz-Testing engagiert und erst im Oktober 2022 ein Werkzeug vorgestellt, mit dem Entwickler und Entwicklerinnen solche Tests auch direkt von der Kommandozeile aus durchführen können.

Die Firma gab nun bekannt, dass ihr Entwicklerteam einen weiteren Schritt unternommen hat, den Anwendern diese Testmöglichkeiten zur Verfügung zu stellen. Sie haben das Fuzz-Testing mittels Jazzer.js nun in Jest – einem Unit-Testing-Framework für JavaScript – integriert. Jazzer.js ist ein kostenloser, prozessinterner Fuzzer, der die Node.js-Plattform umfasst. Er ist im Paketmanager npm verfügbar.

Nach Angaben des Unternehmens bietet diese Integration den Entwicklern und Entwicklerinnen nun die Möglichkeit, automatisierte Sicherheitstests durchzuführen, die ihre bestehenden Unit-Tests ergänzen. Zudem erlaubt sie es ihnen, JavaScript-Anwendungen auf versteckte Fehler zu testen. Weiterhin erläuterte das Entwicklerteam, dass Jazzer.js mit der Möglichkeit ausgestattet wird, spezielle Bug-Detektoren für kritische Schwachstellen zu erhalten. Dazu gehören Remote-Ausführungen, Cross-Site-Scripting und Injections.

Entwickler können Jazzer.js in Jest aufrufen, indem sie die neue Funktion it.fuzz() in describe()-Blöcken verwenden.

Die Komponenten von Jazzer.js im Überblick.

(Bild: Code Intelligence)

Diese Funktion ruft automatisierte Fuzz-Tests auf, die mithilfe von Abdeckungsfeedback Millionen von ungewöhnlichen und unerwarteten Testeingaben generieren, die Sicherheitsschwachstellen und funktionale Fehler auslösen können. Jazzer.js bietet auch einen Regressionsmodus, der nützlich ist, um sicherzustellen, dass neu hinzugefügter Code keine bestehenden Funktionen beschädigt. Weitergehende Informationen dazu sind auf der Code-Intelligence-Webseite sowie auf GitHub zu finden.

(fms)