Accueil > Recherche > Stages/emplois > Compilation et logiciel libre : Ajout de règles de sécurité à l’outil (...)

Compilation et logiciel libre : Ajout de règles de sécurité à l’outil scan-build (composant de clang/LLVM)

jeudi 26 novembre 2020

Ce POM est co-encadré avec Serge Guelton, développeur LLVM et packager de l’outil pour la distribution RedHat.

LLVM est une infrastructure de compilation open-source, sur laquelle est basée le compilateur clang et beaucoup d’outils, comme scan-build.

scan-build est un outil d’analyse statique de code C++, qui permet de trouver automatiquement certains problèmes. C’est un bon complément au test, car l’analyse statique permet parfois de trouver des problèmes très difficiles à trouver par le test.

En comparaison d’outils comme checkstyle, scan-build fait des analyses sur le comportement du programme, pas sur la mise en forme du code.

Certaines règles assez simples permettent de repérer des trous de sécurités potentiels classiques mais potentiellement graves : les règles security.insecureAPI.* listées dans la page de man.

De manière similaire, l’outil pourrait repérer l’utilisation d’API dépréciée et suggérer une correction (par exemple, suggérer memmove en remplacement de bcopy).

L’objet du projet est d’ajouter des règles du même type à l’outil. Un exemple serait de détecter les mauvaises utilisations de scanf ou de sprintf.

Le projet demande un bon niveau en C++ (langage d’implémentation de LLVM), et de bonnes connaissances en compilation.

Valid XHTML 1.0 Transitional
SPIP | | Plan du site | Suivre la vie du site RSS 2.0
Habillage visuel © styleshout sous Licence Creative Commons Attribution 2.5 License