メインコンテンツまでスキップ

Takumi Runner 機能を提供開始

· 約4分
Takashi Yoneuchi
CTO @ GMO Flatt Security Inc.

Takumi Runner は、GitHub Actions のワークフローをセキュアに実行するためのランナーサービスです。

ワークフローファイルの runs-on を 1 行変更するだけで、eBPF によるプロセス・ネットワーク・ファイル操作のトレース収集が自動的に有効になります。

Takumi Runner 機能を提供開始

背景

AI がコード生成からテスト・デプロイまでを担う時代において、CI/CD パイプラインはソフトウェア開発の中核を占める存在になりつつあります。コードの品質保証やリリースの最終ゲートとして CI/CD が果たす役割が大きくなるほど、攻撃者にとってもそこを狙う価値は高まります。

しかし、CI/CD パイプラインの内部で実際に何が起きているかは、多くの組織にとってブラックボックスです。悪意のある依存パッケージや改ざんされた GitHub Actions がビルド中に実行されたとしても、通常のランナーではその痕跡を追うことが困難です。

Takumi Runner は、ワークフロー実行中のすべてのシステムコールを記録することで、CI/CD パイプラインの可視性を確保します。

必要な変更は 1 行だけ

既存のワークフローファイルの runs-ontakumi-runner に変更するだけで利用を開始できます。

jobs:
build:
# 変更前: runs-on: ubuntu-latest
runs-on: takumi-runner
steps:
- uses: actions/checkout@v4
- run: npm install
- run: npm test

ワークフローの書き方やステップの実行方法は、GitHub ホストランナーとまったく同じです。ubuntu-latest 互換の実行環境を提供しているため、既存のワークフローをそのまま利用できます。

取得できるデータ

ワークフローの実行が完了すると、Shisho Cloud コンソールのジョブ詳細画面からトレースデータを確認できます。

概要

概要タブでは、プロセス実行・ネットワーク接続・ファイルアクセスの件数がサマリとして表示されます。どのコマンドが何回実行されたか、何件の外部ホストに接続したか、といった全体像をひと目で把握できます。

ジョブ概要

プロセスログ

プロセスタブでは、ワークフロー中に実行されたすべてのプロセスをツリー形式で確認できます。各プロセスの実行コマンド・引数・親子関係が記録されており、どのステップでどのバイナリが起動されたかを正確に追跡できます。

プロセスログ

ネットワーク可視化

ネットワークタブでは、ワークフロー中に発生したすべてのネットワーク接続を関係図として表示します。外部サービス・GitHub インフラ・パッケージレジストリ・Runner インフラへの接続がカテゴリ別に整理され、想定外の通信先がないかを視覚的に確認できます。

ネットワーク関係図

SQL クエリ

クエリタブでは、トレースデータに対して SQL(DuckDB)を直接実行できます。たとえば「npm install 中に外部ホストへ接続したプロセスだけを抽出する」「特定のファイルパスへの書き込みを検索する」といった自由な分析が可能です。生データの JSONL ダウンロードにも対応しています。

トレースクエリ

利用開始方法

Shisho Cloud コンソールから Runner 機能を有効にし、GitHub App をインストールしてください。セットアップウィザードに沿って数分で完了します。

▼ ユーザーガイド: Takumi Runner