topaze.plus

Scène II ·

34 variables d'environnement dans un fichier public

Visuel du post LinkedIn

Comment des mots de passe se retrouvent dans le code qu'un site envoie à tous ses visiteurs, ce que dit le droit sur l'étude d'un logiciel, et où s'arrête ce droit.

Le post, en entier

Hier soir je voulais comprendre comment certains aspects d'une application fonctionnait. Je suis tombé sur un fichier contenant 34 variables d'environnement.

Ces derniers jours, j'ai analysé les bundles JavaScript de plusieurs sites : les fichiers de code qu'une application web transmet au navigateur pour fonctionner. L'objectif était de comprendre les choix techniques et la logique des applications.

Au cours de cette analyse, avec l'aide de DeepSeek, j'ai découvert un fichier .env contenant 34 variables d'environnement. Parmi elles, des valeurs présentées comme des mots de passe ou des identifiants associés à OVH et Slack.

Mais c'est précisément le genre de découverte qui doit faire réfléchir lorsqu'on développe son propre produit.

On consacre beaucoup d'énergie aux fonctionnalités, au design, à la commercialisation. Je considère que la vérification de ce que l'on expose réellement sur Internet mérite la même attention.

Il existe aussi un cadre juridique à connaître. L'article L122-6-1 III du Code de la propriété intellectuelle permet à une personne ayant le droit d'utiliser un logiciel d'en étudier le fonctionnement ou la sécurité, dans le cadre d'opérations qu'elle est autorisée à effectuer. Ce droit comporte des conditions. Il ne constitue pas une autorisation générale d'explorer des systèmes ou d'utiliser des identifiants découverts.

Ce que je retiens de cette expérience pour mes propres projets : la revue avant mise en ligne doit aussi porter sur les fichiers de configuration, les secrets et les éléments effectivement accessibles depuis l'extérieur, et moi même j'ai des failles sur mes projets parfois.

Et vous, savez-vous précisément ce que votre site laisse voir au-delà de ses pages ?

Ce que dit le post

En étudiant le code JavaScript que des sites envoient à tout navigateur, j'ai trouvé un fichier contenant 34 variables d'environnement, dont des mots de passe et des identifiants OVH et Slack. Les outils de compilation le disent eux-mêmes : ce qui est injecté dans ce code est lisible par n'importe qui 1 2 3. Le droit permet d'étudier un logiciel qu'on a le droit d'utiliser 5, mais pas d'explorer un système ni d'utiliser des identifiants découverts 6 7 8.

Le site concerné n'est pas nommé, et aucune valeur n'a été utilisée, testée ni recopiée.

Pourquoi des secrets finissent dans le code public

Une application web moderne est « compilée » avant sa mise en ligne. Les outils qui font ce travail peuvent injecter des variables d'environnement directement dans le code envoyé au navigateur. Ils le font seulement pour les variables qui portent un préfixe dédié, ou quand la configuration leur demande de tout injecter. Leurs documentations préviennent toutes que ces valeurs deviennent publiques.

1

Extrait

VITE_* variables should not contain sensitive information such as API keys. The values of these variables are bundled into your source code at build time.

— Documentation de Vite · Env Variables and Modes

2

Extrait

Do not store any secrets (such as private API keys) in your React app! Environment variables are embedded into the build, meaning anyone can view them by inspecting your app's files.

— Documentation de Create React App · Adding Custom Environment Variables

3

Extrait

Préfixée par NEXT_PUBLIC_, une variable est remplacée par sa valeur dans le code JavaScript envoyé au navigateur : elle « sera intégrée dans tout le JavaScript transmis au navigateur ».

— Documentation de Next.js · How to use environment variables in Next.js

4

Extrait

Your webhook URL contains a secret. Don't share it online, including via public version control repositories. Slack actively searches out and revokes leaked secrets.

— Documentation de Slack · Sending messages using incoming webhooks

Ce que dit le droit

5

Extrait

La personne ayant le droit d'utiliser le logiciel peut sans l'autorisation de l'auteur observer, étudier ou tester le fonctionnement ou la sécurité de ce logiciel afin de déterminer les idées et principes qui sont à la base de n'importe quel élément du logiciel lorsqu'elle effectue toute opération de chargement, d'affichage, d'exécution, de transmission ou de stockage du logiciel qu'elle est en droit d'effectuer.

— Code de la propriété intellectuelle · Article L122-6-1, III (Légifrance)

6

Extrait

Le fait d'accéder ou de se maintenir, frauduleusement, dans tout ou partie d'un système de traitement automatisé de données est puni de trois ans d'emprisonnement et de 100 000 € d'amende.

— Code pénal · Article 323-1, alinéa 1 (Légifrance)

7

Extrait

Le fait d'introduire frauduleusement des données dans un système de traitement automatisé, d'extraire, de détenir, de reproduire, de transmettre, de supprimer ou de modifier frauduleusement les données qu'il contient est puni de cinq ans d'emprisonnement et de 150 000 € d'amende.

— Code pénal · Article 323-3 (Légifrance)

8

Article · Légifrance · 20 mai 2015

Cour de cassation, chambre criminelle, 20 mai 2015, n° 14-81.336 (affaire « Bluetouff »)

Des données avaient été trouvées librement en ligne, via un moteur de recherche. La condamnation a pourtant été confirmée : la personne était restée dans le système après avoir compris qu'il était protégé, puis avait téléchargé les données. Trouver n'est pas fautif, se servir l'est.

legifrance.gouv.fr ↗

Si l'on veut signaler

9

Article · ANSSI (cyber.gouv.fr)

Déclarer une vulnérabilité à l'ANSSI

Un formulaire en ligne permet de signaler une faille. L'article L2321-4 du Code de la défense garantit la confidentialité de l'identité d'une personne de bonne foi qui signale à la seule ANSSI. Ce n'est pas une immunité pénale.

cyber.gouv.fr ↗

10

Article · OWASP

Secrets Management Cheat Sheet

Le guide de référence pour ne pas reproduire l'erreur : ne jamais laisser de secrets dans le code ou les fichiers de configuration, et révoquer immédiatement toute clé exposée.

cheatsheetseries.owasp.org ↗

Repères

  • Le L122-6-1 III est une exception au droit d'auteur sur le logiciel. Elle couvre l'étude du code qu'un site envoie à tout visiteur, puisque chacun est en droit de le charger et de l'exécuter. L'accès à un système et l'usage d'identifiants relèvent, eux, des articles 323-1 et 323-3 du Code pénal : c'est la limite que pose le post.
  • Le droit de tester « la sécurité » d'un logiciel figure dans le texte depuis la loi de programmation militaire du 18 décembre 2013. La version actuelle de l'article date de 2021.

Mises à jour

  • 2 octobre 2026 : création de la page.

← Retour au programme