整理 | 郑丽媛

出品 | CSDN(ID:CSDNnews)

GitHub Actions,自 2019 年微软推出以来,一直广受开发者好评。

GitHub Actions 是 GitHub Universe 开发者大会上发布的一款被 Github 系统主管 Sam Lambert 称为“再次改变软件开发”的重磅功能,支持  CI/CD 并对开源项目免费,让开发者能在 GitHub 服务器上直接执行和测试代码,帮助开发者和企业实现所有软件工作流程的自动化。

然而,这项功能刚问世不到两年,就被恶意滥用:攻击者利用此功能在 GitHub 服务器上植入挖矿软件,从而借助 GitHub 资源进行非法加密采矿

仅提交 Pull Request 就会触发攻击

据悉,自 2020 年 11 月开始,攻击者就发现了 GitHub Actions 的一个 Bug:提交含有恶意代码的 Pull Request 时,无需项目原作者同意即可运行恶意代码

荷兰安全工程师 Justin Perdok 对此解释道,攻击者会事先给一个合法的存储库创建分支,在分支中注入恶意代码,然后提交 Pull Request 以将该分支合并进原始存储库。

按理说,既然是要改变原始代码的 Pull Request,那自然要征得项目原作者的同意,那么这种包含恶意代码的分支肯定会被拒绝合并。

但意外的是,攻击者是有选择地针对那些具有自动化工作流程、尤其是使用了 GitHub Actions 的 GitHub 项目,因为这些项目会通过自动化作业来测试 Pull Request。

也就是说,攻击者仅仅是提交 Pull Request 就足以触发攻击。一旦这些恶意 Pull Request 被提交,GitHub 系统就会读取这些代码并启动一个虚拟机,而该虚拟机就会在 GitHub 的基础架构上下载并运行加密货币挖掘软件。

GitHub:已开始调查

据外媒 BleepingComputer 报道,运行的恶意代码会指示 GitHub 服务器去下载托管在 GitLab 上的一个恶意程序,名为 npm.exe。虽然名为 npm.exe,但它与 Node.js 组件管理器 Npm 没有一点关系,本质上就是一个挖矿程序。

攻击者会通过启动 npm.exe 程序,然后用攻击者的钱包地址运行它,下面 wallet 信息即是钱包地址。

npm.exe --algorithm argon2id_chukwa2
--pool turtlecoin.herominers.com:10380
--wallet TRTLv3ZvhUDDzXp9RGSVKXcMvrPyV5yCpHxkDN2JRErv43xyNe5bHBaFHUogYVc58H1Td7vodta2fa43Au59Bp9qMNVrfaNwjWP
--password xo

而在报道该新闻后,其他的攻击者也迅速如法炮制,出现了另一个名为 XMRig 的挖矿程序,该攻击者的钱包地址为:

49eqpX3Sn2d5cfJTevgZLGZGQmcdE37QE4TMJDmDcJeCG8DUgkbS5znSsU35Pk2HC1Lt99EnSiP9g74XpUHzTgxw23n5CkB

更令人警惕的是,Justin Perdok 在推特上表示,目前他至少已经确定有一个账号创建了几百个包含恶意代码的 Pull Request,仅一次攻击就能运行多达 100 个挖矿程序。

虽然到目前为止,这些攻击者还未以任何方式损害用户的存储库或利益,仅仅利用了存储库的 GitHub Actions 功能在 GitHub 服务器上植入挖矿程序。但潜在的隐患不容忽视,GitHub 官方表示已经开始展开调查。

不过这些攻击者也不依不饶,一旦账户被封,他们就迅速注册新账户,防不胜防。

GitHub 应该警惕

这种情况在去年就已经零星的出现了,第一个案例是由一名法国软件工程师报告的,当时他就反应,有 Pull Request 通过他的 GitHub 项目进行加密挖矿攻击。

而当时 GitHub 在给回复时与这次如出一辙:“我们已经意识到这一现象,并正在积极调查。”

可几个月后的如今,这种攻击还在发生,并且愈发猖狂。有人认为这种零星的攻击不会导致严重的后果,但这种未经项目作者同意就自动执行 Pull Request 的现象或许真的应该警惕了。

参考链接:

https://www.bleepingcomputer.com/news/security/github-actions-being-actively-abused-to-mine-cryptocurrency-on-github-servers/

https://twitter.com/JustinPerdok/status/1377970380086902794/photo/1

https://therecord.media/github-investigating-crypto-mining-campaign-abusing-its-server-infrastructure/

2020-2021中国开发者调查报告重磅来袭,直接扫码或微信搜索「CSDN」公众号,后台回复关键词「开发者」,快速获取完整的报告内容!

利用 GitHub Actions 在 GitHub 上进行加密挖矿?相关推荐

  1. 使用 GitHub Actions 在 EKS 上部署 InterSystems IRIS 解决方案

    假设你想了解 InterSystems 在数据分析方面能提供什么. 你研究了理论,现在想要进行一些实践. 幸运的是,InterSystems 提供了一个项目:Samples BI,其中包含了一些很好的 ...

  2. 有人滥用 GitHub Actions在 GitHub 服务器挖掘密币,且正在蔓延

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 目前,GitHub Actions 正被攻击者滥用发动自动化攻击,在 GitHub 服务器上挖掘密币.攻击者只需提起 Pull Req ...

  3. 利用github pages+GitHub Actions+Hugo搭建个人博客

    github pages是Github提供的一个网页寄存服务,可存放静态网页,包括博客.项目文档等.   参考Hugo官方文档 1.创建github仓库 仓库名的格式:<github用户名> ...

  4. github pages_如何使用GitHub Actions和Pages发布GitHub事件数据

    github pages Teams who work on GitHub rely on event data to collaborate.  The data recorded as issue ...

  5. 用GitHub Actions自动部署Hexo

    本文不算原创,是根据参考文档结合自己的需要修改而成,但也非转载和翻译. 老苏一直用 hexo 发博文,发布过程经历了 三个阶段 第一阶段 : 在家里的台式机上发布 hexo ,流程是先把要发布博文的 ...

  6. 使用GitHub Actions通过CI提高代码质量

    不论是开发.暂存还是生产环境,无时无刻都有代码不间断地被推送到 Git 上. 我们总是想要确保我们投入大量时间设计和编写的代码是具备可读性与安全性的,并且没有漏洞,能够平稳地运行. 使用自动化可以节省 ...

  7. 使用 Github Actions artifact 在 workflow job 之间共享数据

    AgileConfig 在使用 react 编写UI后,变成了一个彻彻底底的前后端分离的项目,上一次解决了把react spa 跟asp.net core 站点集成起来ASP.NET Core 集成 ...

  8. GitHub Actions 支持 skip ci 了

    GitHub Actions 支持 "skip ci" 了 Intro GitHub Actions 作为 GitHub 官方的 CI 支持,很多开源项目已经在使用 Actions ...

  9. Github Actions:再次改变软件开发

    本文转自 FEPulse 公众号(微信搜索 FEPulse,精选国内外最新前端资讯,为你把握前端脉搏). Github Actions 是 GitHub Universe 大会上发布的,被 Githu ...

最新文章

  1. 制胜人工智能时代——企业人工智能应用现状分析(第三版)
  2. OTA江湖浪潮再起,世界邦的出境定制自由行之路难以亨通?
  3. Nutch2.4 存储方式配置
  4. java适配器模式应用_java笔记--适配器模式的运用
  5. c winform 上传文件到mysql_C# winform DevExpress上传图片到数据库【转】
  6. BMVC2018图像检索论文—使用区域注意力网络改进R-MAC方法
  7. window 下的mysql_Window下mysql的安装
  8. php无法创建cookie,php cookie无法正常工作
  9. 线程同步---互斥锁和读写锁
  10. 数学建模大赛考什么计算机基础知识,华为杯数学建模竞赛
  11. C语言之输出孪生素数
  12. 新浪新闻发布Z世代洞察报告:Z世代偏爱深入“吃瓜” 对元宇宙兴趣强烈
  13. Java 移除List中的元素,这玩意讲究!
  14. searchableSelect下拉框插件增加按拼音及首拼搜索
  15. 入门软件测试要学什么?软件测试技术学习教程分享
  16. [CTF] python的pip源更改及常用python库
  17. 物流软件全过程管理办法
  18. Code Project精彩系列(转)
  19. 如何申请注册邮箱?需要跟人工在线客服申请邮箱么?
  20. 今天碰到一个骗子QQ405336600

热门文章

  1. 树莓派入门教程 - 0 - 准备篇 - 0.2 树莓派SSH远程登陆,VNC远程桌面
  2. Java基础复习——访问权限
  3. 【语义分割】评价指标代码函数:np.sum()、np.nansum()、np.nanmean()、np.diag()、np.bincount()
  4. 这个寒假要大更新了!
  5. 教你如何在Mac上搭建自己的服务器——Nginx
  6. mysql完全卸载大全
  7. (转)用AGG实现高质量图形输出(二)
  8. 实时数据库介绍(转载)
  9. [PyTorch] 神经网络处理图像
  10. [Python] Ubuntu 安装/卸载 python