mcpField
M
Mastyf.ai

Mastyf.ai

ローカル
mastyf.aiセキュリティ212 日前に更新

Mastyf.ai について

Mastyf.ai は、AI エージェントと MCP のためのローカル参照モニターおよびセキュリティゲートウェイとして動作する、オープンソースの AI セキュリティプラットフォームです。ツール呼び出しを実行前にポリシーで判定し、すべての決定を記録します。エージェントの動作を制限したいチーム向けです。

主な機能

  1. 01ツール呼び出しごとの傍受と判定
  2. 02パターン、スキーマ、意味レベルの多層チェック
  3. 03audit、warn、block の実行モード
  4. 04活動ログとコスト集計を備えたダッシュボード

活用シーン

  1. 01エージェントによる機密パスへのアクセスや鍵の漏えいを遮断
  2. 02デプロイ前のポリシーに対する敵対的テスト

MCP 対応

本プロジェクトは MCP クライアントとツールバックエンドの間に置かれるゲートウェイとして、ツール呼び出しをポリシーに基づき検査・遮断します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"mastyf.ai": {
"command": "npx",
"args": [
"-y",
"@mastyf_ai/server"
],
"env": {
"MASTYF_AI_DB_PATH": "<MASTYF_AI_DB_PATH>",
"ALERT_WEBHOOK_URL": "<ALERT_WEBHOOK_URL>",
"METRICS_ENABLED": "<METRICS_ENABLED>"
}
}
}
}
起動コマンドnpx -y @mastyf_ai/server
設定が必要な環境変数
MASTYF_AI_DB_PATHPath to SQLite history database
ALERT_WEBHOOK_URLシークレットSlack or Discord webhook for critical alerts
METRICS_ENABLEDExpose Prometheus metrics

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@mastyf_ai/server4.1.12

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

mastyf.ai ロゴ

mastyf.ai

プロンプトだけでなく、アクションの境界を守ります。

AI エージェントと MCP 向けのローカル参照モニター兼セキュリティゲートウェイです。
LLM がアクションを提案し、Mastyf がそのアクションを現実世界に反映させるかどうかを判断します。

ウェブサイト · クイックスタート · ポリシー · ダッシュボード · GitHub

Zenodo DOI ライセンス CI ステータス バージョン TypeScript npm

メモ

エンタープライズおよびクラウドプラットフォームのサポート: Mastyf は、分散 Redis 状態、サブ秒単位のフェイルクローズ型適用、リアルタイムの BigQuery 監査ログを備えた、Google Cloud Agent Gateway(us-central1)向けネイティブ CONTENT_AUTHZ Service Extension として検証され、デプロイされています。Google Agent Gateway Runbookをご覧ください。


問題

AI エージェントは、ファイルの読み取り、コードのプッシュ、データベースへのクエリ、シェルコマンドの実行、外部 API の呼び出しを行えます。しかも、機械の速度で自律的に実行します。

従来のセキュリティ制御は、そのような事態を想定して作られていません。

Mastyf.ai は、AI 向けの境界セキュリティレイヤーとして機能します。すべてのツール呼び出しを傍受し、マルチエージェント・スウォーム分析を用いてセキュリティポリシーと照合し、悪意のあるアクションや許可されていないアクションが実行される前にブロックします。

すべての判断が適用され、ログに記録され、監査可能です。


防止する脅威

脅威発生例
プロンプトインジェクションエージェントの動作を乗っ取るため、ツール引数に埋め込まれた悪意のある指示
パストラバーサル/etc/passwd、.ssh/id_rsa、.aws/credentials へのアクセス試行
シークレットの窃取ツール引数を通じて漏えいする API キーやトークン
シェルインジェクションリバースシェル、rm -rf、エンコードされた PowerShell コマンド
データの持ち出し大量の SQL ダンプ、git push、aws s3 cp、許可されていないファイル転送
SSRFメタデータエンドポイント、localhost、プライベート IP 範囲への呼び出し
エンコーディングによる回避パターン検出を回避するために使われる Base64 のデータや Unicode のホモグリフ
コストの悪用トークン予算を消費し続ける、止まらないエージェントのループ
ラグプル攻撃セッション中にひそかに変更されるツール定義

クイックスタート

🛡️ Mastyf セキュリティゲートウェイと保護されたエージェント(Python クイックスタート)

ローカルの参照モニター、MCP ディスカバリー、平易な英語で操作する保護エージェントのランタイムを起動します:

# Install Mastyf Gateway package
git clone https://github.com/mastyf-ai/mastyf.ai.git
cd mastyf.ai/mastyf_gateway
pip install -e .

# Launch Mastyf (Auto-discovers tools, prompts for permissions, and starts protected agent)
mastyf
  • 初回起動時に、Mastyf はローカルの MCP サーバー/ツールを自動検出し、平易な英語で必要な権限を尋ね、保守的な差分を提示します。確認後、ポリシーが有効になります。
  • 会話型エージェントからのすべてのツール実行提案は、参照モニター($A = \text{CBAC} \cap \text{DIFC} \cap \text{Workflow}$)によって傍受されます。ALLOW 以外のアクションでは、ツールのバックエンドに厳密に 0 バイトが送信されます。
  • リアルタイムのセキュリティ HUDと、暗号学的な監査証跡の連鎖(mastyf audit verify)が含まれます。
よく使う CLI コマンド
# Start interactive protected agent (or first-run onboarding if fresh install)
mastyf

# Run a single query non-interactively
mastyf -m "Find unpaid customer invoices"

# Propose a policy change in plain English
mastyf policy "Allow reading invoices, but never delete data or make HTTP calls"

# Inspect staged proposed policy vs active policy diff
mastyf policy status

# Promote staged policy to active enforcement
mastyf policy activate

# Intercept an MCP server via stdio reverse proxy
mastyf proxy -- uvx mcp-server-sqlite --db /tmp/test.db

# Cryptographically verify the tamper-evident execution receipt ledger
mastyf audit verify --ledger ~/.mastyf/receipts.jsonl

# Run local action boundary failure mode demonstrations
mastyf demo --scenario all

ソースからビルドする(TypeScript/クラウドプラットフォーム)

リポジトリをクローンし、セットアップスクリプトを実行します。

必要なもの:

  • Git
  • Linux(必要に応じて、セットアップスクリプトが Nix を自動インストールします)
git clone https://github.com/mastyf-ai/mastyf.ai.git
cd mastyf.ai
chmod +x setup.sh
./setup.sh

セットアップスクリプトは次の処理を自動的に行います:

  • Nix をインストールします(必要な場合)
  • Nix flakes を有効にします
  • 開発環境を作成します
  • プロジェクトの依存関係をすべてインストールします
  • ネイティブパッケージを再ビルドします
  • プロジェクト全体をビルドします
  • 便利な mastyf シェルエイリアスを追加します

インストールが完了したら、プロキシとダッシュボードを起動します:

node dist/cli.js start

または、新しいターミナルを開いた後にエイリアスを使用するだけです:

mastyf

ダッシュボードは次の場所で利用できます:


インストールをテストする

ダッシュボードが起動している場合は、HTTP ブリッジを確認します:

curl -X POST http://localhost:4000/mcp -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":"1","method":"tools/list","params":{}}'

ダッシュボード

AI が行うすべてのアクションを完全に可視化します。

20260628-1234-42 0110563
セクション表示内容
保護ブロック率、よくトリガーされるルール、リアルタイムの脅威フィード
アクティビティ各ツール呼び出しの全引数、許可またはブロックの状態、タイムスタンプ
ポリシーYAML からのホットリロードに対応したリアルタイムのルールエディター
脅威ラボAI が提案する攻撃テスト。適用前にレビューして承認します
コストツール呼び出しごとに内訳を示したトークン使用量とコストの見積もり

ダッシュボード認証は、ループバック接続を含め、デフォルトで有効です。起動スクリプトは $MASTYF_HOME/dashboard_api_key を作成しますが、その値を表示することはありません。DASHBOARD_AUTH_DISABLED=true を設定できるのは、ローカルで明示的にテストを分離する場合に限られます。この設定は、ループバック以外のアドレスへのバインドでは拒否されます。


強制適用の仕組み

すべてのツール呼び出しは、インフラストラクチャに到達する前に 3 つのレイヤーを通過します。

レイヤー 1 - パターン検出 インジェクション、危険なパス、漏えいしたシークレット、シェルコマンド、エンコーディングの細工を正規表現ベースでスキャンします。外部依存関係なしにマイクロ秒単位で実行されます。

レイヤー 2 - スキーマ検証 ポリシー評価に進む前に、不正なペイロード、サイズ超過の引数、JSON-RPC 違反を拒否します。

レイヤー 3 - セマンティックレビュー パターンチェックを通過した境界的な呼び出しを、オプションのローカル LLM(Ollama)またはクラウドモデルで評価します。モデルが設定されていない場合は、ヒューリスティックにフォールバックします。

いずれかのチェックに失敗するとブロックされます。ツールは実行されません。すべてログに記録されます。

画像

ポリシー

ルールは default-policy.yaml にあります。ルールを管理するのはあなたです。mastyf.ai がルールを強制します。

policy:
  mode: block
  default_action: pass
  unicode_strict: true
  rules:
    - name: block-sensitive-paths
      action: block
      argPatterns:
        - field: path
          patterns: ['^/etc/', '/\.ssh', '/\.aws/credentials']

    - name: rate-limit-tool-calls
      action: block
      maxCallsPerMinute: 120

    - name: block-shell-injection
      action: block
      patterns: ['rm\s+-rf', 'curl\s', 'wget\s', '`[^`]+`']

3 つの強制適用モードを使って、安全に展開できます:

モード動作使用するタイミング
auditすべてをログに記録し、何もブロックしません最初の週。AI の動作を把握します
warnログに記録して警告しますが、引き続き転送します強制適用前の調整段階
block実行前に違反を停止します本番環境

HIPAA、PCI-DSS、GxP、データレジデンシー用の事前構築済みテンプレートは、policy-templates/ にあります。

画像

アーキテクチャ

mastyf.ai は、連携する 2 つのスウォームを稼働させます。CI スウォームは、コードのリリース前にポリシーを攻撃します。ランタイムスウォームは、本番環境で発生するすべてのライブツール呼び出しに対してポリシーを適用し、そこから学習します。4 つのフィードバックループが両者をつなぎ、システムが時間とともに回避されにくくなります。

flowchart TB

  AI["🤖 AI Clients\nCursor · Claude Desktop · Cline"]

  subgraph CI["🔵 CI Swarm (PR + Nightly)"]
    direction LR
    Scout["🔍 Scout Agent\nSAST, deps, config scan"]
    Corpus["📋 Corpus Agent\n228 fixtures eval"]
    Evasion["⚡ Evasion Agent\n120+ probes + generate new"]
    Parity["🔄 Parity Agent\nNode vs Python"]
    ProxyA["🖥️ Proxy Agent\nLive stdio MCP tests"]
    Report["📊 Report Agent\nsecurity-swarm/latest.json"]
    Scout --> Corpus --> Evasion --> Parity --> ProxyA --> Report
  end

  subgraph Runtime["🟢 Runtime Swarm (Production Proxy)"]
    direction LR
    BG["🛡️ BlockGuard\nsync policy"]
    IL["📈 InstantLearner\nper-block stats + suggestions"]
    SA["🧠 SemanticAuditor\nasync LLM, optional"]
    PS["🔗 PatternSynthesizer\nbatch suggestions"]
    Cal["⚙️ Calibrator\nlabels + thresholds"]
    BG --> IL --> PS --> Cal
    BG --> SA --> PS
  end

  Tools["🗄️ MCP Tools\nfilesystem · GitHub · databases · APIs"]

  AI -->|"every tool call"| BG
  BG -->|"✅ allowed"| Tools
  Report -->|"🔁 Loop A: bypasses to corpus"| Corpus
  Cal -->|"🔁 Loop B: blocks to rules"| BG
  Cal -->|"🔁 Loop C: labels to LLM"| SA
  Report -->|"🔁 Loop D: CI metrics weekly"| Cal

  style CI fill:#EFF6FF,stroke:#3B82F6,stroke-width:2px,color:#1E3A5F
  style Runtime fill:#F0FDF4,stroke:#22C55E,stroke-width:2px,color:#14532D
  style Scout fill:#DBEAFE,stroke:#3B82F6,color:#1E40AF
  style Corpus fill:#DBEAFE,stroke:#3B82F6,color:#1E40AF
  style Evasion fill:#DBEAFE,stroke:#3B82F6,color:#1E40AF
  style Parity fill:#DBEAFE,stroke:#3B82F6,color:#1E40AF
  style ProxyA fill:#DBEAFE,stroke:#3B82F6,color:#1E40AF
  style Report fill:#DBEAFE,stroke:#3B82F6,color:#1E40AF
  style BG fill:#BBF7D0,stroke:#16A34A,color:#14532D
  style IL fill:#BBF7D0,stroke:#16A34A,color:#14532D
  style SA fill:#BBF7D0,stroke:#16A34A,color:#14532D
  style PS fill:#BBF7D0,stroke:#16A34A,color:#14532D
  style Cal fill:#BBF7D0,stroke:#16A34A,color:#14532D
  style AI fill:#FEF3C7,stroke:#F59E0B,stroke-width:2px,color:#78350F
  style Tools fill:#FEF3C7,stroke:#F59E0B,stroke-width:2px,color:#78350F

標準ゲート: 228/228 件のコーパス、回避 0 件、パリティ 100%

CI スウォーム

すべての PR と夜間に実行されます。6 つのエージェントが順番に動作し、それぞれが前のエージェントの発見事項を強化します。

エージェント機能
ScoutSAST スキャン、依存関係の監査、設定のレビュー
Corpus現行ポリシーに対して、228 件すべての攻撃フィクスチャを評価します
Evasion120 件以上の回避プローブを実行し、LLM を使用して新たなプローブを生成します
ParityNode と Python の実装が同じ判定を出すことを検証します
Proxy稼働中のプロキシインスタンスに対する、ライブ stdio MCP セッションテスト
Report結果とメトリクスの全容を記載した security-swarm/latest.json を書き込みます
ランタイムスウォーム

本番プロキシ内で、すべてのツール呼び出しに対して実行されます。

コンポーネント機能
BlockGuardすべての呼び出しに対して、アクティブなポリシーを同期的に適用します。フェイルクローズ方式です。
InstantLearnerブロックごとの統計情報を追跡し、ルールの提案をリアルタイムで提示します
SemanticAuditorパターンチェックを通過しても不審に見える呼び出しを、オプションで非同期に LLM でレビューします
PatternSynthesizerInstantLearner と SemanticAuditor からの提案をまとめて、候補ルールを作成します
Calibrator候補にラベルを付け、しきい値を調整し、承認されたルールを BlockGuard に戻して反映します
フィードバックループ
ループシグナル効果
ACI で回避が発見されたコーパスに追加され、CI が以降その脅威を継続的に防御します
Bランタイムのブロックパターン新しいルールに合成され、BlockGuard に反映されます
CCalibrator のラベルSemanticAuditor のしきい値の微調整に使用されます
DCI メトリクス(毎週)ランタイム設定を更新し、CI と本番環境を同期させます

プロキシは、stdio、HTTP、SSE、streamable HTTP、WebSocket の 5 つのトランスポートに対応しています。

Redis、Postgres、Kubernetes を使用するエンタープライズデプロイについては、docs/ENTERPRISE_DEPLOYMENT.md を参照してください。


Threat Lab

Threat Lab はライブトラフィックを監視し、不審なパターンを検出すると、ローカル LLM を使って新しい攻撃テストケースを提案します。何も自動的には適用されません。提案がルールになる前に、ダッシュボードですべての提案を確認し、承認してください。

承認された発見事項は、継続的な回帰テストのために CI の攻撃コーパスにフィードバックされます。

ollama serve
ollama pull qwen3:8b

export OLLAMA_BASE_URL=http://127.0.0.1:11434
export MASTYF_AI_LLM_PROVIDER=ollama
export MASTYF_AI_LLM_MODEL=qwen3:8b

pnpm dashboard:proxy
image

MCP パッケージの信頼スコア

npm から MCP サーバーをインストールする前に、https://www.mastyf.ai/certified で信頼スコアを確認してください。スコアには、CVE の露出、タイポスクワッティングのリスク、メンテナーに関するシグナル、既知の攻撃パターンが反映されます。無料で、アカウント登録も不要です。


よく使うコマンド

コマンド機能
pnpm dashboard:proxy標準のローカルアプライアンスおよびゲートウェイ BFF(:4000 の /api/gateway/*)。docs/DASHBOARD_CANONICAL_RUNBOOK.md を参照してください。
node dist/cli.js startポート 4000 でプロキシとダッシュボードを起動します
node dist/cli.js onboardMCP 設定をラップし、プロキシ経由でルーティングします
node dist/cli.js doctorDB、ポリシー、環境のヘルスチェックを実行します
node dist/cli.js scan --allMCP 設定をスキャンし、CVE とインジェクションのリスクを確認します
pnpm testテストスイート全体を実行します
pnpm security-swarm:fastセキュリティの回帰テストをすばやく実行します。所要時間は 5~15 分です
pnpm security-swarm:analyze包括的な敵対的分析を実行します

トラブルシューティング

問題対処方法
ダッシュボードにデータが表示されないプロキシとダッシュボードで同じ MASTYF_AI_DB_PATH を共有する必要があります。デフォルトは ~/.mastyf-ai/history.db です
dist/cli.js が見つからないpnpm build を実行してください
AI が引き続きツールを直接呼び出すnode dist/cli.js onboard --apply を実行してください
起動時に Ollama の警告が表示されるollama serve を実行するか、環境から MASTYF_AI_LLM_PROVIDER を削除してください
npm install が失敗するnpm での公開はまだ開始されていません。git clone と pnpm install を使用してください

詳しくはこちら


学術研究論文と引用

Mastyf Guard、そのベンチマーク手法、または Cognitive Harvard Architecture を研究や本番システムで使用する場合は、オープンアクセスの出版物を引用してください。

DOI

Das, R. (2026). AI エージェントのペリメーター防御のための Cognitive Harvard Architectures:Capability-Based Access Control による Model Context Protocol における Confused Deputy 問題の解決。 Zenodo。doi: 10.5281/zenodo.22179415。

@article{das2026cognitive,
  title={Cognitive Harvard Architectures for AI Agent Perimeter Defense: Resolving the Confused Deputy Problem in Model Context Protocol via Capability-Based Access Control},
  author={Das, Rudraneel},
  journal={Zenodo},
  year={2026},
  doi={10.5281/zenodo.22179415},
  url={https://doi.org/10.5281/zenodo.22179415}
}

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。