Un scanner qui ne trouve rien ne prouve pas que tout va bien : il prouve qu'il n'a rien trouvé. Pépin audite la configuration effective des clouds souverains européens, à partir d'un plan Terraform avant déploiement ou d'une collecte live après, et il tient à distinguer trois choses que la plupart des outils confondent : ce qui est conforme, ce qui ne l'est pas, et ce qu'il n'a pas pu observer.
Le problème, avant l'architecture
Section intitulée « Le problème, avant l'architecture »Votre Terraform paraît correct. Votre tenant aussi. Une règle réseau trop large, une clé d'accès sans expiration ou un bucket ouvert suffisent pourtant à changer la posture, et rien dans la console ne vous le signale.
La difficulté n'est pas de trouver ces écarts, beaucoup d'outils le font. Elle est de savoir ce que le scanner a réellement regardé. Une absence de finding peut vouloir dire « c'est propre », ou « je n'ai pas pu collecter la donnée ». Confondre les deux transforme un audit en fausse assurance.
Deux commandes, un verdict
Section intitulée « Deux commandes, un verdict »Aucun compte cloud n'est nécessaire pour voir Pépin fonctionner : le dépôt fournit des inventaires d'exemple.
pepin scan scaleway examples/scaleway/inventory.jsonLa sortie se termine par ceci, et le code de retour vaut 1 :
Verdict : NON CONFORME
🔴 CRITICAL 2 🟠 HIGH 2 🟡 MEDIUM 0 🔵 LOW 0Sur l'inventaire corrigé, le même contrôle rend un verdict qui mérite d'être lu mot à mot, et le code de retour retombe à 0 :
Verdict : conforme sur le périmètre évalué (aucune non-conformité détectée, 12 contrôles conformes)« Conforme sur le périmètre évalué », et le nombre de contrôles qui l'établissent. Pas « conforme ». La nuance est tout le produit.
Ce que le tableau ne montre pas, et que Pépin sait
Section intitulée « Ce que le tableau ne montre pas, et que Pépin sait »La sortie lisible affiche les écarts. Le format assessment affiche la vérité
complète, statut par statut. Sur l'inventaire vulnérable ci-dessus :
| Statut | Nombre | Ce que ça veut dire |
|---|---|---|
fail | 4 | l'écart est constaté, avec la ressource en cause |
pass | 7 | la donnée nécessaire a été collectée, et elle est conforme |
not-applicable | 2 | le contrôle ne concerne pas ce périmètre, et Pépin dit pourquoi |
not-evaluated | 14 | la donnée manquait : aucune conclusion n'est tirée |
Quatorze contrôles sur vingt-sept n'ont pas pu être évalués, et c'est écrit. Un scanner qui aurait compté ces quatorze comme des succès aurait affiché un score flatteur et faux. Chaque non-évaluation porte sa raison :
compute_instance_has_security_group aucune ressource de type « compute_instance » dans l'inventaire évalué
governance_resource_required_tags collecte de la donnée nécessaire non confirmée pour ce fournisseurSur quoi Pépin travaille
Section intitulée « Sur quoi Pépin travaille »Trois fournisseurs, deux sources de données. Chacun est décrit dans son vocabulaire natif, jamais par comparaison à un hyperscaler.
| Fournisseur | Audit d'un plan Terraform | Collecte live via l'API |
|---|---|---|
| Scaleway | oui | oui |
| Outscale | oui | oui |
| Exoscale | oui | oui |
Les deux sources ne répondent pas à la même question. Le plan Terraform dit ce que vous vous apprêtez à créer, et permet de bloquer avant le déploiement. La collecte live dit ce qui tourne réellement, y compris ce que personne n'a déclaré dans le code.
Ce à quoi les résultats se rattachent
Section intitulée « Ce à quoi les résultats se rattachent »Les contrôles sont ancrés sur un référentiel commun de 57 contrôles, avec leurs correspondances vers SCSL, SecNumCloud 3.2, CIS Controls v8 et ISO/IEC 27001:2022 et 27017. Chaque finding porte sa référence normative et un lien vers l'explication du contrôle.
Par où commencer
Section intitulée « Par où commencer »L'état réel du projet
Section intitulée « L'état réel du projet »Pépin est en version 0.4.0. C'est un projet jeune, sous licence Apache-2.0, et cette page préfère le dire que le laisser découvrir.
| État au 9 septembre 2026 | |
|---|---|
| Contrôles du référentiel commun | 57 |
| Fournisseurs | Scaleway, Outscale, Exoscale |
| Sources | plan Terraform, collecte live via API |
| Formats de sortie | table, json, assessment, oscal, sarif |
| Bundle de preuve | --seal, relu par pepin verify, signature cosign facultative |
| Langues | français et anglais, détectées automatiquement |
Ce qui reste en chantier est dit à sa place plutôt qu'ici : chaque page indique ses propres limites.
À retenir
Section intitulée « À retenir »- Une absence de finding n'est pas une conformité. Pépin distingue
pass,fail,not-applicableetnot-evaluated, et justifie les deux derniers. - Le verdict conforme est qualifié : « sur le périmètre évalué », avec le nombre de contrôles qui l'établissent.
- Trois fournisseurs, décrits dans leur vocabulaire natif : Scaleway, Outscale et Exoscale.
- Deux sources, qui ne répondent pas à la même question : le plan Terraform avant déploiement, la collecte live après.
- 57 contrôles rattachés à SCSL, SecNumCloud 3.2, CIS v8 et ISO 27001/27017.
- Les correspondances normatives sont indicatives : la qualification porte sur le fournisseur, pas sur votre configuration.
- Le projet est en 0.4.0, sous Apache-2.0, et le dit.
Ressources externes
Section intitulée « Ressources externes »- Dépôt Pépin sur GitHub : la référence technique, les options de la ligne de commande et le guide de contribution.
- Référentiel OSCAL du NIST : le format dans lequel Pépin exporte ses résultats.
- SecNumCloud, référentiel de l'ANSSI : le cadre sur lequel s'ancrent les correspondances.