Sécurité

Outils d'audit de sécurité : la trousse minimale d'une application web

Mis à jour le

Auditer une application web ne demande pas un arsenal : cinq familles d'outils couvrent l'essentiel — dépendances vulnérables, secrets exposés, en-têtes HTTP, configuration TLS et robustesse des mots de passe. Encore faut-il savoir ce que chacune détecte, et ce qu'elle laisse passer.

Les cinq vérifications à automatiser

Aucune de ces vérifications ne demande d'expertise offensive, et la plupart s'exécutent en quelques secondes. C'est leur régularité qui fait leur valeur : un audit ponctuel vieillit dès la prochaine mise à jour.

  • Dépendances : npm audit, ou l'équivalent de votre écosystème, compare les paquets installés aux vulnérabilités publiées.
  • Secrets : un détecteur de secrets parcourt le dépôt et son historique à la recherche de clés et de jetons committés par erreur.
  • En-têtes HTTP : un simple curl -I ou les outils de développement du navigateur montrent si HSTS, la politique de sécurité du contenu et nosniff sont en place.
  • TLS : un test de configuration vérifie les versions du protocole acceptées et la validité de la chaîne de certificats.
  • Mots de passe : un testeur de robustesse mesure ce que vaut réellement la politique imposée aux comptes.

Ce qu'un outil ne trouve pas

Les outils automatiques détectent ce qui est connu et générique : une version vulnérable, un en-tête absent, un secret au format reconnaissable. Ils ne voient pas les défauts de logique — un utilisateur qui accède à la facture d'un autre en changeant un identifiant dans l'URL, par exemple.

Ces failles de contrôle d'accès se trouvent par la relecture du code et par des tests écrits pour chaque rôle. Un rapport d'outil sans alerte signifie qu'aucun problème connu n'a été détecté, pas que l'application est sûre.

Le cadre : n'auditer que ce qui vous appartient

Un test de sécurité mené sans autorisation sur un système tiers est illégal, quelle que soit l'intention. Limitez-vous à vos propres applications, ou obtenez un accord écrit qui précise le périmètre et les dates.

Enfin, triez avant de corriger : une vulnérabilité dans une dépendance qui ne sert qu'au build n'a pas la même gravité que la même faille dans le code exposé aux visiteurs. Le score affiché par l'outil ne tient pas compte de ce contexte.

En bref

Quels outils pour auditer la sécurité d'un site web ?

Un analyseur de dépendances (npm audit), un détecteur de secrets, un contrôle des en-têtes HTTP, un test de configuration TLS et un testeur de robustesse des mots de passe couvrent les vérifications de base.

Que fait npm audit ?

Il compare les dépendances installées à une base de vulnérabilités publiées et signale les versions concernées, avec leur gravité et la version corrigée lorsqu'elle existe.

A-t-on le droit de tester la sécurité d'un site ?

Uniquement s'il vous appartient ou si son propriétaire vous y a autorisé par écrit. Tester un système tiers sans autorisation est illégal.

Poursuivre dans le Lab