SecretsUsedInArgOrEnv

输出

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

描述

虽然在本地开发过程中通过环境变量向运行中的进程传递机密信息很常见, 但在 Dockerfile 中使用 ENV 或 ARG 设置机密信息 是不安全的,因为它们会保留在最终镜像中。 此规则报告 ENV 和 ARG 键表明其包含敏感数据的违规情况。

与其使用 ARG 或 ENV,您应该使用 secret 挂载, 它以一种安全的方式向您的构建暴露 secrets, 并且不会保留在最终镜像或其元数据中。 参见 构建 secrets。

示例

❌ Bad: AWS_SECRET_ACCESS_KEY 是一个秘密值。

FROM scratch
ARG AWS_SECRET_ACCESS_KEY