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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
masq — AIエージェント基盤のライブ偵察とセキュリティ態勢監査:MCP設定、セッションログ、APIをスキャンし、シークレット、ポイズニングされたカタログ、CoTリークを検出します。 | Kitploit
ツール/GitLabGitLab/wattocyber/masq
偵察静的分析脆弱性分析APIセキュリティテスト構成監査シークレット検出サプライチェーンセキュリティAIセキュリティログ分析
GitLabwattocyber/masq

masq

AIエージェント基盤のライブ偵察とセキュリティ態勢監査:MCP設定、セッションログ、APIをスキャンし、シークレット、ポイズニングされたカタログ、CoTリークを検出します。

322ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

MASQ: モデルが座る場所に座る

モデルが座る場所に座る。モデルが見えるものを見る。

MASQ

MASQ は AI エージェントスタック向けのローカルセキュリティ CLI です。モデルが座るのと同じ席に座ります。MCP ツールカタログを読み取り、MCP ハンドシェイクを完了し、セッションログを調べ、ローカルモデルの HTTP ポートをプローブします。そして検出結果と修復策を出力します。

クライアントと同じように MCP と OpenAI 互換 HTTP を話します。ホスト偵察ツールのように報告します。ライブサーバー上でツールを呼び出したり、思考の連鎖を復号したり、ジェイルブレイクを生成したりはしません。

使うべき場面Cursor、VS Code、Claude、Codex、またはローカルモデルスタックを実行していて、エージェントが到達できる MCP サーバー、スキル、ログ、API を確認したいとき。
まずは以下の 2 分間デモから。このリポジトリ内で完結します。
ステータスベータ。cargo test が公開ゲートです。ライブプローブは自身が所有するホスト向けです。
ライセンスMIT

pipeline license rust

2 分間デモ

Rust stable(1.88 以降)と Python 3 が必要です。このリポジトリのクローンから:

cargo build --locked --bin masq
alias masq=./target/debug/masq

# or run the same walkthrough as a script:
# bash scripts/demo.sh

1. クリーンなカタログはクリーンなまま

masq fixtures/clean_calculator.json --trusted
CLEAN clean_calculator tools=2 hash=sha256:e680cd2e4ac6c80ec783f11a0d9272a6741797feba216eb8e79633dd59633ab4

0 で終了します。

2. 汚染されたカタログはゲートを通過できない

fixtures/t3_line_jump.json は sqrt ツールであり、その説明はモデルに対して、毎セッションで最初にこれを参照すること、およびシェルコマンドの先頭にカナリア curl を付けることを指示しています。これはカタログポイズニングであり、数学ではありません。

masq fixtures/t3_line_jump.json
FINDINGS t3_line_jump tools=1 findings=2 max=critical
 F-001 [critical] D02 mcp03=schema_poison sqrt Network exfiltration directive in schema
 path: $.tools[0].description
 F-002 [critical] D03 mcp03=schema_poison sqrt Line-jump: force tool consultation / session prefix
 path: $.tools[0].description

2 で終了します(--fail-on 以上の検出結果、デフォルトは high)。

3. モデルと同じ方法でライブ MCP を検証する

ツリー内のモックは stdio 経由で MCP を話します。masq は initialize、notifications/initialized、tools/list を送信します。tools/call は決して送信しません。

masq sit --plain --no-color -- python3 tests/mock_mcp_server.py
01 CATALOG
M-001 CRIT live Secret path or credential exfil directive
 Schema references secret file paths or credential stores in an agent-directed way.
 ACT Never reference host secret paths in tool metadata.
 LOCUS stdio:python3 :: add

M-002 HIGH live IPI / poison language in tool metadata
 Local classifier hit `system-override` in tool `add`.
 ACT Remove agent-directed instructions from the tool description.

M-003 HIGH live Instruction-override language in schema string
 Text matches common prompt-injection / instruction-override phrasing in tool metadata.

M-004 HIGH live Pre-action system instruction in schema
 Schema instructs the model to perform actions before the normal tool purpose.

02 SEAT
HIT stdio python3 init ok name=mock-poison tools=1

モックの add ツールの説明は、計算を行う前に ~/.ssh/id_rsa を読み取るようモデルに指示しています。masq はライブの tools/list からそれを検出し、2 で終了します。

4. サンプルセッションログをスニッフする

fixtures/demo/chat_history.jsonl には、偽の API キーと暗号化された thinking blob が仕込まれています。実際のチャット履歴ではなく、そのディレクトリを masq に指定してタイムラインを確認してください。

masq sniff --timeline --plain --no-color fixtures/demo
T0001 SECRET chat_history.jsonl:2 {"content":"Authorization: Bearer sk-x……
T0002 BLOB chat_history.jsonl:3 encrypted_content len=202

仕込まれた鍵は伏字化されている。暗号化された思考の連鎖は長さのみが報告され、復号はされない。

5. レビュー済みのカタログを固定し、ドリフトを検出する

masq pin fixtures/clean_calculator.json -k calc
masq check fixtures/clean_calculator.json -k calc --trusted

pin は .masq/pins.json を書き込みます。check は、ツール一覧やハッシュが変更された場合(rug-pull)に後で失敗します。

すべての箇所での終了コード: 0 クリーン · 2 検出結果 ≥ --fail-on · 1 エラー。

これは何のためか

静的 MCP スキャナーはスキーマを lint します。ヘルスチェックは initialize に ping を送ります。欠けているのは シート、つまりモデルがすでに使用しているファイル、リスナー、ハンドシェイクです。

  1. カタログポイズニング。 ツールの説明は、モデルにシークレットを窃取させたり、割り込みをさせたり、同じ名前の背後に2つ目のツールを隠させたりする可能性があります。masq はスキーマ全体を走査し、OWASP MCP Top 10 MCP03 の検出結果をタグ付けします。
  2. 認証なしの MCP。 公開 MCP サーバーの大部分は、認証なしで initialize を受け入れます。そのハンドシェイクを完了できれば、あなたはすでにエージェントです。masq は待機するだけで、ツールを呼び出しません。
  3. セッション残留物。 暗号化された推論ブロブは、しばしばクライアントにエコーバックされ、ログに保存されます。それらはセッションをまたぎ、公開された研究では、より弱い兄弟モデルをまたいで移動します(arXiv:2608.09867)。masq はそれらのブロブを 検出 します。デコードはしません。
  4. オープンなローカルモデルポート。 11434、8000 などは、しばしばベアラなしで 0.0.0.0 にバインドされます。masq は GET のみのプローブでサービス(Ollama、vLLM、LiteLLM、…)をフィンガープリントし、その後モデルを一覧表示します。
flowchart LR
 A["MCP tools/list JSON"] --> M[masq]
 B["Live MCP server"] --> M
 C["Session logs"] --> M
 D["Local model HTTP"] --> M
 M --> E["Findings + remediations"]
 M --> F["Optional pin store for CI"]

インストール

git clone https://gitlab.com/WattoCyber/masq.git
cd masq
cargo install --path . --locked
# command: masq
masq --version
masq --help

現行のRust stable(1.88以降。rustupでインストール)が必要です。cargo test が公開ゲートです。Python 3は、デモおよびテストにおけるライブstdioモックにのみ必要です。

SSH経由でリモートのUnixホスト上にビルドする場合(インストールのみ。そのホストをスキャンしません):

MASQ_REMOTE_HOST=user@host bash scripts/deploy_remote.sh
# on that host: masq --version

自分のスタックで使う

デモはこのリポジトリの外には出ません。以下のコマンドは外部にアクセスしますが、ラボの許可リストにオプトインしない限り、このマシンに限定されます。

すでに持っているカタログをスキャンする

tools/list の JSON をエクスポートまたは保存してから、次を実行します:

masq path/to/tools.json
masq path/to/tools.json --json
masq path/to/tools.json --markdown

.json のみのパスは scan に書き換えられます。2 つ以上の JSON ファイルは multi になります。

自分で運用しているサーバーを対象にする

masq sit -- python3 -m your_mcp
masq sit --url http://127.0.0.1:PORT/mcp

Loopback で十分です。ループバック以外の URL には --lab と許可リストに登録されたホストも必要です(以下を参照)。サーバーが認証を必要とする場合の認証情報:

masq sit --url http://127.0.0.1:PORT/mcp --token-file /path/to/token
masq sit --url http://127.0.0.1:PORT/mcp --token-env MCP_TOKEN
masq sit --url http://127.0.0.1:PORT/mcp --header "Authorization: Bearer …"

トークンはレポートに書き込まれることはありません。

このマシンを見てください

masq --plain                 # recon + sniff + API + skills + harness + steer, then the report
masq --json                  # same, machine-readable
masq tui                     # boxed live view; stays until Ctrl+C
masq discover                # known agent MCP config paths; no spawn
masq recon                   # configs, listeners, unpinned npx/uvx
masq sniff ~/path/to/sessions
masq api                     # fingerprint local LLM HTTP, then GET /v1/models
masq api --list-probes       # show the Julius-compatible probe pack
masq harness                 # on-disk harness policy, binds, creds, SSRF
masq steer                   # rules, hooks, subagents, local runtime, CDP, messaging

TTY上では、デフォルトのmasqコマンドが進捗をストリーミングし、その後レポートを出力します。スクリプトやcronでは--plainまたは--no-colorを渡す必要があります。

discoverは、VS Code、Cursor、Windsurf、Claude Desktop、Claude Code、Grok、Hermes、Pi、OMP、Codex、Continue、Gemini CLI、Amp、Kiro、OpenCode、Amazon Q、Antigravity、OpenClawの$HOME / %USERPROFILE%配下の従来のパスに加え、cwdの.mcp.jsonとMASQ_EXTRA_CONFIGを走査します。

harnessはMCP sitおよびAPI fingerprintとは別のセクションです。Hermes、Pi、OMP、Claude Code、Codex、Gemini CLI、OpenCode、OpenClaw、Grok、Amp、Amazon Qのディスク上のインストールを読み取ります: 承認/YOLOポリシー、メッセージングの全許可、ワイルドカードバインド、認証情報ファイルのモード、computer/browser/launchツール、cron自動承認、SSRF/リダクション/Tirithのオプトアウト、ペアリングおよびIDファイルのモード、OMPのshare/autolearn、Piのリモートパッケージ。ハーネスを起動したり、.envの値をダンプしたりはしません。

steerはharnessとは別のセクションです。指示ファイル(CLAUDE.md、AGENTS.md、Cursor/Gemini/Copilotルール)、Claude/Codex/Amazon Qのライフサイクルフック、Claude/OpenCodeのサブエージェント、インストール済みのClaudeプラグイン、Ollama/Open WebUIのenvフラグ、永続化されたChromiumの--remote-debugging-port、OpenClawのgateway.bind / dmPolicy / allowFromを読み取ります。ハーネスを起動したり、ツールを呼び出したり、.envの値をダンプしたりはしません。

カタログをローカルモックにクローンする

ツールをダウンロード