
InfraGuard は、Command & Control リダイレクション プロキシおよびマネージャーであり、あなたの Red Team インフラストラクチャを脅威の帰属から保護します。

レッドチームインフラトラッカーおよび C2 リダイレクター -- [RedWarden](https://github.com/mgeeky/RedWarden) のモダンな代替。
InfraGuard はインターネットとあなたの C2 チームサーバーの間に位置し、すべての受信リクエストを可変 C2 プロファイルに対して検証し、適合しないものをブロックします。スキャナー、ボット、ブルーチームのプローブはデコイサイトにリダイレクトされ、正規のビーコン通信はチームサーバーへ通過します。


## アーキテクチャ

## 機能
### プロキシとリスナー
- **マルチドメインプロキシ** -- 複数のドメインを同時にプロキシし、それぞれが独立した C2 プロファイル、アップストリーム、ルールを持つ
- **マルチプロトコルリスナー** -- HTTP/HTTPS、HTTP/3 (QUIC)、WebSocket、gRPC、DNS、MQTT、TCP トンネルリスナーが同時に動作し、IP インテリジェンスとイベント追跡を共有
- **サーキットブレーカー** -- アップストリームごとの障害保護を closed/open/half-open 状態で提供。バックエンドに到達できない場合はドメインのドロップアクションにフォールスルー
- **プロトコルフェイルオーバー** -- 優先度でランク付けされたリスナープロトコル間での自動フェイルオーバーとフェイルバック
### C2 プロファイルサポート
- **C2 プロファイル検証** -- Cobalt Strike、Mythic、Brute Ratel C4、Sliver、Havoc、Nighthawk、PoshC2 プロファイルをリダイレクタールールとして解析・適用
- **ホットスワップ可能なプロファイル** -- プロキシを再起動せずにダッシュボードから実行時にドメインのアクティブ C2 プロファイルを交換
- **プロファイル生成ウィザード** -- ガイド付きフォームで 8 種類すべてのサポートタイプの新しい C2 プロファイルをゼロから生成、または既存プロファイルを自動タイプ検出と検証付きでインポート・アップロード
- **AI 支援プロファイル生成** -- オプションの Ollama 統合により、プロファイル作成の支援と OPSEC アドバイスのためのチャットパネルをダッシュボードに提供
### フィルターパイプライン
- **スコアリングベースのフィルターパイプライン** -- 10 個のフィルターがそれぞれ 0.0~1.0 のスコアを寄与し、設定可能なしきい値がブロック/許可を決定。フィルター: JA3、IP、ボット、ヘッダー、DNS、geo、プロファイル、リプレイ、列挙、サンドボックス。
- **JA3 TLS フィンガープリントフィルタリング** -- HTTP データが交換される前に TLS ハンドシェイク層で Masscan、ZGrab2、Shodan、curl、Python requests、Nmap をブロック。リバースプロキシヘッダーまたはカスタム asyncio プロトコル経由で動作。オプションの許可リストモードでビーコン JA3 を強制
- **サンドボックスおよびヘッドレスブラウザ検出** -- HTTP シグナル全体でのスコア累積: HeadlessChrome UA、Accept-Language の欠落、sec-ch-ua のない Chrome、Safe Links および msnbot スキャナー UA、非ブラウザの Accept 順序
- **パス列挙検出** -- スライディングウィンドウでの IP ごとのユニーク URI 追跡。dirbuster/ffuf/gobuster が URI 空間をマッピングする前にブロック
- **DNS サブドメイン列挙検出** -- クライアント IP ごとの NXDOMAIN 応答を追跡。しきい値違反でソース IP を自動ブロック
- **アンチボット / アンチクローリング** -- 40 以上の既知のスキャナー/ボット User-Agent パターン、ヘッダー異常検出
- **リプレイ保護** -- コンテンツハッシュによる重複リクエストの拒否。ハッシュは SQLite に永続化されるため保護が再起動後も維持
- **ドロップアクション** -- リダイレクト、TCP リセット、デコイサイトへのプロキシ、またはターピット (スキャナーの時間を浪費するための低速ドリップ応答)
### インテリジェンス
- **IP インテリジェンス** -- 19 のセキュリティベンダー範囲 (Shodan、Censys、Rapid7 など) の組み込み CIDR ブロックリスト、GeoIP フィルタリング、逆引き DNS キーワードマッチング
- **脅威インテリジェンスフィード** -- 公開ソース (abuse.ch、Emerging Threats、Spamhaus DROP、Binary Defense) からのブロックリスト自動更新。設定可能な更新間隔とディスクキャッシュ
- **動的 IP ブロッキング** -- ホワイトリスト範囲外の IP をブロック。N 回の有効な C2 リクエスト後に IP を自動ホワイトリスト化
- **ホワイトリスト拡充** -- ホワイトリスト化された CIDR は起動時に GeoIP データベース経由で ASN、組織、国、大陸データで自動拡充
- **バーン検出** -- crt.sh 経由の Certificate Transparency ログ監視、URLhaus/OpenPhish/Google Safe Browsing 経由のドメイン評判自己監視、単一 IP が複数のオペレータドメインにアクセスした際のクロスドメインアナリスト検出
- **バーン信頼度スコアリング** -- 6 つの重み付きシグナル (JA3 多様性、ボリュームスパイク、新規 ASN、CT ログ露出、評判ヒット、認証失敗試行) からの継続的な 0~100 スコア。推奨アクション (監視、ローテーション、即時バーン) を含む。
- **カナリートークン注入** -- トラッキングピクセル、ハニーポットリンク、ハニーポットフォームをデコイページに自動注入し、ブルーチームの調査を検出
- **パッシブ DNS 監視** -- あなたのドメインの外部解決について CIRCL PDNS をポーリング。新規レコード、NXDOMAIN スパイク、初回検出の露出を検出
### ペイロード配信
- **コンテンツ配信ルート** -- PwnDrop、Mythic ファイルストア、ローカルファイルシステム、または HTTP プロキシバックエンド経由で特定のパスにペイロード、デコイ、静的ファイルを配信。オプションの条件付き配信でターゲットには実コンテンツを、スキャナーにはデコイを提供
- **Mythic ファイルステージング** -- `mythic_file` バックエンドが Mythic の `/direct/download/{uuid}` をクリーンな URL でプロキシ。固定 UUID またはプロキシモード。アクセス制御は InfraGuard のフィルタースタックが提供
- **ワンタイムペイロードトークン** -- ビーコンが動的にホワイトリスト化された際に自動発行されるトークン。アトミックな単回使用の SQLite 強制によりアナリストやサンドボックスによる URL リプレイを防止。設定可能な TTL と最大使用回数
- **ルートごとのレート制限** -- コンテンツルートでの IP ごとのスライディングウィンドウダウンロードレートリミッター。制限超過時は設定されたスキャナーデコイまたは 429 を返す
- **配信ガード** -- コンテンツルートの環境キーイング: ビーコン IP の要求、UA 許可リスト、必須ヘッダー値、禁止ヘッダー。チェック失敗時は生の 403 ではなくドメインのドロップアクションを返す
- **フィッシングキャンペーントークン** -- メールリンクに埋め込まれたキャンペーンごとのトークンでフィッシングページをゲート。静的トークンリストまたは設定可能な TTL を持つ HMAC 署名付き自己検証トークン
### レジリエンス
- **インフラローテーション** -- 5 つのクラウドプロバイダーにわたるワンクリックのブルーグリーン Terraform ローテーション。プリフライトチェック、ロールバック、age 暗号化状態を含む
- **ローテーションスケジューリング** -- 自動ローテーションポリシー: 固定間隔、バーントリガー、リクエスト数しきい値、段階的ローリング
- **自動ローテーションウォッチドッグ** -- バーンスコアと証明書有効期限を一定間隔でポーリング。バーンしきい値に達するか証明書の残り日数が N 日未満の場合に自動ローテーション、またはコスト上限付きのアラートのみモードにフォールバック
- **サーキットブレーカー** -- アップストリームごとの障害追跡を HEALTHY / PROBING / TRIPPED 状態と設定可能な回復タイムアウトで提供し、ダッシュボードの Upstreams ウィジェットにライブ表示
- **ドメインフロンティング** -- SNI/Host ヘッダー分割による CDN ベースの C2 ルーティング。CDN ヘッダー除去と SSRF 保護付き
- **デッドマンスイッチ** -- オペレータのハートビート TTL。オペレータがチェックインしない場合に C2 転送を自動停止
- **パープルチームミラー** -- 許可されたイベントをブルーチームコレクターにファイアアンドフォーゲットで複製し、エンゲージメントスコアリングに使用
- **共有状態バックエンド (Redis)** -- オプションのクロスノードリプレイキャッシュ、動的ホワイトリスト、ビーコンセッションバッグ、ドロップレート制限により、水平スケールされたレプリカが同じ状態を参照
- **エッジプロキシ** -- CDN インフラ経由のドメインフロンティング、エッジ国別ブロッキング、ホスト書き換えのための Cloudflare Worker と AWS Lambda
### ダッシュボードとオペレータツール
- **Web ダッシュボード** -- ログインページ、ライブリクエストフィード、ドメイン統計、トップブロック IP、WebSocket イベントストリーミング、インラインのブロック/ホワイトリスト/ブロック解除アクションを備えたリアルタイム SPA
- **デコイページ管理** -- ダッシュボードから直接デコイ HTML ページを一覧表示、プレビュー、編集。ドメインごとの **Canary Overview** (ピクセル / 隠しリンク / 隠しフォームのトグル) と、デコイアセットを取得したすべてのスキャナーまたはサンドボックスを表示する **Canary Hits** パネル
- **専用コールバックエンドポイントを持つデコイトークン** -- 注入されたトラッキングピクセル、隠しリンク、隠しフォームがそれぞれ `/_ig/px|hp|hf?c=<token>` で `canary_hit` イベントを発火。ヒットは `filter_result=canary_hit` として追跡 DB に記録され、Decoys ページと購読中のアラータープラグインにライブストリーミング
- **Plugins タブ** -- ロードされたプラグインをランタイムの `enable / disable` トグル (再起動不要) で一覧表示し、**Plugin Marketplace** で 29 個の組み込みプラグインをワンクリックで追加。すべての変更は `config.yaml` に永続化され、config-history リポジトリにコミットとして記録
- **Command Post** -- 複数の InfraGuard ノードからの統計、リクエスト、ライブイベントを単一ビューにマージするマルチインスタンス集約ダッシュボード。各プロキシとすべてのブロックされたソース IP を地理的位置の緯度/経度にプロットする **Fleet Map** (MapLibre) と、クロスインスタンス操作用のファンアウトプラグイントグルを備える
- **ターミナル UI** -- ログイン画面、ライブ API ポーリング、色分けされたリクエストログを備えた Textual ベースの TUI
- **エンゲージメントレポート** -- ドメインごとの内訳、フィルター効果、オペレータ監査証跡を含む自己完結型の HTML、JSON、または CSV レポート
- **Prometheus メトリクス** -- リクエストカウンター、アップストリームレイテンシヒストグラム、サーキットブレーカー状態、フィード鮮度、アクティブ接続、および Helm HPA がスケールする `infraguard_active_beacons` ゲージを公開する `/metrics` エンドポイント
- **OpenTelemetry** -- オプトインの OTLP トレース + メトリクスエクスポーター。observability compose プロファイルが OTEL コレクターと Prometheus + 自動プロビジョニングされた Grafana 概要ダッシュボードを立ち上げる
- **Kubernetes Helm チャート** -- プロキシ、ダッシュボード、Redis StatefulSet、ServiceMonitor、アクティブビーコンゲージの HPA。`deploy/helm/infraguard/` に同梱
### 統合とプラグイン
- **SIEM 統合** -- Elasticsearch、Wazuh、Syslog (CEF/JSON) 用の組み込みプラグインとバッチ転送
- **Webhook アラート** -- Discord (埋め込み)、Slack (Block Kit)、汎用 Webhook、**PagerDuty** (Events API v2、重複排除キー付き)、**Telegram** (双方向運用チャット: 携帯から `/status`、`/sessions`、`/kill`、`/ack`) 用の組み込みプラグイン
- **検出プラグイン** -- リクエストボディに対する YARA ルール、GreyNoise Community ルックアップ、ML ボット分類器 (JA4 + UA + タイミングに対するロジスティック回帰)、レスポンスカナリー (canarytokens.org)、p0f v3 フィンガープリンティング、JA4/JA4H エンリッチメント、GeoIP エンリッチメント
- **レスポンスマニピュレーター** -- HTML リライター、ペイロードウォーターマーク、シグネチャストリッパー、JS チャレンジ、キャッシュミミクリー、スローターピット、シャドウブロック (スキャナーに 200 を返して適応させない)
- **Phishing.club 統合** -- フィッシングイベントを取り込み、クリックしたターゲット IP を自動ホワイトリスト化する HMAC 署名付き Webhook レシーバー
- **プラグインシステム** -- `on_event` フック、プラグインごとの設定、イベントフィルタリングを備えたイベント駆動アーキテクチャ。すべてのプラグインはダッシュボードの **Plugins** タブから再起動なしでトグルまたはロードでき、変更は config-history 監査コミットとともに `config.yaml` に永続化
### 設定とデプロイ
- **設定暗号化** -- age (ファイル全体) および SOPS (値ごと) 暗号化と `.env` ファイルサポート
- **設定検証** -- CLI diff ツールと 20 以上のセキュリティ、運用、TLS 検証チェック
- **API キー管理** -- キーごとのレート制限、使用状況追跡、クォータを備えた API キーの作成、失効、ローテーション
- **バックエンド設定生成** -- TLS、IP フィルタリング、ヘッダーチェック、エイリアス、カスタムヘッダーを備えた Nginx、Caddy、または Apache 設定の生成
- **ルール取り込み** -- 既存の `.htaccess` および `robots.txt` ファイルから IP ブロックリストと User-Agent パターンをインポート
- **Docker デプロイ** -- オプションの Let's Encrypt、GeoIP ダウンローダー、PwnDrop ペイロードサーバー、Ollama AI アシスタントを備えた Dockerfile + docker-compose
- **GeoIP サポート** -- 3 つすべての GeoLite2 データベース (City、ASN、Country) と Docker 自動ダウンロード
- **自己署名 TLS フォールバック** -- 設定されたパスが存在しない場合に証明書を自動生成
- **環境変数サポート** -- `.env` ファイルの自動ロード。`${VAR}` 構文がすべての設定値とキーで動作
- **設定可能なヘルスエンドポイント** -- フィンガープリンティングを避けるためにヘルスチェックパスを変更可能
- **構造化ログ** -- structlog による JSON 形式の構造化ログ
- **追跡と永続化** -- リクエストログ、統計、ノードレジストリ、リプレイハッシュ、ペイロードトークン用の WAL モード付き SQLite
## インストールガイド
インストールについては [Wiki ページ](https://infraguard.whispergate.org/docs/getting-started/installation/) を参照してください
## CLI リファレンス```
infraguard --version Show version
infraguard --help Show help
infraguard run -c config.yaml Start the reverse proxy
infraguard run -c config.yaml --port 8443 Override listen port
infraguard run -c config.yaml --host 0.0.0.0 Override bind address
infraguard dashboard -c config.yaml Start the web dashboard
infraguard dashboard -c config.yaml --port 9090 Override dashboard port
infraguard tui Launch TUI with login screen
infraguard tui --url http://host:8080 --token TOK Auto-connect to dashboard
infraguard tui -c config.yaml Read URL/token from config
infraguard command-post -c command-post.yaml Start multi-instance dashboard
infraguard command-post --instance name:url:token Add instance via CLI (repeatable)
infraguard profile parse <file> Parse and display a C2 profile
infraguard profile parse <file> --format json Output as JSON
infraguard profile parse <file> --type brute_ratel Force profile type
infraguard profile convert <file> -o out.json Convert profile to JSON
# Supported --type values: auto, cobalt_strike, mythic, brute_ratel, sliver, havoc, nighthawk, poshc2
# Auto-detection: .profile = CS, .toml = Havoc, .yaml = PoshC2, .json = auto-detect by keys
infraguard ingest <files...> Ingest .htaccess/robots.txt rules
infraguard ingest <files...> --format blocklist Output as IP blocklist
infraguard ingest <files...> --format json Output as JSON
infraguard ingest <files...> -o banned_ips.txt Write blocklist to file
infraguard generate nginx -c config.yaml Generate Nginx config
infraguard generate caddy -c config.yaml Generate Caddyfile
infraguard generate apache -c config.yaml Generate Apache VirtualHost
infraguard init -o config.yaml Generate starter config
infraguard validate -c config.yaml Validate config file
infraguard simulate-beacon -c config.yaml --domain <d> Run one synthetic beacon
through the loaded filter
pipeline in-process
infraguard drop-preview -c config.yaml --domain <d> Render the drop-action
response without any live
traffic (decoy / redirect
/ tarpit preview)
infraguard events tail -c config.yaml Tail the tracking DB as a
structured event stream
infraguard profile transpile <in> --to <c2> Convert a C2 profile
between formats using the
shared profile IR
infraguard preflight -c config.yaml Adversary-emulation
self-test: DNS, cert,
upstream, decoy dir,
writes a Markdown report
infraguard config set <domains.<d>.upstream> <value> Mutate config from CLI;
writes .bak, atomic file
replace, and commit to the
config-history git repo
infraguard config log Show mutation history
infraguard config revert HEAD~N Roll back N mutations
```
### ジェネレーターオプション
`generate` コマンドは、オペレーターのカスタマイズ用に追加のフラグを受け付けます:
| フラグ | 説明 |
|---|---|
| `--listen-port PORT` | リッスンポートを上書き (デフォルト: 設定ファイルから) |
| `--ssl-cert PATH` | SSL 証明書パスを上書き |
| `--ssl-key PATH` | SSL キーパスを上書き |
| `--redirect-url URL` | ブロックされたリクエストのリダイレクト URL を上書き |
| `--default-action redirect\|404` | 一致しないリクエストに対するアクション |
| `--no-ip-filter` | IP 許可/拒否ブロックを省略 |
| `--no-header-check` | ヘッダー検証ルールを省略 |
| `--alias DOMAIN:ALIAS` | サーバー名エイリアスを追加 (繰り返し指定可能) |
| `--header NAME:VALUE` | カスタムレスポンスヘッダーを追加 (繰り返し指定可能) |
## Command Post (マルチインスタンスダッシュボード)
異なる VPS やクラウドプロバイダー上で複数の InfraGuard インスタンスを実行している場合、Command Post はすべてのノードから統計、リクエスト、ライブイベントを単一のダッシュボードに集約します。```
┌─────────────────────────────┐
│ Command Post Dashboard │
│ http://localhost:9090 │
└──────────┬──────────────────┘
│ parallel fetch
┌─────┼──────┬──────────┐
▼ ▼ ▼ ▼
IG-1 IG-2 IG-3 ... IG-N
```

### クイックスタート```bash
# Via config file
infraguard command-post -c config/command-post.yaml
# Via CLI args
infraguard command-post \
--instance "prod:https://ig1.example.com:8080:TOKEN1" \
--instance "staging:https://ig2.example.com:8080:TOKEN2" \
--port 9090
# Via Docker
docker compose --profile command-post up -d command-post
```
### 設定
`config/command-post.yaml` を作成します:```yaml
instances:
- name: "prod-cs"
url: "https://ig1.example.com:8080"
token: "${IG_PROD_TOKEN}"
- name: "prod-mythic"
url: "https://ig2.example.com:8080"
token: "${IG_MYTHIC_TOKEN}"
- name: "staging"
url: "https://ig3.example.com:8080"
token: "${IG_STAGING_TOKEN}"
port: 9090
# auth_token: "${COMMAND_POST_TOKEN}"
```
### 表示内容
- **統合統計** -- 全インスタンスを合算した総リクエスト数、許可、ブロック
- **インスタンスヘルスバー** -- 接続された各ノードの緑/赤ステータス
- **インターリーブされたリクエストログ** -- 全インスタンスからのリクエストをタイムスタンプ順にソートし、それぞれにインスタンス名をタグ付け
- **統合トップブロックIP** -- 全インスタンスを集約
- **ドメイン別統計** -- 全インスタンスのドメインをブロック率を再計算して表示
- **ライブイベントフィード** -- 全ノードからの多重化されたWebSocketイベント
- **ブロック/ホワイトリストアクション** -- 全インスタンスまたは特定のインスタンスにファンアウト
### APIエンドポイント
| エンドポイント | メソッド | 説明 |
|---|---|---|
| `/api/instances` | GET | ヘルスステータス付きで全インスタンスを一覧表示 |
| `/api/stats` | GET | 全インスタンスからの統合統計 |
| `/api/requests` | GET | 全インスタンスからのインターリーブされたリクエストログ |
| `/api/intel/whitelist` | POST | 全インスタンスでIPをホワイトリストに登録 |
| `/api/intel/blocklist` | POST | 全インスタンスでIPをブロック |
| `/api/intel/blocklist` | DELETE | 全インスタンスでIPのブロックを解除 |
| `/ws/events` | WS | 全インスタンスからの多重化されたライブイベント |
## Dockerデプロイメント
### クイックスタート```bash
cp .env.example .env
# Edit .env with your domain, teamserver, and token
docker compose up -d
```
これにより2つのサービスが起動します:
- **proxy** -- ポート443と80のリダイレクタ
- **dashboard** -- ポート8080のWeb UI
### Let's Encryptを使用する場合```bash
# Set in .env:
# INFRAGUARD_LETSENCRYPT=true
# INFRAGUARD_DOMAIN=cdn.example.com
# [email protected]
# Obtain the initial certificate
docker compose --profile letsencrypt up certbot
# Start the proxy (will use the LE cert)
docker compose up -d proxy dashboard
# Start auto-renewal (checks every 12 hours)
docker compose --profile letsencrypt up -d certbot-renew
```
Let's Encrypt の要件:
- ポート 80 がインターネットから到達可能であること
- `INFRAGUARD_DOMAIN` がこのホストのパブリック IP に解決されること
- `INFRAGUARD_DOMAIN_EMAIL` が有効なメールアドレスであること
### GeoIP データベースを使用する場合```bash
# Download all three GeoLite2 databases (City, ASN, Country)
docker compose --profile geoip up geoip-update
# Then start normally - databases are mounted at /app/geoip/
docker compose up -d proxy dashboard
```
### PwnDrop を使用する場合(ペイロード配信)```bash
# Start PwnDrop alongside the proxy
docker compose --profile pwndrop up -d pwndrop
# Access PwnDrop admin UI at https://localhost:8443
# InfraGuard reaches it internally at http://pwndrop:80
```
次に、config 内でコンテンツルートを設定して、ペイロードパスを PwnDrop にプロキシします:```yaml
domains:
cdn.example.com:
content_routes:
- path: "/downloads/*"
backend:
type: "pwndrop"
target: "http://pwndrop:80"
auth_token: "${PWNDROP_TOKEN}"
```
### Ollama を使用する場合(AI 支援によるプロファイル生成)```bash
# Start the Ollama service
docker compose --profile ollama up -d ollama
# Pull the default model (~5 GB)
docker compose --profile ollama exec ollama ollama pull qwen3:8b
# The dashboard's AI chat panel will connect automatically
```
ダッシュボードの環境変数 `INFRAGUARD_OLLAMA_URL` は docker-compose.yml で事前設定されています。Ollama が実行されている場合、AI アシスタントのトグルがダッシュボードのデコイおよびプロファイルページに表示されます。
### スケーリング```bash
# Run multiple redirector nodes
docker compose up -d --scale proxy-node=3
```
`docker-compose.yml` 内の `proxy-node` サービスをアンコメントして有効化します。
### ボリューム
| ボリューム | 目的 |
|---|---|
| `./config` | 設定ファイル(読み取り専用でマウント) |
| `./examples` | C2 プロファイル(読み取り専用でマウント) |
| `./rules` | 取り込まれたブロックリストとルールソースファイル(読み取り専用でマウント) |
| `./data` | SQLite データベースと生成されたプロファイル(永続化) |
| `certs` | TLS 証明書(プロキシと certbot 間で共有) |
| `geoip` | GeoLite2 データベース(`geoip-update` サービスによって生成) |
| `pwndrop-data` | PwnDrop のアップロードファイルとデータベース |
| `ollama-data` | Ollama のモデル重みと設定 |
> Linux ホストでは、ダッシュボード駆動の変更(drop-action、プロファイルスワップ、プラグイントグル)を `config.yaml` に永続化させたい場合、`chown -R 1000:1000 config/` を実行してください。コンテナの非 root uid には、マウントに対する書き込み権限が必要です。
## Kubernetes デプロイメント
`deploy/helm/infraguard/` 配下の Helm チャートは、プロキシ、ダッシュボード、Redis StatefulSet、および `infraguard_active_beacons` カスタムメトリクスに基づいてプロキシをスケールする HPA をデプロイします(クラスタ内に `prometheus-adapter` が必要です)。完全なガイドについては、wiki の [Kubernetes Deployment](https://infraguard.whispergate.org/docs/deployment/kubernetes/) ページを参照してください。```bash
# One-shot install
helm install infraguard deploy/helm/infraguard \
--namespace infraguard --create-namespace \
-f my-values.yaml
# Get the API token the chart minted
kubectl get secret -n infraguard infraguard-secrets \
-o jsonpath='{.data.INFRAGUARD_API_TOKEN}' | base64 -d
```
チャートのプローブは `scheme: HTTPS` で HTTPS リスナー上の `/health` にアクセスするため、コンテナの設定には `tls:` ブロックが必要です(自己署名フォールバックで問題ありません)。
## コントリビューション
- Mgeeky - オリジナルのアイデア([RedWarden](https://github.com/mgeeky/RedWarden))
- curi0usJack - [.htaccess ルール](https://gist.github.com/curi0usJack/971385e8334e189d93a6cb4671238b10)
- プロファイル
- threatexpress - [jquery-c2.3.14.profile](https://github.com/threatexpress/malleable-c2/blob/master/jquery-c2.3.14.profile)
- InfinityCurve - [Havoc プロファイル](https://github.com/whispergate/infraguard/blob/main/examples/kaine.toml)
- C2 フレームワーク
- [Cobalt Strike](https://www.cobaltstrike.com/) - Malleable C2 プロファイル対応
- [Mythic](https://github.com/its-a-feature/Mythic) - HTTPX プロファイル対応 + ファイルステージング
- [Brute Ratel C4](https://bruteratel.com/) - サーバー設定プロファイル対応
- [Sliver](https://github.com/BishopFox/sliver) - HTTP C2 プロファイル対応
- [Havoc](https://www.infinitycurve.org/) - TOML プロファイル対応
- [Nighthawk](https://nighthawkc2.io/) - JSON リスナー設定対応
- [PoshC2](https://github.com/nettitude/PoshC2) - YAML 設定対応
プロジェクトに貢献したい場合は、バージョン名を付けた新しいブランチを作成し、プルリクエストにも同じバージョン名を指定してください。例: branch=v1.2.3 | [v1.2.3] Added blah item.
## ライセンス
BSD 2-Clause License。詳細は [LICENSE](https://github.com/whispergate/infraguard/blob/main/LICENSE) を参照してください。
Copyright (c) 2026, Whispergate