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

DeepSeek-Reasonix:永不停止思考的终端AI代理DeepSeek-Reasonix 是 GitHub 上一个全新的开源项目,已迅速获得超过 1,700 颗星标,并以每日 333 颗的速度增长,显示出开发者对其浓厚的兴趣。该代理专为 DeepSeek 模型系列构建,利用一种称为“前缀缓存稳Octokit GraphQL.js:GitHub API 效率与开发者工作流的无名英雄Octokit GraphQL.js 是由 Octokit 团队维护的 GitHub 官方 GraphQL API 客户端,它已悄然成为那些需要以编程方式与 GitHub 海量数据集交互的开发者的基石。与基于 REST 的替代方案不同,GrGitHub GraphQL Schema 开源:API 可靠性与开发者工具链的官方蓝图由 GitHub 维护的 octokit/graphql-schema 仓库远非一份静态的 Schema 转储——它是整个 GitHub GraphQL API 的活体自动化验证层。通过每日 CI/CD 流水线更新,该仓库提供的 Schem查看来源专题页GitHub 已收录 1782 篇文章

时间归档

May 20261444 篇已发布文章

延伸阅读

管道中的幽灵:为何被遗弃的 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 环境,大幅降低了实施强健制品验证的门槛,将复杂的安Stale Action:GitHub 仓库清理的静默革命GitHub 官方推出的 actions/stale Action 正悄然改变着开源与企业仓库的积压管理方式。这篇深度解析将揭示其技术原理、采用模式以及自动化议题与 PR 清理的战略意义。tibdex/github-app-token:GitHub Actions CI/CD认证的轻量级革命一款名为tibdex/github-app-token的新GitHub Action,通过自动化GitHub App身份模拟生成临时令牌,正在简化CI/CD工作流程。这个轻量级工具消除了手动管理私钥的需求,实现了直接从Actions进行安全

常见问题

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,这说明它在开源社区具有较强讨论度和扩散能力。