Skip to content

Instantly share code, notes, and snippets.

@manuelleduc manuelleduc/sujet-fuzzing-swagger.md Secret
Last active Oct 14, 2016

Embed
What would you like to do?
Sujet V&V Fuzzing swagger

Sujet : Fuzzing Swagger

Contexte et motivation

L'avancée des travaux autour des API REST et leur omniprésence dans les architectures web modernes (MVVC, ajax, micro-services architecture...) ont conduit à la définition de meta-models de ce type d'architecture.

Un exemple de meta-model de service REST est swagger. Il propose une language de définition du meta-model en json/yaml et permet de dériver différents programmes à partir de cette définition :

  • template de code server dans différents languages et frameworks.
  • librairie cliente compatible avec l'implémentation du serveur.
  • documentation html interactive.

La limite de cette approche générative est la responsabilité laissé au développeur d'implémenter correctement les services métiers sous-jascents.

Approche par Fuzzing

Afin de tester facilement et rapidement des API REST définies à l'aide de swagger, nous vous proposons de développer un fuzzer afin de valider des priopriétés génériques de l'API développée.

Example de cas de test

  • Détection de la présence d'une erreur 404 quand le chemin requêté ne correspond pas à un chemin définis dans l'API.
  • Validation que le type de donnée retounées par les requêtes GET correspond au type de retour attendu.

Choix techniques

Pas de technologies imposées mais la page TOOLS AND INTEGRATIONS vous donnera une idée générale des écosystèmes dans lesquels des outils existent déjà.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.