Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
smokedmeat — ビルドパイプラインのセキュリティリスクを実証するためのCI/CDレッドチームフレームワーク | Kitploit
ツール/GitHubGitHub/boostsecurityio/smokedmeat
ペネトレーションテストフレームワーク特権昇格エクスプロイトフレームワーク脆弱性分析横移動ポストエクスプロイトクラウドセキュリティコマンド&コントロールシークレット検出サプライチェーンセキュリティ学習と教育レッドチーミング
3732841ヶ月前Kitploit レビュー済み
GitHubboostsecurityio/smokedmeat

smokedmeat

ビルドパイプラインのセキュリティリスクを実証するためのCI/CDレッドチームフレームワーク

リポジトリを見る

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

SmokedMeat

License: AGPL v3

CI/CD レッドチームフレームワーク

Metasploit のようなものだが、CI/CD パイプライン向け。

BoostSecurity Labs の poutine Build Pipeline SAST スキャナーの開発者による。

SmokedMeat quickstart demo


警告: このツールは許可されたセキュリティテストのみに使用してください。

SmokedMeat は、CI/CD パイプラインの脅威が深刻に過小評価されているために存在します。従来のセキュリティトレーニングではサプライチェーン攻撃をほとんどカバーしておらず、攻撃者が実際に悪用する手法に対する防御側の準備が不十分です。

私たちは、セキュリティチームが現実的なレッドチーム演習を通じて、高度な CI/CD 攻撃手法に対する防御を学び、実践し、検証できるようにするためにこれを構築しました。

所有しているシステム、または明示的な書面による許可を得たシステムに対してのみ使用してください。


SmokedMeat とは

SmokedMeat は CI/CD パイプライン向けのポストエクスプロイテーションフレームワークです。GitHub 組織を指定し、脆弱なワークフローを見つけ、侵害されたランナーにインプラントを展開し、クラウドプロバイダーを介してピボットし、シークレットを抽出し、ブラスト半径をマッピングします – すべてターミナル UI から。

機能:

  1. 分析 – 組織の GitHub Actions ワークフローをスキャンし、インジェクションの脆弱性、危険なトリガー、安全でないチェックアウトパターンを検出(poutine 搭載)
  2. 悪用 – PR、Issue、コメント、ワークフロー dispatch を介してステージャーを展開。脆弱なワークフローが実行されると、CI ランナー上でインプラントをダウンロードし実行
  3. ポストエクスプロイト – ランナーメモリからシークレットを抽出、GitHub トークンの権限を列挙、秘密鍵をスキャン、戦利品を収集
  4. ピボット – 取得した認証情報を使用して横方向に移動: プライベートリポジトリの発見、GitHub App トークンの生成、OIDC トークンを AWS/GCP/Azure アクセスに交換、SSH デプロイキーのプローブ

哲学: 大胆で騒がしい。これは EDR 回避ツールではありません。CI/CD 侵害がアラートをトリガーする前にどこまで深く進むかを示すデモンストレーションフレームワークです。

対象者:

  • エンタープライズ環境で CI/CD セキュリティ態勢を検証するレッドチーム
  • ステークホルダーにサプライチェーン攻撃パスをデモするペンテスター
  • パイプライン攻撃に対する検出と対応をテストするセキュリティエンジニア
  • 新しい CI/CD エクスプロイト技術を開発する研究者
  • サプライチェーン攻撃面を調査するバグバウンティハンター

クイックスタート

SmokedMeat を初めて試すには、Docker と make をインストールしてください。Go は不要です。

root@kitploit:~
git clone https://github.com/boostsecurityio/smokedmeat.git
cd smokedmeat
make quickstart

make quickstart が推奨される初回実行です。安定版リリースのクイックスタートスタックをローカルで起動し、オペレーター TUI (Counter) をローカルの C2 チームサーバー (Kitchen) に対して起動します。

推奨される初回実行:

  • ターゲット: whooli
  • トークン: public_repo スコープのクラシック PAT

⚠ クラシック PAT を推奨します。細粒度 PAT は制限が強すぎる場合があり、whooli を含む他の組織の公開ターゲットのテストをブロックする可能性があります。

whooli は SmokedMeat の意図的に脆弱な CI/CD 攻撃プレイグラウンドです。公開パスでの初回ターゲットとして推奨されます。

セットアップウィザードでは以下の手順を実行します:

  1. GitHub PAT – トークンを入力。プライベートリポジトリの場合、クラシック PAT には通常 repo スコープが必要です。
  2. ターゲット – whooli または独自の組織/リポジトリを入力
  3. 分析 – ワークフローをスキャンして脆弱性を検出し、悪用可能な結果を表示

完全なチャレンジフローについては、whooli ガイド を参照するか、whooli GitHub 組織 に直接アクセスしてください。

終了したら:

root@kitploit:~
make quickstart-down       # コンテナを停止
make quickstart-purge      # 停止して全データを削除

代わりにソースから作業する場合は、開発 を参照してください。

開発

ソースツリーに貢献またはローカルで反復する場合は、Go 1.26+ をインストールし、開発用クイックスタートを使用してください:

root@kitploit:~
make dev-quickstart

make dev-quickstart はローカルの smokedmeat-cloud-shell イメージをビルドし、cloudflared、nats、C2 チームサーバー (Kitchen) を起動し、ソースからオペレーター TUI を起動します。

インフラを先に起動し、オペレーター TUI は後で起動したい場合:

root@kitploit:~
make dev-quickstart-up
make dev-quickstart-counter

終了したら:

root@kitploit:~
make dev-quickstart-down   # コンテナを停止
make dev-quickstart-purge  # 停止して全データを削除

その他のデプロイモードとローカル開発の詳細については、docs/deployment.md を参照してください。

バージョンチェック

Counter は起動時に新しい SmokedMeat リリースをチェックします。SMOKEDMEAT_DISABLE_VERSION_CHECK 環境変数を設定することで無効にできます。

コアコンポーネント

標準用語SmokedMeat 名説明
オペレーター TUICounter分析、ペイロード配信、ポストエクスプロイトワークフローのためのターミナルインターフェース。
C2 チームサーバーKitchenオペレーターセッション、ステージャー、コールバック、グラフ状態のための API および WebSocket サーバー。
インプラントBrisket侵害された CI ランナーに配信されるエージェント。ビーコン、コマンド実行、ピボットに使用。
ブラウザグラフビューBrowser ViewC2 チームサーバーが /graph で提供するライブアタックグラフ。

デプロイモード

モード使用タイミングエントリポイント
クイックスタート固定リリースでの最速の初回実行make quickstart
開発クイックスタートローカルでソースツリーを操作make dev-quickstart
ホステッドチームサーバー安定したドメインでの実際のエンゲージメント実行docs/deployment.md

ホステッドチームサーバーは、C2 チームサーバーを専用ホストで実行し、オペレーター TUI を各オペレーターワークステーションでネイティブに実行します。

アーキテクチャ

高レベルでは、オペレーター TUI (Counter) が C2 チームサーバー (Kitchen) と通信し、Kitchen が侵害された CI ランナー上で動作するインプラント (Brisket) を管理し、ライブアタックグラフを提供します。

root@kitploit:~
┌──────────────┐
│  SSH AGENT   │
│   (Auth)     │
└──────┬───────┘
       │
       ▼
┌──────────────┐                 ┌──────────────┐
│  THE COUNTER │ ───────────────▶│  THE KITCHEN │
│  (Operator)  │    WebSocket    │ (Teamserver) │
│  Bubbletea   │◀─────────────── │              │
│     TUI      │   Events/Graph  │ ┌──────────┐ │
└──────────────┘                 │ │ Database │ │
                                 │ └──────────┘ │
┌──────────────┐                 │              │
│   BROWSER    │ ───────────────▶│              │
│  Graph View  │    WebSocket    │              │
│  Visualizer  │◀─────────────── │              │
└──────────────┘   Live Updates  └──────────────┘
                                   │         ▲
                                   │         │
                        Creates PR │         │ Stager fetches implant binary
                                   │         │ Implant HTTP Beacon/Commands
                                   ▼         │
┌────────────────────────────────────────────┴──────────────────────────────────┐
│  GITHUB.COM                                                                   │
│                                                                               │
│  ┌─────────────────────┐          ┌─────────────────────────────────────────┐ │
│  │  Malicious PR       │ triggers │  GitHub Actions Runner                  │ │
│  │  (Vulnerable        │─────────▶│                                         │ │
│  │   Workflow)         │          │  ┌────────────┐      ┌────────────────┐ │ │
│  └─────────────────────┘          │  │  Stager    │─────▶│  THE BRISKET   │ │ │
│                                   │  │            │      │  (Implant)     │ │ │
│                                   │  └────────────┘      └────────────────┘ │ │
│                                   └─────────────────────────────────────────┘ │
└───────────────────────────────────────────────────────────────────────────────┘

機能

詳細は docs/FEATURES.md を参照してください。

カテゴリ機能
偵察6つのCIプラットフォーム(GitHub Actions、GitLab CI、Azure DevOps、CircleCI、Jenkins、Bitbucket)を自動検出。シークレットの分類、OIDC利用可能性のプローブ、ランナーメタデータの収集。
シークレット抽出/proc 経由で Runner.Worker プロセスメモリをスキャンし、GitHubがログから隠す masking されていない secrets.*、vars.*、GITHUB_TOKEN 権限マップを復元。
脆弱性分析組み込み poutine SAST によるインジェクション脆弱性、危険なトリガー、ワークフロー if: ゲート分類。Gitleaks ディープスキャンによる git 履歴内の秘密鍵とPATの検出。
配信5つの自動化手法: PR、Issue、コメント、LOTP、ワークフローdispatch – さらにコピーのみと手動。下書きPRサポート、コールバック時の自動クローズ、サーバー側dispatch事前チェック。
インジェクションペイロード8つのインジェクションベクター(ブランチ名、PRタイトル/本文、コミットメッセージ、Issueタイトル/本文、github-script、bash run)向けのコンテキスト認識ペイロード生成。制約認識技術を使用。
LOTPLiving Off The Pipeline カタログ: 15のビルドツール(npm、pip、cargo、make、docker、gradle、mavenなど)と、インストール/ビルド/テスト中のコード実行のための設定ファイルペイロード。
キャッシュポイズニング書き手/被害者分類、正確なキャッシュキー予測、Actions Cache API 経由のアーカイブステージング。ウィザード駆動フローとインプラントアーミング。
トークン列挙GitHub トークンを API エンドポイントに対してプローブし、10の権限スコープを列挙、トークンタイプを識別、アクセス可能なリポジトリと組織をリスト化。
クラウドピボットOIDC トークン交換: AWS (sts:AssumeRoleWithWebIdentity)、GCP (Workload Identity Federation)、Azure (AAD)、Kubernetes。ピボット後のリソース列挙。
クラウドシェルcloud shell(事前設定済み gcloud/aws/az)、cloud export、プロバイダークイックチェックによる永続的なローカルセッション。
SSH ピボッティングリポジトリ内のSSHデプロイキーアクセス(読み取り/書き込み)のプローブ、ssh shell による一時エージェント、確認されたアクセスをグラフに永続化。
GitHub ピボッティングpivot github によるリポジトリ発見、pivot app によるGitHub App PEMからインストールトークン交換。発見されたリポジトリは自動的に分析キューへ。
アタックグラフ組織/リポジトリ/ワークフロー/ジョブ/脆弱性/トークン/クラウドのノードを持つ永続的有向グラフ(BBolt)。/graph でのライブ Cytoscape.js ブラウザ可視化。
オペレーターTUIフェーズ認識ワークフロー、7ステップセットアップウィザード、アタックツリーナビゲーション、エクスプロイトウィザード、戦利品ストレージ、オムニボックス検索、タブ補完、OSC 8 ハイパーリンク。

技術スタック

レイヤー技術
言語Go 1.26+
TUI フレームワークBubbletea v2 + Lipgloss v2
TUI レイアウトUltraviolet レイアウト + ANSIセーフスクリーン合成
メッセージバスNATS JetStream
アタックグラフhmdsefi/gograph
グラフ可視化Cytoscape.js
データベースBBolt
CI/CD スキャナーpoutine (組み込み)
シークレットスキャナーgitleaks (組み込み、カスタムルール)
ランナーシークレット抽出gump (組み込み、/proc メモリスキャン)
クラウド SDKAWS SDK v2、Google Cloud、Azure SDK for Go
リバースプロキシCaddy (自動TLS)

テスト

root@kitploit:~
make test          # 単体テスト
make lint          # リンター
make e2e-smoke     # 高速な公開エクスプロイトスモークパス
make e2e-goat      # クラウドフラグまでの完全なヤギチェーン

先行研究

SmokedMeat は以下の研究に基づいています:

  • poutine – Build Pipeline SAST スキャナー
  • LOTP – Living Off The Pipeline 技術
  • Gato-X – GitHub Actions 列挙
  • Nord-Stream – CI/CD シークレット抽出
  • Sliver – Go C2 アーキテクチャパターン
  • Mythic – コラボレーティブワークフローデザイン

ライセンス

GNU Affero General Public License v3.0 – 詳細は LICENSE を参照してください。


攻撃者の手法を理解したい防御者のために構築されました。

ツールをダウンロード
チームサーバーSSH またはトークン認証、NATS JetStream メッセージバス、GitHub API プロキシ(トークンはサーバー側に保持)、Caddy による自動TLS、操作履歴。