In de OSS Fuzz-infrastructuur is ondersteuning geĆÆmplementeerd voor projecten in de programmeertaal Lua

De infrastructuur voor continue fuzz-testing bij OSS-Fuzz is uitgebreid met de mogelijkheid om projecten geschreven in de programmeertaal Lua te testen, naast de eerder ondersteunden talen C/C++, Go, Swift, Rust, Python, JavaScript en Java. De integratie is gerealiseerd met behulp van het project luzer, dat gespecialiseerde tools ontwikkelt voor fuzz-testing van code in Lua en extensies voor Lua, geschreven in C/C++.

Het project maakt gebruik van de libFuzzer-bibliotheek en kan worden gecombineerd met tools zoals AddressSanitizer, MemorySanitizer, LeakSanitizer, ThreadSanitizer en Undefined Behavior Sanitizer, waarmee op basis van gedetecteerde problemen tijdens het fuzz-testen het bestaan van veelvoorkomende kwetsbaarheden, veroorzaakt door bufferoverloop, gehele getaloverlopen, toegang tot niet-geĆÆnitialiseerde en vrijgegeven gebieden, geheugenlekken, dereferencering van pointers en problemen met het instellen van vergrendelingen, kan worden vastgesteld. De code van het project is beschikbaar onder de ISC-licentie.

Tijdens het werken genereert luzer mogelijke combinaties van invoergegevens en maakt een rapport van alle gedetecteerde crashes en onopgevangen uitzonderingen. Bijvoorbeeld, bij het testen van de MsgPack-parsingbibliotheek antirez/lua-cmsgpack met luzer, werd ontdekt dat gegevens met een groot aantal arrays kunnen leiden tot een stapeloverflow.

In het kader van het lunapark-project wordt de luzer-toolset gebruikt om PUC Rio Lua te testen, de traceringcompiler LuaJIT, een zeer presterende database en de server toepassingen Tarantool, evenals voor het testen van externe Lua-modules.

Ontwikkelaars van open-source projecten kunnen hun repositories voor testen toevoegen door een fuzz-testing sjabloon voor te bereiden en een speciale aanvraag in te dienen via een pull-verzoek. Bij het ontdekken van fouten ontvangen ontwikkelaars automatisch een melding en wordt er een privƩverzoek voor correctie aangemaakt (om vroegtijdige uitlekken van informatie over kwetsbaarheden te voorkomen, wordt het ticket aangemaakt in een beperkte toegang tracker). OSS Fuzz houdt de status van de foutcorrectie bij en sluit het ticket zelf als het niet meer kan worden gereproduceerd. Informatie over het probleem wordt publiek toegankelijk na 7 dagen na de correctie of na 90 dagen na de ontdekking van de fout, als het probleem onopgelost blijft.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster