
cicd-sensor vrules/v20260714-002
eBPFを活用したCI/CDパイプライン向けランタイムセキュリティセンサー。サプライチェーン攻撃を検出し、プロセスの祖先とファイルアクセスを記録、GitHub ActionsおよびGitLab CI/CDのフォレンジック証拠を提供します。
🚧 プレリリース版: 開発進行中。 cicd-sensor は現在プレリリース版であり、活発に開発が進められています。フィードバックを歓迎します。
cicd-sensor
CI/CDパイプライン向けのEDRと考えてください。
GitHub Actions と GitLab CI/CD 向けのオープンソース eBPF ベースのランタイムセキュリティセンサー。
→ 完全なドキュメント
デモ
|
cicd-sensor が行うこと
CI/CD ジョブ内で侵害された依存関係がクラウド認証情報を盗み出して漏えいさせた場合、あなたはそれを検知できるでしょうか? その後の調査に使えるログはあるでしょうか? cicd-sensor は、すべてのチームがその両方に答えられるようにするオープンソースのセンサーです。
検知: プロセスの祖先関係(例: npm install から派生したプロセスによる認証情報へのアクセス)とシグナル間の相関(例: 1つのジョブで複数の認証情報カテゴリが読み取られる)を使用して、ランタイム時にサプライチェーン攻撃を検知します。ベースラインルールは実際の 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-sensor | Harden-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 はベンダーニュートラルなオープンソースプロジェクトです。単独で動作し、通信するマネージャーはユーザーが実行することを選択したものです。他のベンダーやサービスも cicd-sensor との統合を歓迎します。
cicd-sensor がサードパーティのホスト型マネージャーを指すように設定されている場合、収集されたログとイベントはそのベンダーのサービスに送信されます。
サポートされている CI/CD パイプライン
| プラットフォーム | 環境 | ステータス |
|---|---|---|
| GitHub Actions | GitHub ホストランナー | ✅ サポート |
| GitHub Actions | マシン上のセルフホストランナー | ✅ サポート |
| GitHub Actions | Kubernetes 上の Actions Runner Controller | 🧪 プレビューサポート |
| GitLab CI/CD | GitLab Runner Docker executor | ✅ サポート |
| GitLab CI/CD | GitLab Runner Kubernetes executor | 🧪 プレビューサポート |
| GitLab CI/CD | GitLab ホストランナー | ❌ 非サポート(技術的制約) |
パブリックリポジトリとプライベートリポジトリの両方で動作し、サードパーティの SaaS 依存関係はありません。
Linux カーネル: amd64 では 5.15 以降、arm64 では 6.1 以降。
ルール
cicd-sensor には一連のベースラインルールが同梱されています。それらの仕組みについてはベースラインルールガイドを参照してください。ルール定義自体は rules/ にあります。独自のルールを作成したり、ベースラインを完全にオフにしたりすることもできます。
ドキュメント
- はじめに: cicd-sensor とは何か、そして開始方法。
- ユーザーガイド: GitHub Actions と GitLab CI/CD のデプロイパス。
- ルール: 検知、収集、相関ルールの作成。
- ロギング: マネージャーが配信するログ形式。
- 証明書述語: CI/CD ランタイム証拠のためのランタイムトレース述語。
- 開発者ガイド: エージェント、eBPF ランタイム、マネージャー、ルールエンジンの内部構造。
プロジェクトについて
[!NOTE] 作成者について: cicd-sensor はベンダーニュートラルなオープンソースプロジェクトであり、Common Threat Matrix for CI/CD Pipeline の著者、OWASP Top 10 CI/CD Security Risks の貢献者、OSC&R / pbom.dev の初期貢献者である Hiroki Suezawa (@rung) によって作成・保守されています。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 のデュアルライセンスです(詳細)。