gpt4 book ai didi

github - 如何在 github 操作中使用 secret 而不泄露 secret

转载 作者:行者123 更新时间:2023-12-02 19:20:56 25 4
gpt4 key购买 nike

对于公共(public)存储库,在 github 操作中,假设我的操作在 azure 中的计算上运行。如果 CI 管道必须在 azure 中运行,我对如何保护 azure 身份验证详细信息感到困惑。

假设要使用此操作,我必须使用 secret ,并将环境变量的值设置为 secret - 我是否失去了拥有 secret 的意义?恶意用户可以发送打印环境变量值的 PR:

user_password: {{secret.USER_PASSWORD}}

用户代码:

print(os.environment['user_password'])

恶意用户不必猜测,因为工作流程是公开的,并且他知道哪个环境变量拥有 secret 。

我哪里错了?

最佳答案

与其他 CI 提供商一样,GitHub 会编辑日志中的大部分 secret 。它考虑了多种格式并尝试清理它们。但是,一般来说,您应该小心避免将它们打印到日志中,因为没有系统是万无一失的,并且并非可以考虑所有可能的编码。

如果您担心 fork 存储库试图访问您的 secret ,they can't ;由于您所描述的原因,这是特别不允许的。因此,如果有人针对您的存储库打开 PR,他们将无法访问 secret ,除非分支位于您的存储库中(在这种情况下,不要授予该人对您的存储库的写入权限)。假定您将在合并之前执行基本的代码审查以捕获任何恶意代码,因此不良行为者将无法使用您的存储库的 secret 运行任何代码。

不过,一般来说,假设正在运行的系统和程序是可信的,则使用环境变量作为将 secret 传递给程序的方式是最佳实践。系统上的其他用户无法看到该环境,并且在 CI 系统中,系统和程序被假定为可信的。

关于github - 如何在 github 操作中使用 secret 而不泄露 secret ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63080133/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com