Contexte
SonarQube signale la règle docker:S6504 avec une sévérité de type security-sensitive.
Elle concerne les fichiers copiés dans apps/client/Dockerfile et apps/server-nestjs/Dockerfile.
État actuel
Les instructions COPY utilisent --chown=node:root, donc les layers copiés sont détenus par un utilisateur non-root.
Cela permet une modification malveillante de ces fichiers depuis le conteneur et casse le principe d'immutabilité des images.
Causes identifiées
La refonte récente des dépendances et du catalog a ajouté packages/hooks/package.json dans le contexte de build.
Pour conserver la résolution pnpm sous catalogMode: strict, le flag --chown=node:root a été ajouté/conservé sur les COPY, ce qui a déclenché la règle SonarQube.
Fichiers concernés
apps/client/Dockerfile
apps/server-nestjs/Dockerfile
Proposition de correction
Retirer --chown=node:root des instructions COPY pour garder des layers appartenant à root au build.
L'écriture runtime est déjà gérée séparément dans le stage prod par chown node:root /app et USER node.
Critères d'acceptation
- SonarQube ne remonte plus
docker:S6504 sur ces Dockerfiles.
- Les builds locaux de
apps/client et apps/server-nestjs passent toujours.
- Le comportement runtime d'exécution sous utilisateur non-root est inchangé.
Contexte
SonarQube signale la règle
docker:S6504avec une sévérité de type security-sensitive.Elle concerne les fichiers copiés dans
apps/client/Dockerfileetapps/server-nestjs/Dockerfile.État actuel
Les instructions
COPYutilisent--chown=node:root, donc les layers copiés sont détenus par un utilisateur non-root.Cela permet une modification malveillante de ces fichiers depuis le conteneur et casse le principe d'immutabilité des images.
Causes identifiées
La refonte récente des dépendances et du catalog a ajouté
packages/hooks/package.jsondans le contexte de build.Pour conserver la résolution pnpm sous
catalogMode: strict, le flag--chown=node:roota été ajouté/conservé sur lesCOPY, ce qui a déclenché la règle SonarQube.Fichiers concernés
apps/client/Dockerfileapps/server-nestjs/DockerfileProposition de correction
Retirer
--chown=node:rootdes instructionsCOPYpour garder des layers appartenant àrootau build.L'écriture runtime est déjà gérée séparément dans le stage prod par
chown node:root /appetUSER node.Critères d'acceptation
docker:S6504sur ces Dockerfiles.apps/clientetapps/server-nestjspassent toujours.