【问题标题】:Is the GitHub token saved to my environment variables in Travis CI publicly accessible?Travis CI 中保存到我的环境变量中的 GitHub 令牌是否可公开访问?
【发布时间】:2017-11-08 20:11:13
【问题描述】:

要加密 GitHub 令牌以在您的 .travis.yml 中使用它们,您似乎需要 Travis CI CLI 工具 - 我现在无法安装。

因此,我没有将 GitHub 令牌放在我的 .travis.yml 中,而是在 https://travis-ci.org 的存储库设置中创建了一个新的环境变量 GITHUB_TOKEN 并像这样使用它:

github_token: $GITHUB_TOKEN

现在我可以使用令牌部署到 GitHub 版本,例如。

这样安全吗?或者我在 Travis CI 中的环境变量是否可以公开访问?

【问题讨论】:

    标签: github encryption continuous-integration token travis-ci


    【解决方案1】:

    我现在发现:不,一般来说,它们不公开。是的,如果您遵循一些规则,将它们用于敏感信息似乎是完全安全的。直接从https://docs.travis-ci.com/user/environment-variables#Defining-Variables-in-Repository-Settings 的文档中引用关于环境变量的内容:

    在存储库设置中定义 (...) 包含敏感数据的变量,例如第三方凭据。

    记住一些合理的规则:

    1. 最重要的是:使用设置中的 ON/OFF 开关将它们从日志中隐藏。

      默认情况下,这些新环境变量的值隐藏在日志中的 export 行中。这对应于.travis.yml 中加密变量的行为。这些变量以加密方式存储在我们的系统中,并在生成构建脚本时被解密。

    2. 如有必要,请使用" 正确定义它们。

      这些值直接在您的构建中使用,因此请确保相应地转义特殊字符(对于 bash)。特别是,如果一个值包含空格,您应该在该值周围加上引号。例如。 my secret passphrase 应该写成"my secret passphrase"

    同样重要的是要知道:即使您的环境变量隐藏在日志中,仍然有人可以使用恶意代码向您的存储库提交拉取请求并以这种方式访问​​该变量。因此,这些变量在拉取请求的构建中不可用:

    同样,我们不会将这些值提供给不受信任的构建,由来自另一个存储库的拉取请求触发。

    【讨论】:

      猜你喜欢
      • 2019-10-27
      • 1970-01-01
      • 2016-02-17
      • 2022-01-20
      • 2020-02-06
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多