Outils d’analyse de code (SAST, SCA)
L'objectif de cette section est d'éclairer le sujet des outils d'analyse de code, en explorant leur rôle, leurs avantages, et en citant quelques-uns de ces outils disponibles gratuitement
SAST
Le SAST, ou Analyse Statique de la Sécurité du Code, est une méthode d'analyse de code qui permet de détecter les vulnérabilités potentielles en vérifiant le code source d'une application. Il peut être utilisé tout au long du cycle de développement logiciel pour identifier les problèmes au plus tôt et faciliter leur correction. Elle permet d’identifier les:
- Standard enfreint : c'est a dire les variables non utilisé, les accolades et les parenthèses vides, les retours chariots aux mauvais endroits.
- Code inutilisé : c'est a dire des fonctions et des méthodes non utilisées.
- Code complexe : c'est a dire un code difficile a comprendre peux être des erreurs de programmation et peut être un lieu de faille de sécurité.
- les failles de sécurité
Les avantages d’un SAST
- Identifier et colmater les failles
- Ecrire du code standard et de qualité
- Simplifier le code pour un code claire et lisible
Exemple de SAST gratuit:
- PMD Source Code Analyser
C'est un analyseur de code source. Il détecte les défauts de programmation courants tels que les variables inutilisées, les blocs catch vides, la création d'objets inutile, et ainsi de suite. Il prend en charge Java, JavaScript, Apex et Visualforce de Salesforce.com, PLSQL, Apache Velocity, XML, XSL.
De plus, il comprend CPD, le détecteur de copier-coller. CPD trouve le code dupliqué en Java, C, C++, C#, Groovy, PHP, Ruby, Fortran, JavaScript, PLSQL, Apache Velocity, Scala, Objective C, Matlab, Python, Go, Swift et Apex et Visualforce de Salesforce.com - SonarQube
Est un outil populaire de gestion de la qualité du code qui propose également des fonctionnalités SAST. Il peut détecter un large éventail de vulnérabilités de sécurité dans le code source, notamment les injections SQL, les failles XSS (Cross-Site Scripting), etc. SonarQube est disponible en version gratuite, bien que des fonctionnalités avancées puissent nécessiter une licence. - Bandit
Est un outil SAST spécifiquement conçu pour l'analyse de code Python. Il recherche les vulnérabilités de sécurité courantes dans le code Python, telles que les injections SQL et les problèmes de gestion des fichiers, entre autres. Bandit est open source et gratuit - FindBugs
Est un outil d'analyse de code statique gratuit qui se concentre sur l'identification des problèmes de qualité de code dans les programmes Java. Il peut détecter une variété de problèmes, y compris les problèmes de performance, les défaillances potentielles des applications et les problèmes de sécurité. FindBugs est largement utilisé dans l'industrie et la communauté du développement de logiciels et peut être intégré dans de nombreux IDE et systèmes de construction populaires
Pour continuer :
SCA (Software Composition Analysis)