Les audits de sécurité applicative se ressemblent souvent d'un projet à l'autre, pas parce que les applications sont identiques, mais parce que les failles qu'on y trouve le sont. Voici cinq constats qui reviennent le plus souvent.
1. La validation côté client ne suffit jamais
C'est le classique le plus persistant : une application valide correctement les entrées dans le navigateur, mais fait confiance aux mêmes données une fois qu'elles atteignent le serveur. Un simple appel direct à l'API contourne toute la logique de validation.
2. Les secrets finissent dans le dépôt de code
Clés d'API, identifiants de base de données, jetons tiers : ils apparaissent régulièrement dans l'historique Git, parfois retirés du code actuel mais toujours accessibles dans les commits précédents. Une rotation des secrets après un audit est presque toujours nécessaire.
3. La gestion des sessions est sous-estimée
Expiration de session trop longue, absence d'invalidation à la déconnexion, jetons qui ne changent pas après une élévation de privilèges : ces détails semblent mineurs jusqu'à ce qu'ils deviennent le point d'entrée d'une compromission de compte.
4. Les dépendances ne sont pas surveillées
La majorité des applications que nous auditons utilisent des bibliothèques tierces avec des vulnérabilités connues et déjà corrigées dans une version plus récente. Le problème n'est pas l'absence d'outils de détection, mais l'absence de processus pour agir sur leurs résultats.
5. Les logs ne racontent pas d'histoire utile
En cas d'incident, la première ressource est la journalisation. Trop souvent, elle enregistre des événements techniques sans contexte métier : impossible de savoir qui a fait quoi, sur quelle ressource, sans reconstituer manuellement le fil des événements.
Ce qu'on en retient
Aucun de ces constats ne relève d'une vulnérabilité exotique. Ce sont des angles morts qui apparaissent quand la sécurité est traitée comme une étape de validation finale plutôt que comme une contrainte de conception. C'est exactement ce que « secure by design » veut dire en pratique : ces cinq points ne devraient jamais arriver jusqu'à un audit, parce qu'ils auraient dû être traités à la conception.