GitHub 操作 : Are there security concerns using an external action in a workflow job?

标签 github github-actions

我有一个工作流,它通过使用来自 someuser 的外部操作来传输文件。 :

    - name: ftp deploy
      uses: someuser/ftp-action@master
      with:
        config: ${{ secrets.FTP_CONFIG }}

这是安全问题吗?例如可以 someuserftp-action@master访问我的 secrets.FTP_CONFIG ?我应该将他们的操作复制/粘贴到我的工作流程中吗?

最佳答案

如果您使用 ftp-action@master那么每次您的工作流运行时,它都会获取操作的主分支并构建它。所以是的,我相信所有者可以更改代码以捕获 secret 并将其发送到他们控制的外部服务器。

为了避免这种情况,您可以做的是使用特定版本的操作并查看其代码。您可以使用提交哈希来引用您想要的确切版本,例如 ftp-action@efa82c9e876708f2fedf821563680e2058330de3 .如果标签有发布标签,你可以使用它。例如ftp-action@v1.0.0虽然,这可能不那么安全,因为标签可以更改。

或者,可能也是最安全的方法是 fork 操作存储库并引用您自己的副本。 my-fork/ftp-action@master .

关于GitHub 操作 : Are there security concerns using an external action in a workflow job?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57916983/

相关文章:

shell - GitHub Actions 工作流程错误 : Run Command Timeout! 即使脚本运行良好

github - 是否可以比较 Github 用户?具体是他们的贡献?

ruby - 无论来源如何,都使用最新的 gem 版本

git - GitHub 上的 "This branch is 0 commits ahead and 0 commits behind master"是什么意思?

azure - 构建解决方案时不支持 "--output"选项

docker - 如何使用 GitHub Actions 实现多阶段 Docker 构建?

git - 如何在不使用 GUI 的情况下使用 Git CLI 打开 Pull Request

Android Studio 与 GitHub 的集成无法上传除 MainActivity.java 之外的项目文件

github-actions - 是否可以手动运行 GitHub 工作流程?

nuget - 修改 github actions pipeline 中 nupkg 的版本