Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
iron-proxy — 信頼できないワークロードのためのegressファイアウォール。 | Kitploit
ツール/GitHubGitHub/paradigmxyz/iron-proxy
コンテナセキュリティウェブプロキシと傍受データ流出ウェブセキュリティネットワークセキュリティクラウドセキュリティDevSecOpsデータベースセキュリティ
GitHubparadigmxyz/iron-proxy

iron-proxy

信頼できないワークロードのためのegressファイアウォール。

リポジトリを見る
682481106日前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
ウェブサイト

iron-proxy

Docs Latest Release Docker Pulls

課題

CI ジョブ、AI コーディングエージェント、サンドボックス化されたコンテナは、任意の外部リクエストを送信できます。侵害された依存関係、プロンプトインジェクション、悪意のあるビルドステップは、シークレットの持ち出し、外部への通信、リバースシェルの確立を行う可能性があります。ほとんどのチームは、ワークロードから何が出ていっているのかについてまったく可視性を持っておらず、ましてやそれを止める手段などありません。

iron-proxy が行うこと

iron-proxy は、信頼できないワークロードとインターネットの間に位置する、組み込み DNS サーバーを備えた MITM 外向きプロキシです。ネットワーク境界でデフォルト拒否を強制するため、ワークロードは明示的に許可したドメインにのみ到達できます。本物のシークレットがサンドボックスに入ることはありません。ワークロードはプロキシトークンを使用し、iron-proxy が外向き通信時に本物の認証情報に差し替えるため、侵害されたワークロードが持ち出せるのはプロキシの外では無価値なトークンだけです。

単一バイナリ。単一の YAML 設定。

  • デフォルト拒否の外向き通信。 すべての外向きリクエストは、宛先が許可リストに一致しない限りブロックされます。ドメインと CIDR を列挙すれば、それ以外はすべて 403 になります。
  • 上流 IP 拒否リスト。 ホストが許可されていても、解決されたアドレスが拒否 CIDR 内にある場合、プロキシはそのホストへの接続を拒否します。これにより、許可リストに載ったホスト名が IMDS やループバックを指すという SSRF/DNS リバインディングの隙間を塞ぎます。クラウドメタデータエンドポイント(169.254.169.254、fd00:ec2::254、fd20:ce::254)とループバックはデフォルトで拒否されます。proxy.upstream_deny_cidrs または IRON_PROXY_UPSTREAM_DENY_CIDRS で上書きできます。
  • 境界レベルでのシークレット注入。 ワークロードはプロキシトークンを送信し、iron-proxy がリクエストを送信する前に本物のシークレットへ置き換えます。サンドボックスが侵害されても、攻撃者が得るのはプロキシの外では役に立たないトークンだけです。
  • リクエストごとの監査証跡。 すべてのリクエストは、変換パイプラインの完全な結果(どのシークレットが差し替えられたか、どのルールが一致したか、何がなぜブロックされたか)とともに構造化 JSON としてログに記録されます。
  • ストリーミング対応。 WebSocket アップグレードと Server-Sent Events はネイティブにプロキシされます。長期間接続を保持するエージェントワークロードに特別な設定は不要です。
  • 明示的なプロキシサポート。 HTTP_PROXY、HTTPS_PROXY、SOCKS5 設定によるプロキシ設定をネイティブにサポートするツール向けの、オプションのトンネルリスナー。
  • PostgreSQL MITM プロキシ。 プロキシ管理の認証情報に対してクライアントを認証し、上流セッションに SET ROLE を注入し、SQL AST 走査によってクライアントによるロール変更の試み(SET ROLE、set_config('role', ...)、DO ブロックなど)を拒否する、オプションのリスナー。アプリケーションが共有サービスアカウントユーザーとして接続する場合に、PostgreSQL の行レベルセキュリティと組み合わせてテナントごとのデータ分離を実現します。(使用する場合)PgBouncer を pool_mode = session で実行する必要があります — トランザクションまたはステートメントのプールモードはクエリ間でバックエンドを暗黙的に再バインドし、ポリシーを無効化してしまいます。詳細は docs.iron.sh を参照してください。

CI パイプライン、GitHub Actions、AI エージェント(Claude Code、Cursor、Codex)、および完全には信頼していないコードを実行するあらゆる環境向けに構築されています。

ブロックされた持ち出しとシークレットの書き換えの実際:

インストール

Docker イメージは Docker Hub で入手でき、Linux/macOS(amd64/arm64)向けのビルド済みバイナリは GitHub Releases にあります。

またはソースからビルドします:```bash go build -o iron-proxy ./cmd/iron-proxy

## クイックスタート```bash
cd examples/docker-compose
docker compose up

これにより iron-proxy と、プロキシ経由で 5 つのリクエストを送信するデモクライアントが起動します。ログを確認して、許可されたリクエスト、ブロックされたリクエスト、シークレットが書き換えられたリクエストを確認してください:```bash docker compose logs proxy

すべてのリクエストは構造化されたJSON監査エントリを生成します:```json
{
  "host": "httpbin.org",
  "method": "GET",
  "path": "/headers",
  "action": "allow",
  "status_code": 200,
  "duration_ms": 142,
  "request_transforms": [
    { "name": "allowlist", "action": "continue" },
    {
      "name": "secrets",
      "action": "continue",
      "annotations": { "swapped": [{ "secret": "OPENAI_API_KEY", "locations": ["header:Authorization"] }] }
    }
  ]
}

拒否されたリクエストには rejected_by フィールドが含まれ、WARN レベルでログに記録されます。完全なスキーマについては 監査ログ形式 を参照してください。

本番環境での使用

1. CA の生成

iron-proxy は、提供された CA によって署名されたリーフ証明書をオンザフライで生成することで TLS を終端します。クライアントコンテナはこの CA を信頼する必要があります。```bash mkdir -p certs openssl genrsa -out certs/ca.key 4096 openssl req -x509 -new -nodes
-key certs/ca.key
-sha256 -days 3650
-subj "/CN=iron-proxy CA"
-addext "basicConstraints=critical,CA:TRUE"
-addext "keyUsage=critical,keyCertSign"
-out certs/ca.crt

### 2. Docker ネットワークを作成する

iron-proxy はコンテナが DNS を向けられるよう固定 IP を必要とします:```bash
docker network create --subnet=172.20.0.0/24 iron-proxy

3. iron-proxy を起動する

シークレットを含む env ファイルを作成します(これはバージョン管理に含めないでください):```bash echo "OPENAI_API_KEY=sk-real-key" > .env

## 検出

### 検出の仕組み

`detect` コマンドは、ファイルシステムをスキャンして、既知のAIエージェント設定ファイル、MCPサーバー設定、およびエージェント関連のアーティファクトを探します。

```bash
# 現在のディレクトリをスキャン
agent-audit detect

# 特定のパスをスキャン
agent-audit detect --path /path/to/project

# 詳細出力付きでスキャン
agent-audit detect --verbose

# 検出結果をJSONとして出力
agent-audit detect --format json

検出対象

カテゴリ例
エージェント設定.cursor/mcp.json, claude_desktop_config.json, .continue/config.json
MCPサーバーmcp.json, mcp_config.json, .mcp/ ディレクトリ
エージェント指示.cursorrules, CLAUDE.md, .github/copilot-instructions.md
ツール定義tools.json, functions.json, agent.yaml
プロンプトファイルprompts/, system_prompt.txt, instructions.md

検出出力

[+] Scanning: /home/user/project
[+] Found 3 agent configuration(s):

  1. .cursor/mcp.json
     Type: MCP Server Configuration
     Agent: Cursor
     Servers: 2

  2. CLAUDE.md
     Type: Agent Instructions
     Agent: Claude Code
     Size: 4.2 KB

  3. .github/copilot-instructions.md
     Type: Agent Instructions
     Agent: GitHub Copilot
     Size: 1.8 KB

監査

監査の仕組み

audit コマンドは、検出された設定に対してセキュリティチェックを実行し、脆弱性、設定ミス、およびリスクのあるパターンを特定します。

# 現在のディレクトリを監査
agent-audit audit

# 特定のパスを監査
agent-audit audit --path /path/to/project

# 重大度でフィルタリング
agent-audit audit --severity high

# 特定のルールを除外
agent-audit audit --exclude-rule MCP001

# 特定のルールのみを実行
agent-audit audit --include-rule MCP001,MCP002

# 出力形式
agent-audit audit --format json
agent-audit audit --format sarif
agent-audit audit --format markdown

監査ルール

ルールID重大度説明
MCP001高認証なしでMCPサーバーが公開されている
MCP002高MCPサーバー設定にハードコードされたシークレット
MCP003中安全でないトランスポート(HTTP)を使用するMCPサーバー
MCP004中過度に広い権限を持つMCPサーバー
MCP005低検証なしでユーザー入力を受け入れるMCPサーバー
AGT001高エージェント指示にプロンプトインジェクションパターンが含まれている
AGT002中エージェントが機密ファイルにアクセスできる
AGT003中エージェントが制限なしでシェルコマンドを実行できる
AGT004低エージェント指示に安全ガードレールが欠如している
TOL001高ツール定義が任意のコード実行を許可している
TOL002中ツール定義に入力検証が欠如している
TOL003低ツール定義にレート制限が欠如している

監査出力

[+] Auditing: /home/user/project
[+] Found 3 agent configuration(s)
[+] Running 12 rules...

[HIGH] MCP001: MCP server exposed without authentication
  File: .cursor/mcp.json
  Line: 5
  Server: filesystem-server
  Detail: Server 'filesystem-server' is configured with no authentication
          and exposes the entire home directory.

[HIGH] MCP002: Hardcoded secret in MCP server configuration
  File: .cursor/mcp.json
  Line: 12
  Server: api-server
  Detail: API key found in plaintext: "sk-****...****"

[MEDIUM] AGT002: Agent can access sensitive files
  File: CLAUDE.md
  Line: 8
  Detail: Agent instructions reference ~/.ssh and ~/.aws directories.

[+] Summary: 2 high, 1 medium, 0 low
[+] Exit code: 1

終了コード

コード意味
0問題は見つかりませんでした
1高重大度の問題が見つかりました
2中重大度の問題が見つかりました
3低重大度の問題が見つかりました
4スキャンエラーが発生しました

レポート

レポートの仕組み

report コマンドは、監査結果から包括的なレポートを生成します。

# Markdownレポートを生成
agent-audit report --format markdown --output report.md

# JSONレポートを生成
agent-audit report --format json --output report.json

# SARIFレポートを生成(CI/CD統合用)
agent-audit report --format sarif --output report.sarif

# HTMLレポートを生成
agent-audit report --format html --output report.html

レポート形式

形式ユースケース
markdownドキュメント、プルリクエストコメント
jsonプログラムによる処理、カスタムツール
sarifGitHub Code Scanning、CI/CD統合
html人間が読めるレポート、ダッシュボード

SARIF統合

# .github/workflows/agent-audit.yml
name: Agent Security Audit
on: [push, pull_request]
ツールをダウンロード