Repolode
step-security

step-security/harden-runner

面向 GitHub Actions runner 的 CI/CD 安全代理,监控出站网络、文件写入和进程行为,用于发现供应链攻击。

Star
1,289
Fork
120
未关闭 Issue
54
最近提交
3天前

这是什么?

Harden-Runner 是一个运行在 CI/CD 任务中的安全代理,为 GitHub Actions runner 提供类似终端检测响应(EDR)的监控能力。它记录任务中的出站网络连接、文件写入和进程执行,并将每个事件关联到对应的步骤、任务和工作流。这类临时构建环境常常持有密钥并产出生产构建物,却缺少其他关键系统所具备的安全监控。

代理会为每个任务建立出站连接基线,发现基线之外的新目标时发出检测。社区版还支持基于域名白名单限制出站流量,并启用由 StepSecurity 维护、针对活跃供应链攻击的全局拦截列表。Linux runner 支持完整功能,Windows 和 macOS runner 仅支持审计模式。

自托管 runner、私有仓库、集中式策略管理以及告警与 SIEM 集成等功能需要付费的企业版。公开仓库在 GitHub 托管 runner 上可免费使用社区版功能。

核心功能

  • 01将每条出站网络连接、文件写入和进程执行关联到对应的工作流步骤。
  • 02为每个任务建立出站连接基线,并对新出现的目标发出检测。
  • 03在阻断模式下通过域名白名单限制出站流量。
  • 04应用与活跃供应链攻击相关的全局域名和 IP 拦截列表。
  • 05支持 Linux、Windows 和 macOS 的 GitHub 托管 runner,阻断模式仅限 Linux。
  • 06企业版支持自托管 runner,包括 ARC。

适用场景

  • 发现在构建过程中窃取密钥的第三方 GitHub Actions。
  • 在收紧出站规则前,审计 CI 流水线会访问哪些外部主机。
  • 监控向用户发布构建产物的开源项目构建流水线。
  • 将 GITHUB_TOKEN 权限缩减到工作流所需的最小范围。

快速上手

  1. 1

    在 GitHub Actions 工作流文件的每个作业中,将 Harden-Runner 步骤添加为第一步

  2. 2

    运行工作流,然后打开作业日志中的链接,查看网络和文件事件

使用前须知

  • 免费的社区版仅适用于 GitHub 托管运行器上的公共仓库。
  • 私有仓库和自托管运行器需要付费的企业版订阅。
  • 它仅适用于 GitHub Actions 工作流,不支持其他 CI/CD 系统。

收录于专题

标签

常见问题

harden-runner 是什么?
面向 GitHub Actions runner 的 CI/CD 安全代理,监控出站网络、文件写入和进程行为,用于发现供应链攻击。 Harden-Runner 是一个运行在 CI/CD 任务中的安全代理,为 GitHub Actions runner 提供类似终端检测响应(EDR)的监控能力。它记录任务中的出站网络连接、文件写入和进程执行,并将每个事件关联到对应的步骤、任务和工作流。这类临时构建环境常常持有密钥并产出生产构建物,却缺少其他关键系统所具备的安全监控。
harden-runner 可以免费使用吗?用的什么许可证?
harden-runner 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
harden-runner 还在维护吗?
活跃维护中。harden-runner 最近一次提交是在 2026年10月19日。
harden-runner 适合用来做什么?
发现在构建过程中窃取密钥的第三方 GitHub Actions。 在收紧出站规则前,审计 CI 流水线会访问哪些外部主机。 监控向用户发布构建产物的开源项目构建流水线。 将 GITHUB_TOKEN 权限缩减到工作流所需的最小范围。
harden-runner 怎么安装和运行?
在 GitHub Actions 工作流文件的每个作业中,将 Harden-Runner 步骤添加为第一步 运行工作流,然后打开作业日志中的链接,查看网络和文件事件
在哪里获取 harden-runner?
源代码和安装说明在 GitHub 上:https://github.com/step-security/harden-runner

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目