Harden-Runner:为GitHub Actions量身打造的EDR,彻底改写CI/CD安全规则

GitHub May 2026
⭐ 1141
来源:GitHub归档:May 2026
Step Security推出的Harden-Runner,将端点检测与响应(EDR)能力直接注入GitHub Actions运行器,实时监控网络出口、文件完整性与进程活动。这款开源工具已在GitHub上收获超过1100颗星,正迅速成为开发团队在不颠覆现有工作流的前提下,将安全内嵌至CI/CD管道的首选方案。

Harden-Runner是一款CI/CD安全代理,本质上是为GitHub Actions运行器量身定制的EDR系统。它聚焦三大关键监控维度:网络出口(所有出站连接)、文件完整性(关键文件的变更)以及进程活动(可疑二进制文件的执行)。该代理以GitHub Action步骤的形式运行,在Linux运行器上通过eBPF(扩展的伯克利数据包过滤器)拦截系统调用与网络流量,在Windows和macOS上则借助内核级钩子实现。它能够实时检测威胁——如数据泄露、挖矿程序或被篡改的依赖项——并在恶意行为造成破坏前予以阻断。该项目由Step Security开发,已在GitHub上累计超过1100颗星,正被那些处理敏感代码或高度依赖CI/CD安全性的团队广泛采用。

技术深度解析

Harden-Runner以轻量级内核级安全代理的形式运作。在Linux运行器上,它利用eBPF(扩展的伯克利数据包过滤器)来挂钩与网络相关的系统调用(`connect`、`sendto`、`recvfrom`)、文件操作(`open`、`write`、`unlink`)以及进程创建(`execve`、`fork`)。eBPF使得代理无需修改内核或引入显著的性能开销(通常每个运行器的CPU占用率低于5%)即可检查事件。在Windows和macOS上,它则使用等效的内核回调和进程监控API。

该代理的架构分为三个核心模块:

1. 网络出口监控器:捕获所有出站连接,包括DNS查询、HTTP/HTTPS请求以及原始TCP/UDP流量。它维护一份允许访问的目标白名单(例如,`pypi.org`、`npmjs.com`、`github.com`等包注册中心),并对任何意外的出口流量进行标记或阻断。这对于检测数据泄露或与命令与控制服务器的通信至关重要。

2. 文件完整性监控器:追踪对敏感文件(如`.env`、`credentials.json`、SSH密钥和构建产物)的更改。它使用inotify(Linux)或文件系统监视器(Windows/macOS)来检测写入、删除或权限变更。如果某个进程以预期之外的方式修改了受保护文件,则会触发警报。

3. 进程活动监控器:记录所有进程创建事件,包括父子关系、命令行参数和二进制文件哈希值。它将哈希值与已知的良好数据库(例如VirusTotal、Step Security自身的威胁情报)进行比对,并标记可疑的二进制文件,如挖矿程序、反向Shell或凭证窃取器。

所有事件都会流式传输至Step Security的云端后端进行分析,但该代理也支持仅本地模式,适用于气隙环境。检测引擎结合了基于签名的规则(用于已知恶意软件)和行为启发式分析(用于零日威胁)。例如,如果某个构建脚本突然开始向非标准IP范围发起出站连接,代理将升级警报级别。

性能基准测试来自Step Security的公开文档,显示其开销极小:

| 工作负载类型 | 无Harden-Runner | 有Harden-Runner | 开销 |
|---|---|---|---|
| npm install (100个包) | 12.3秒 | 12.8秒 | +4.1% |
| Docker构建 (中型镜像) | 45.2秒 | 46.1秒 | +2.0% |
| Python测试套件 (1000个测试) | 8.1秒 | 8.4秒 | +3.7% |
| Go编译 (大型项目) | 22.5秒 | 23.0秒 | +2.2% |

数据要点: 开销始终低于5%,这使得Harden-Runner适用于生产环境的CI/CD管道,而不会带来明显的性能下降。基于eBPF的方法在Linux上尤为高效,而Windows/macOS的钩子由于内核回调的开销,会引入稍多的延迟。

开源仓库(GitHub上的`step-security/harden-runner`)开发活跃,已获得超过1100颗星和50多个分支。代码库中,代理部分使用Go编写,GitHub Action包装器则使用TypeScript。截至2025年5月的最新提交已增加了对自定义白名单、通过Syslog与SIEM工具集成,以及一种仅记录而不阻断的新的“审计模式”的支持。

关键参与者与案例研究

Step Security是Harden-Runner背后的公司。由拥有云安全和DevSecOps背景的安全研究人员创立,Step Security还提供一个商业SaaS平台,提供集中策略管理、威胁情报源和合规报告。开源代理对公共仓库免费,而私有仓库和企业级功能则需要付费订阅。

竞品方案包括:

- GitHub自身的安全功能:GitHub提供Dependabot用于依赖扫描、密钥扫描和代码扫描(CodeQL)。然而,这些是静态或预运行时的检查——它们不监控运行器上的运行时行为。
- Aqua Security的Trivy:主要是一个针对容器和文件系统的漏洞扫描器,并非用于CI/CD的运行时EDR。
- Sysdig Secure:提供容器的运行时安全,但专为生产环境设计,而非临时的CI运行器。
- Falco:一个开源的运行时安全工具,可以监控系统调用,但需要大量配置,且并非专为GitHub Actions构建。

| 特性 | Harden-Runner | GitHub原生 | Sysdig Secure | Falco |
|---|---|---|---|---|
| 网络出口监控 | 是(实时) | 否 | 是(容器级别) | 是(系统调用级别) |
| 文件完整性监控 | 是 | 否 | 是(有限) | 是(需规则) |
| 进程活动监控 | 是 | 否 | 是 | 是 |
| GitHub Actions集成 | 原生Action步骤 | 内置 | 需自定义设置 | 需自定义设置 |
| 开源 | 是(代理) | 否 | 否 | 是 |
| 性能开销 | <5% | 不适用 | 5-15% | 10-20% |

数据要点: Harden-Runner占据了一个独特的利基市场,它是一个专为GitHub Actions构建、低开销的EDR解决方案,填补了现有工具在CI/CD运行时安全方面的空白。

更多来自 GitHub

Azure SCI框架:专为云工作负载碳强度测量打造的开源Python工具开源项目`yelghali/azure-sci-framework`是绿色软件基金会(GSF)Impact Engine框架(IEF)的Python实现,专为Microsoft Azure量身定制。IEF提供了一套标准化方法论,用于计算应用学习Bevy:用《吸血鬼幸存者》克隆项目教你用Rust做游戏开发learning-bevy仓库(gnmoseke/learning-bevy)是一个完全基于Bevy引擎构建的《吸血鬼幸存者》风格游戏完整实现。它复刻了核心玩法机制:自动攻击、敌人波次、升级系统与技能树。该项目明确设计为Bevy的学习资源,Axum-Params:受Rails启发的Rust库,重塑Web参数处理范式Rust生态系统长期以来缺乏针对Web框架的成熟参数处理方案。尽管Actix-web和Axum等框架提供了基础提取能力,但开发者仍需手动合并来自多个来源(查询字符串、表单数据、JSON体)的参数,并单独处理文件上传。cpunion/axum查看来源专题页GitHub 已收录 3144 篇文章

时间归档

May 20263028 篇已发布文章

延伸阅读

Zizmor:专治GitHub Actions安全顽疾的静态分析利器一款名为Zizmor的开源静态分析工具正迅速走红,它能自动检测GitHub Actions工作流中的安全漏洞与配置错误。上线数日即斩获近5000颗GitHub星标,这款工具将代码级安全审查带入了长期被忽视的CI/CD管道YAML文件领域。GitHub Actions Attest:CI/CD供应链安全缺失的那一环GitHub Actions 推出原生工件证明操作,利用 OIDC 实现无需密钥管理的防篡改溯源。此举填补了 CI/CD 安全栈的关键空白,但也引发了对自托管运行器支持及生态锁定的质疑。管道中的幽灵:为何被遗弃的 GitHub Action 如 action-slack 正威胁 CI/CD 安全一款曾广受欢迎的 Slack 通知用 GitHub Action——action-slack,已被其维护者彻底遗弃。AINews 深入剖析无人维护的 CI/CD 组件所潜藏的安全漏洞与管道脆弱性,并为 DevOps 团队提供审计依赖项的路线Cosign GitHub Action:如何为 DevOps 自动化软件供应链安全sigstore/cosign-installer GitHub Action 正成为自动化软件供应链安全的关键枢纽。它将 Cosign 的加密签名能力无缝集成至 GitHub CI/CD 环境,大幅降低了实施强健制品验证的门槛,将复杂的安

常见问题

GitHub 热点“Harden-Runner: The EDR for GitHub Actions That Changes CI/CD Security Forever”主要讲了什么?

Harden-Runner is a CI/CD security agent that functions as an EDR for GitHub Actions runners. It monitors three critical vectors: network egress (all outbound connections), file int…

这个 GitHub 项目在“Harden-Runner vs Falco for GitHub Actions security”上为什么会引发关注?

Harden-Runner operates as a lightweight kernel-level security agent. On Linux runners, it leverages eBPF (extended Berkeley Packet Filter) to hook system calls related to networking (connect, sendto, recvfrom), file oper…

从“How to set up Harden-Runner with private GitHub repositories”看,这个 GitHub 项目的热度表现如何?

当前相关 GitHub 项目总星标约为 1141,近一日增长约为 0,这说明它在开源社区具有较强讨论度和扩散能力。