developer.overheid.nl

Ontwikkelaarsportaal van de Nederlandse overheid

Ga naar hoofdinhoud

WuppieFuzz

Coverage-Guided REST API Fuzzing voor Veiligere Digitale Overheidsdiensten​

In een tijd waarin digitale overheidsdiensten steeds vaker via REST API’s communiceren, is het waarborgen van de veiligheid van deze interfaces cruciaal. WuppieFuzz, ontwikkeld door TNO, is een open-source, coverage-guided fuzzer die specifiek is ontworpen voor het testen van REST API’s. Het doel: kwetsbaarheden en bugs opsporen voordat ze misbruikt kunnen worden, met een sterke focus op gebruiksvriendelijkheid, modulariteit en inzichtelijkheid.

Logo of WuppieFuzz

Hoe werkt WuppieFuzz?​

How to use WuppieFuzz? - YouTube

WuppieFuzz is gebouwd bovenop het LibAFL-framework en ondersteunt drie testmodi:

  • Black box: zonder kennis van de interne werking.
  • Grey box: met beperkte kennis en observatie van gedrag.
  • White box: met volledige toegang tot de broncode en interne structuur.

Op basis van een OpenAPI-specificatie genereert WuppieFuzz automatisch zinvolle sequenties van HTTP-requests. Deze sequenties worden vervolgens gemuteerd om diepere logica en edge cases in de API te bereiken. De tool meet test coverage via response codes en/of via instrumentatie van de backend (bijv. met JaCoCo voor Java of coverage.py voor Python).

Waarom is WuppieFuzz Relevant voor de Overheid?​

REST API’s vormen de ruggengraat van veel overheidsapplicaties. Denk aan systemen voor burgerzaken, vergunningverlening of gegevensuitwisseling tussen departementen. WuppieFuzz helpt ontwikkelaars en testers om:

  • Automatisch kwetsbaarheden te detecteren.
  • Complexe sequentiële bugs op te sporen.
  • Afwijkingen van de API-specificatie te identificeren.

Gebruiksgemak en Extensibiliteit​

WuppieFuzz is ontworpen met de eindgebruiker in gedachten:

  • Out-of-the-box configuratie.
  • Modulaire opzet voor uitbreiding naar andere programmeertalen.
  • Open source beschikbaarheid en vrij te gebruiken middels een Apache 2.0-licentie.

Conclusie​

WuppieFuzz biedt een krachtige, toegankelijke en uitbreidbare oplossing voor het testen van REST API's binnen overheidscontexten. Door gebruik te maken van coverage-guided fuzzing en slimme mutatiestrategieën, helpt het ontwikkelaars om robuuste, betrouwbare en veilige digitale diensten te bouwen.


Direct naar Github