Introduction à l'analyse de la qualité et sécurité du code

Dans un contexte de développement logiciel, il est primordial de mettre en place des solutions pour réduire la vulnérabilité du produit final.

Il existe sur le marché, plusieurs logiciels pour analyser la qualité et la sécurité du code des développeurs.

Le logiciel SonarQube supporte plus de 20 langages de programmation (Python, JAVA, Groovy,…) et peut être facilement interfacé avec Jenkins.

Voici ci-dessous l’interface graphique de SonarQube.

SonarQube

L’analyse de la qualité permet d’identifier les problèmes dans le code des développeurs.

SonarQube nous donne des indicateurs sur le code par exemple le nombre de lignes, les erreurs, la complexité et la dette technique.

La dette technique permet à l’équipe d’estimer le temps nécessaire pour avoir un code de qualité.

Voici ci dessous quelques liens utiles

Pour analyser localement le code on peut utiliser les outils suivants :

Language Outils
Ansible ansible-lint
Python pylint
flake8 [mccabe, pycodestyle, pyflakes]
bandit
Java find-sec-bugs
Ruby brakeman
Docker clair
C/C++ Flawfinder
Scala find-sec-bugs
PHP phpcs-security-audit
.NET Security Code Scan
Node.js NodeJsScan
Sécurité du code Coverity
Fortify
CheckMark
GitLab SAST (Open source)