exemple de rapport, avec les noms retirés

À quoi ressemble le rapport

Voici un rapport complet, tel que vous le recevez au cinquième jour ouvré. Les noms ont été retirés.

Exemple fictif : l'entreprise et l'application ci-dessous sont inventées. Les constats, eux, sont du type de ceux que la grille relève sur une application maison. Aucune application réelle n'a été examinée pour écrire cette page.

page de garde du rapport

Audit d'un portail client

application
portail client d'une PME vaudoise de 30 salariés (nom retiré)
outil de construction
construite en interne avec un outil de création par intelligence artificielle
accès donné
accès en lecture seule, par écrit, après contrat
durée
5 jours ouvrés, du contrat à la remise
constats
1 bloquant, 2 importants, 2 recommandés
restitution
appel de 45 minutes avec la personne qui a signé
signataire
Adrien da Cunha Belvès, Genève

constat 1 sur 5 · autorisations et cloisonnement

Les factures d'un client sont lisibles depuis le compte d'un autre

gravité : bloquant

ce que nous avons vu : La table des factures n'a aucune règle de cloisonnement au niveau des lignes. Tout utilisateur identifié peut demander la liste complète des factures, y compris celles des autres clients, et l'application ne vérifie rien côté serveur.

la preuve : Depuis un compte de test créé pour l'audit, une requête directe sur la table a renvoyé les lignes d'un autre compte. Aucun droit particulier n'était nécessaire.

l'action : Écrire et activer les règles de cloisonnement sur chaque table exposée, puis les vérifier avec deux comptes de profils différents. (3 à 5 jours)

constat 2 sur 5 · secrets et clés

Une clé d'administration de la base est livrée au navigateur

gravité : important

ce que nous avons vu : La clé de service de la base apparaît en clair dans le code téléchargé par le navigateur. Elle permet de lire et d'écrire l'ensemble des données en contournant les règles de la base.

la preuve : La clé a été relevée dans le bundle JavaScript servi au navigateur, sans authentification ni outil particulier.

l'action : Révoquer la clé exposée, déplacer les appels concernés dans des fonctions côté serveur, et limiter les droits des clés restantes. (2 à 3 jours)

constat 3 sur 5 · accès et authentification

Une page d'administration répond sans demander qui la consulte

gravité : important

ce que nous avons vu : La page de gestion des comptes, volontairement absente du menu, reste atteignable par son adresse et répond sans identifier la personne qui la consulte.

la preuve : L'adresse de la page, saisie directement dans un navigateur, a affiché la liste des comptes depuis une session déconnectée.

l'action : Protéger la page par authentification, avec la vérification faite côté serveur et non dans le navigateur. (1 à 2 jours)

constat 4 sur 5 · hébergement et sauvegardes

Les sauvegardes n'ont jamais été restaurées

gravité : recommandé

ce que nous avons vu : L'hébergeur effectue des sauvegardes quotidiennes, mais aucune restauration n'a jamais été exercée et aucune procédure de reprise n'est écrite.

la preuve : Aucun essai de restauration dans l'historique du projet, et aucune documentation reprise dans le dépôt.

l'action : Exercer une restauration complète sur un projet de test, puis écrire la procédure de reprise en une page. (1 jour)

constat 5 sur 5 · données personnelles et nLPD

Rien n'indique aux clients ce qui est conservé, ni pendant combien de temps

gravité : recommandé

ce que nous avons vu : Le portail conserve les coordonnées des clients et leurs factures, mais ne mentionne nulle part quelles données sont conservées, où, ni pendant combien de temps.

la preuve : Aucune mention du traitement dans l'application ; la politique de confidentialité du site principal ne couvre pas le portail.

l'action : Compléter la politique de confidentialité et ajouter l'information à l'écran de création de compte. (1 jour)

dernière page du rapport

L'estimation pour terminer le travail

Si vous décidez de corriger, l'estimation sort du rapport lui-même, constat par constat. Pour l'application de cet exemple :

les 5 constats, puis la remise en production12 à 16 jours
cloisonnement des données et tests3 à 5 jours
clé exposée : révocation et fonctions serveur2 à 3 jours
protection de la page d'administration1 à 2 jours
restauration exercée et procédure de reprise1 jour
information des personnes et politique complétée1 jour
mise en production sur hébergement suisse, documentation et passe en main propre4 jours
total, remis en production9 000 à 13 000 CHF hors taxes

L'estimation réelle sort du rapport de votre application, pas de cette page. Un devis ferme est envoyé avec le rapport, sans engagement.

Votre application, elle, n'est pas fictive.

Huit questions, trois minutes, et vous recevez sous un jour ouvré la liste des points à vérifier en premier. Gratuit, sans engagement.

Faire le point en 3 minutes