首页/开发/CI/CD 与发布速查/变量掩码(Masked Variables)
环境与配置管理60 条

变量掩码(Masked Variables)

把敏感变量在日志中替换为掩码:它是兜底而不是保密手段,注意掩码条件的限制与变形输出绕过。

CI/CD 与发布速查开发更新于 2026-10-12
GitLab掩码变量需满足长度与字符集要求(单行、8 位以上等),否则保存即报错
GitHubsecrets 在工作流日志中自动掩码;对拼接、编码后的变形值不保证覆盖
原则不打印敏感值;掩码只处理「意外输出」

不要这样做

不要这样做
set -x          # 会回显展开后的命令
env | sort      # 可能打印全部变量
echo "$SECRET"  # 直接输出
通过 base64、分段拼接等方式改形的值通常绕过掩码:从源头避免输出。

易错点

  • 以为掩码=不会泄露:变形输出与调试转储都可能带出,删日志与轮换才是止损
  • 变量值带空格/换行:不满足掩码条件导致保存失败,提前校验格式

数据来源与参考

  • GitLab Docs《Mask a variable》
  • GitHub Docs《Security hardening for GitHub Actions》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌