SecretsUsedInArgOrEnv

输出

Potentially sensitive data should not be used in the ARG or ENV commands

描述

虽然将 secret 传递给正在运行的进程很常见 通过本地开发过程中的环境变量, 使用 Dockerfile 中设置密钥ENVARG不安全,因为它们会保留在最终镜像中。 此规则报告违规行为,其中ENVARG钥匙 表示它们包含敏感数据。

而不是ARGENV,您应该使用 secret 挂载, 它们以安全的方式向你的构建公开 secret, 并且不要保留在最终镜像或其元数据中。 请参阅构建密钥

例子

❌ 坏:AWS_SECRET_ACCESS_KEY是 secret 值。

FROM scratch
ARG AWS_SECRET_ACCESS_KEY