【发布时间】:2021-02-09 16:34:37
【问题描述】:
我最近突然想到,如果你有一个公共存储库,那么任何人都可以触发 GitHub 操作的 on pull_request 事件。
即:
- 有人克隆了我的存储库
- 他们将
something.yml文件添加到.github/workflows,该文件在pull_request事件上运行 - 他们创建了一个拉取请求
然后运行他们在拉取请求中指定的操作。如果您有一个自托管运行器,那么地球上的任何人都可以在自托管运行器用户的上下文中在您的服务器上运行 shell 命令。
如果这如我认为的那样有效,那么地球上的任何人都可以通过拉取请求在您的服务器上运行任意代码。这个我试过了,好像是这样的。
如何将可以在存储库上触发操作的挂钩列入白名单?否则,我如何安全地使用带有公共存储库和自托管运行器的 Github Actions。我已经看到了警告......我只是假设我必须小心不要接受来自未知来源的拉取请求。
【问题讨论】:
-
pull_request_target 不起作用。我无法强制使用新工作流程的拉取请求指定 pull_request_target 而不是 pull_request
-
你说得对,我弄混了一些东西
标签: github-actions