返回更新列表
新发布Jul 16, 2026

cicd-sensor vrules/v20260714-002

基于eBPF的运行时安全传感器,适用于CI/CD流水线。检测供应链攻击,记录进程血缘关系和文件访问,为GitHub Actions和GitLab CI/CD提供取证证据。

分享

🚧 预发布版本:积极开发中。 cicd-sensor 目前处于预发布阶段,正在积极开发中。非常欢迎反馈意见。

cicd-sensor logo

cicd-sensor

把它想象成 EDR,但专为 CI/CD 流水线设计。
面向 GitHub Actions 和 GitLab CI/CD 的开源、基于 eBPF 的运行时安全传感器。
完整文档

License Language Platform Open Source


演示

cicd-sensor GitHub Actions demo
示例:cicd-sensor 被添加到 GitHub Actions 工作流中。生成的报告可在 GitHub 作业摘要中查看。

cicd-sensor 的功能

当 CI/CD 作业中被攻陷的依赖项窃取你的云凭证并将其泄露时,你能发现吗?事后你是否有日志可供调查?cicd-sensor 是一个开源传感器,让每个团队都能对这两个问题给出肯定的回答。

检测: 利用进程血缘关系(例如,从 npm install 派生的进程进行凭证访问)以及跨信号关联(例如,单个作业中读取多个凭证类别),在运行时检测供应链攻击。基线规则针对真实 CI/CD 攻击中观察到的模式,并且默认开启:如果你只需要下面的日志和证据,可以将其关闭。

日志与证据: 每次运行,cicd-sensor 都可以发出日志,用于审查、告警和取证,并通过 cicd-sensor Manager 路由到 S3、GCS 和 Pub/Sub 等云存储目标。cicd-sensor-action 还可以为每次运行生成图形化报告和构建证明。你的数据始终由你掌控。cicd-sensor 绝不会向 cicd-sensor 项目运营的服务器发送任何数据。

快速开始

在 GitHub 托管的运行器上,将 cicd-sensor action 添加为工作流的第一步。

jobs:
  build:
    runs-on: ubuntu-24.04
    steps:
      - uses: cicd-sensor/cicd-sensor-action@6511eb44c91d71b2b93d71193b1bf2cb18352f66 # v0.0.38

对于自托管的 GitHub Actions 或 GitLab CI/CD,请参阅用户指南

为什么 CI/CD 运行时需要这个

CI/CD 流水线负责构建、发布、部署和管理云基础设施,并且它们持有完成这些任务所需的云凭证、签名密钥和注册表令牌。供应链攻击者在这些作业内部运行,并在作业结束时带着证据消失。

大多数其他运行时都有其开源守护者:Falco、Tetragon、Tracee、Wazuh、OSQuery。而 CI/CD 运行时的开源覆盖一直滞后。Sigstore 证明了工件是在哪里以及如何构建的;cicd-sensor 则保留了实际运行了什么,以便团队能够检测、响应和审计。

功能对比

能力cicd-sensorHarden-Runner(免费版)备注
许可与部署
开源✅ 是✅ 是
数据隐私✅ 自托管SaaS 后端cicd-sensor 完全在你的基础设施中运行,因此日志和事件保留在你的环境中。
平台覆盖
私有仓库✅ 是❌ 否
自托管运行器✅ 是❌ 否强制使用自托管运行器可以在整个组织范围内收集每个作业的日志。
GitHub Actions 支持✅ 是✅ 是
GitLab CI/CD 支持✅ 是❌ 否
能力
检测规则✅ 是✅ 是
灵活的自定义规则✅ 是🔶 有限cicd-sensor 规则涵盖进程血缘关系、文件访问以及跨信号关联;Harden-Runner 主要是一个网络出口白名单。
网络阻断🔶 部分✅ 是cicd-sensor 在检测到威胁时会终止进程并停止作业,而不是像防火墙那样过滤流量。
日志导出✅ 是❌ 否

此表比较的是 Harden-Runner 的免费版本。StepSecurity 的付费平台提供了更多功能,例如私有仓库和自托管运行器支持、仪表板以及策略管理。

基于截至 2026 年 5 月的公开信息。欢迎指正。

第三方服务

GMO Flatt Security 的 Takumi Runner 充当托管的 cicd-sensor Manager,并在收集到的日志之上添加其自身的威胁检测和追踪分析。有关设置,请参阅其集成指南(英文 / 日文)。这是一个独立的商业产品,cicd-sensor 无需它也能正常工作。

cicd-sensor 是一个供应商中立型开源项目:它可以独立运行,并且它所对接的任何 Manager 都是你选择运行的。其他供应商和服务同样欢迎与 cicd-sensor 集成。

当 cicd-sensor 指向第三方托管的 Manager 时,它收集的日志和事件将被发送到该供应商的服务。

支持的 CI/CD 流水线

平台环境状态
GitHub ActionsGitHub 托管运行器✅ 支持
GitHub Actions机器上的自托管运行器✅ 支持
GitHub ActionsKubernetes 上的 Actions Runner Controller🧪 预览支持
GitLab CI/CDGitLab Runner Docker executor✅ 支持
GitLab CI/CDGitLab Runner Kubernetes executor🧪 预览支持
GitLab CI/CDGitLab 托管运行器❌ 不支持(技术限制)

适用于公共和私有仓库,且不依赖任何第三方 SaaS。

Linux 内核:amd64 架构需 5.15 或更高版本,arm64 架构需 6.1 或更高版本。

规则

cicd-sensor 附带一组基线规则。有关其工作原理,请参阅基线规则指南;规则定义本身位于 rules/ 目录中。你也可以编写自己的规则,或者完全关闭基线规则。

文档

  • 入门指南:cicd-sensor 是什么以及如何开始使用。
  • 用户指南:GitHub Actions 和 GitLab CI/CD 的部署路径。
  • 规则:编写检测、收集和关联规则。
  • 日志:Manager 交付的日志格式。
  • 证明谓词:用于 CI/CD 运行时证据的运行时追踪谓词。
  • 开发者指南:agent、eBPF 运行时、Manager 和规则引擎的内部原理。

关于项目

[!NOTE] 关于创建者: cicd-sensor 是一个供应商中立型开源项目,由 Hiroki Suezawa (@rung) 创建并维护。他是 CI/CD 流水线通用威胁矩阵的作者、OWASP CI/CD 安全风险 Top 10的贡献者,以及 OSC&R / pbom.dev 的早期贡献者。cicd-sensor 最初是一个个人项目,旨在贴近那些正遭受供应链攻击的开源社区。

一个只读的官方镜像发布在 gitlab.com/cicd-sensor/cicd-sensor。GitHub 是权威来源;GitLab 镜像会定期同步。

许可证

Apache License 2.0(LICENSE)。internal/agent/bpf/ 下的 BPF 源码采用双重许可 GPL-2.0-only OR BSD-2-Clause详情)。

分类