Google ouvre le code de ClusterFuzz

Par:
fredericmazue

ven, 08/02/2019 - 15:22

Le fuzzing (ou test à données aléatoires) est une technique pour tester des logiciels. L'idée est d'injecter des données aléatoires dans les entrées d'un programme. Si le programme échoue (par exemple en plantant ou en générant une erreur), alors il y a des défauts à corriger. (Wikipedia).

Dans son billet qui annonce l'ouverture de ClusterFuzz, Google souligne que la technique du fuzzing est efficace pour détecter les bugs de corruption de mémoire, "si fréquents logiciels écrits dans un langage non sécurisé , tel que C ou C++".

Google utilise ClusterFuzz pour développer Chrome et avances des chiffres qui donnent un peu le tournis :-) ClusterFuzz a été développé pendant 8 ans. A Mountain View, c'est une infrastructure fonctionnant sur plus de 25 000 cœurs. Toujours selon Google, ClusterFuzz a détecté plus de 16 000 bogues dans Chrome et plus de 11 000 bogues dans plus de 160 projets open source intégrés à OSS-Fuzz. (Pour mémoire est un service gratuit pour les projets open source que propose Google.)

Google ajoute que ClusterFuzz est souvent capable de détecter les bogues quelques heures après leur introduction et de vérifier le correctif en un jour. On va vraiment finir par se demander à quoi servent les développeurs, si ce n'est à introduire les bugs ;-) :-)

ClusterFuzz a été conçu pour s’intégrer de manière transparente dans les flux de travail de développement et simplifier la tâche pour trouver des bogues et les corriger. ClusterFuzz fournit une automatisation de bout en bout, de la détection de bugs au triage (déduplication précise, bissection ), en passant par le signalement des bugs et enfin la fermeture automatique des rapports de bugs.

Google le code de ClusterFuzz qui devient un logiciel libre sous licence Apache 2.0, disponible sur GitHub.