SonarQube et JavaScript

Dans l’article suivant, je passerai en revue les capacités de SonarQube liées à JavaScript (JS) qui aident les développeurs et les responsables de développement, avec des démonstrations à l’appui.

SonarQube et Javascript

SonarQube propose des tests de sécurité statiques des applications (SAST) pour plus de 30 langages et frameworks (y compris les langages d’infrastructure).
L’un des plus populaires d’entre eux est JavaScript (JS).
L’outil propose plus de 420 règles pour JS (dont beaucoup sont uniques) et prend en charge 5 aspects :
Bugs, Vulnérabilités de Sécurité, Security Hotspots (zones sensibles), Code Smells (mauvaises odeurs de code) et corrections rapides (Quick fix).
Vous pouvez recevoir de notre part un fichier Excel détaillé et à jour contenant toutes les règles pour JS (et d’autres langages) – contactez-nous via l’email indiqué ci-dessous.

Des questions ? N’hésitez pas à nous contacter, nous serons ravis de vous répondre ! Email : sonarqube@almtoolbox.com (Numéro de téléphone disponible plus loin dans l’article)

Bugs

SonarQube dispose de plus de 80 règles pour JS qui détectent les bugs et expliquent comment les corriger.
Voici quelques exemples :

 

Vulnérabilité de Sécurité

SonarQube dispose actuellement de plus de 30 règles pour JS qui détectent les vulnérabilités de sécurité et expliquent comment les corriger.
Voici quelques exemples :

 

Security Hotspot (Points sensibles de sécurité)

SonarQube dispose de plus de 60 règles pour JS qui détectent les Security Hotspots et expliquent comment les traiter.

Un Security Hotspot est une zone du code suspectée d’être une vulnérabilité – généralement due à l’utilisation d’API sensibles, de modèles ou d’actions qui pourraient être critiques – nécessitant un examen humain pour décider si une vulnérabilité existe réellement.
Voici quelques exemples :

 

Code Smell (Mauvaises odeurs de code)

SonarQube dispose de plus de 240 règles pour JS qui détectent les Code Smells et expliquent comment les corriger.
Voici quelques exemples :

 

Pourquoi SonarQube est-il particulièrement adapté à JavaScript ?

  • Large gamme de règles (plus de 420)
  • Adaptation à de nombreux frameworks JS (tels que React, Node.JS, Vue.js, Angular, etc. – détails ci-dessous)
  • Approche “Clean Code”
  • Analyse rapide ! Y compris l’analyse incrémentale (uniquement sur le code modifié) et l’analyse multithread pour une utilisation optimale des ressources informatiques
  • Détection des bugs liés à la sécurité de l’information
  • Forte intégration avec les processus de développement et la CI
  • Intégration avec les IDE et les outils de développement prenant en charge JavaScript
  • Support de qualité de la part de l’éditeur, y compris des options de support local ou notre service géré, vous évitant d’avoir à gérer la maintenance du serveur et les opérations courantes

 

Vidéo de Démonstration SonarQube et JS

Vous trouverez ci-dessous une vidéo de démonstration de SonarQube intégré à JavaScript.
Pour votre commodité, nous avons ajouté des points clés sur la timeline de la vidéo (cliquables via le lecteur) :

  • 13:20 Démonstration du Clean Code et du “New Code” avec JS utilisant SonarQube
  • 18:20 68% des développeurs écrivent en JavaScript

 

Prise en charge d’un large éventail de normes et de frameworks :

  • Éditions 3 & 5, ECMAScript 2015 à 2022
  • React JSX, Angular, Vue.js, Node.js, Express, Flow
  • Prise en charge des frameworks de test (Mocha, Chai)
  • Prise en charge des applications Cloud natives :
    Règles AWS CDK dédiées pour trouver les vulnérabilités dans les infrastructures cloud décrites en JS/TS
  • Prise en charge des API de base de données :
    Sequelize, pg, pg-pool, pg-promise, mysql, mysql2, sqlite3, better-sqlite3, knex, MongoDB node.js, Mongoose ODM
  • OWASP Top 10
  • CWE Top 25
  • SANS Top 25
  • PCI DSS

 

Prise en charge de divers systèmes d’exploitation et compilateurs (également pour l’analyse de code dans d’autres langages) :

  • Windows, Linux, macOS
  • Compilateurs Clang, GCC, MSVC, ARM, QNX
  • Compilateurs Intel pour Linux, macOS
  • Compilateurs entièrement basés sur GCC, y compris Linaro GCC
  • Wind River Diab et GCC
  • Compilateurs IAR pour 8051, ARM, AVR32, AVR, Renesas RL78, Renesas RX, Renesas V850, Renesas H8 et Texas Instruments MSP430
  • Compilateurs Texas Instruments sous Windows et macOS pour ARM, C2000, C6000, C7000, MSP430, PRU

 

Tarifs et informations sur les coûts

La plupart des règles détectant les problèmes de sécurité dans le code JavaScript ne sont pas disponibles dans l’édition gratuite (Community Edition) de SonarQube.
La prise en charge complète de JavaScript existe dans les éditions suivantes : Developer Edition, Enterprise Edition et DataCenter Edition.
La prise en charge des rapports de sécurité et de l’OWASP est disponible uniquement dans l’édition SonarQube Enterprise.

Le prix de SonarQube dépend de plusieurs paramètres. Pour plus de détails sur les différences entre les éditions, vous pouvez lire l’article suivant ou nous contacter (coordonnées ci-dessous).

L’article a été publié pour la première fois en octobre 2024 et nous le mettons à jour périodiquement depuis.

ALM-Toolbox est le distributeur officiel exclusif de SonarSource (éditeur de SonarQube, SonarCloud et SonarLint) en Israël et dans d’autres pays.
Nous fournissons des services gérés, du support, de la formation, du conseil et des licences pour SonarQube et une variété d’outils de développement et DevOps complémentaires.
Pour plus de détails, contactez-nous à sonarqube@almtoolbox.com ou par téléphone au +972-72-240-5222

Liens utiles :