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.
- 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.
Ăśber das Unit-Testing hinaus
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.
Aufruf ĂĽber neue Funktion
Entwickler können Jazzer.js in Jest aufrufen, indem sie die neue Funktion it.fuzz()
in describe()
-Blöcken verwenden.
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)