
Windowsネットワーク偵察スキャナ。pingスイープ、TCPポートスキャン、およびシャドウAI、不正なLLMデプロイメント、GPUインフラストラクチャを発見するための高度なAI/MLサービス検出を備えています。
AI/MLサービスを詳細に検出するネットワーク偵察ツール。ネットワークをスキャンしてホストや開いているポートを発見し、インフラ全体で稼働しているAIサービスを特定します。
シャドウAI、不正なLLMデプロイ、ネットワーク上のGPUインフラを可視化する必要があるセキュリティチーム、IT管理者、研究者向けに構築されています。
シャドウAIへの懸念は高まっており、これはネットワークをスキャンする簡単な方法を提供します。また、Windows向けの一般的なスキャンツールの多くは遅く、特に4K以上のモニターを使っている人にとってはインターフェースが貧弱です。Agrus ScannerはネイティブのC#/.NETとWPFで構築されています — Electronも組み込みブラウザもありません — そのため起動が速く、スキャンも速く、リソース消費も軽いままです。小さな文字を読むのに疲れていたので、友人やクライアントがシャドウAIをスキャンする方法を探していて、Windows向けのツールが存在しなかったとき、これは自然な組み合わせに思えました。
また、シンプルなネットワークスキャナとしても機能します — pingスイープ、ポートスキャン、ホスト名解決はすべて組み込まれています。基本的な偵察のために別のツールは必要ありません。しかしAgrusが本当に際立つのはAI検出です。ポートスキャンを超えて、発見したサービスにAI固有のAPI呼び出しで能動的にプローブし、モデル名、GPUの詳細、コンテナ情報、バージョンデータを取得します。ネットワーク上の誰かがAIサービスを実行していれば、Agrusはそれを見つけ出し、それが何であるかを正確に伝えます。
またMCPサーバーとしても動作するため、Claude CodeやOpenClawなどのAIエージェントがツールとして利用できます — ネットワークをスキャンし、ホストにプローブし、結果を自律的に取得します。エージェントをエンドポイントに向ければ、あとはすべて処理します。

Releasesから最新のインストーラーをダウンロードしてください:
AgrusScanner-Setup.msi — 自己完結型で、.NETランタイムは不要です。
Windows 10/11が必要です。インストーラーとインストールされるバイナリはAuthenticode署名されています(Azure Trusted Signing、発行元 Joseph Fago)。インストール後は検出シグネチャが自動的に最新の状態に保たれます。新しいインストーラーが必要になるのは、アプリ自体が変更されたときだけです。
Agrus Scanner 1.0は最初の安定版リリースです。 検出エンジン、署名済みシグネチャフィード、MCP統合は完成しており、サポートされています。今後は、新しいAIサービスはシグネチャ更新として配信され、アプリのバージョンはエンジン、UI、またはMCPツールが変更されたときだけ変わります。
AgrusScanner.exe、AgrusScanner.dllはAzure Trusted Signing経由でAuthenticode署名されています。いずれかが署名されていない場合、リリースは中止されます。シグネチャパッケージは別のキーで署名され、アプリは読み込む前に検証します。ポイントリリース(1.0.x)は修正のみを含みます。シグネチャのバージョンは日付形式(例: 2026.09.15.1)で、ステータスバーに表示されます。
initialize)、2026-07-28のステートレスなserver/discover、レガシーHTTP+SSE。サーバーが自己申告する名前、バージョン、機能(tools / resources / prompts)、プロトコルバージョンを表示します。検出中に開かれたセッションは即座に閉じられ、ツールが呼び出されることは一切ありません。signatures/catalog.jsonに置かれ、ベースラインとしてコンパイルされます。v0.4.1のシグネチャフィードの基盤です。--mcp-onlyモード)を無効にできるようになりました/.well-known/serviceinfoエンドポイント(TabbyAPIがデフォルトで公開する唯一の認証不要ルート)でフィンガープリントします検出はポートスキャンを超えています - プローバーはサービス固有のAPIエンドポイントにクエリを送り、モデル名、バージョン、GPU情報、コンテナの詳細を抽出します。
1.0以降、Agrusが検出できるものはアプリ自体から分離されています。ちょうどアンチウイルスがエンジンと定義を分離しているのと同じです。
仕組み
signaturesフィードに公開され、通常は新しいAIサービスが登場するたびに週次で更新されます。アプリは起動の数秒後にフィードをチェックし、その後は1日1回チェックします。2026.09.22.1)。選択肢(設定 → 更新 → 検出シグネチャ)
| モード | 動作 |
|---|---|
| 自動インストール(デフォルト) | 新しいシグネチャがサイレントにダウンロード・有効化され、次にプローブされるホストから適用されます |
| 通知のみ | ステータスバーにリンクが表示され、クリックするとインストールされます |
| オフ | フィードに一切接続せず、組み込みのベースラインが使用されます |
安全性の維持方法
initialize / server/discover / pingに限定されます)。アプリの更新が依然として必要なもの
まったく新しいサービスのための詳細抽出(モデルリスト、GPU名)はコードであるため、シグネチャは次のリリースが詳細を表示する前にサービスにラベルを付けることができます。エンジン、UI、MCPツールの変更もアプリのリリースであり、既存の更新チェックがそれを通知します。
シグネチャのコントリビュート
signatures/catalog.jsonにエントリを追加してプルリクエストを開いてください。CIのカタログゲートがそれを検証し、マージされるとフィードが自動的に公開されます。詳細はdocs/DEVELOPER.mdにあります。
AIスキャン結果は、抽出された詳細とともに検出されたサービスを表示します:
[LLM] Ollama :11434 (llama3, mistral) | [GPU Infra] NVIDIA DCGM :9400 (RTX 4090)
システムトレイアイコン付きのヘッドレスMCPサーバーとしてスキャナを実行します:
AgrusScanner.exe --mcp-only
これにより、http://localhost:8999/mcpでStreamable HTTP MCPサーバーが起動します(ポートは設定で変更可能)。AIエージェントはその後、スキャンツールを直接呼び出すことができます。
セキュリティに関する注意: MCPサーバーは
localhostのみにバインドし、DNSリバインディング攻撃をブロックするためにHostヘッダーを検証します。自分のマシン上のプロセスのみが接続できます。独自の認証レイヤーを追加せずに、リバースプロキシやトンネル経由でこのサーバーをネットワークに公開しないでください。
MCPツール:
| ツール | 説明 |
|---|---|
scan_network | IP範囲にわたるPingスイープ + ポートスキャン + DNS + AIプロービング |
probe_host | ポートスキャンとAI検出で単一IPを詳細スキャン |
list_presets | ポート数付きの利用可能なスキャンプリセットを一覧表示 |
プロジェクトには、Claude Codeをスキャナに接続する.mcp.jsonが含まれています。MCPサーバーを起動し、このプロジェクトでClaude Codeを使用します:
// .mcp.json (already included)
{
"mcpServers": {
"agrus-scanner": {
"type": "http",
"url": "http://localhost:8999/mcp"
}
}
}
Claude Codeスキルも.claude/skills/agrus-scanner/SKILL.mdに含まれており、エージェントにスキャンツールをいつ、どのように使用するかを教えます。
バンドルされているOpenClawプラグインをインストールします:
openclaw plugins install ./openclaw-plugin
OpenClaw設定で構成します:
{
"plugins": {
"entries": {
"agrus-scanner": {
"enabled": true,
"config": { "mcpUrl": "http://localhost:8999/mcp" }
}
}
}
}
.claude/skills/agrus-scanner/SKILL.mdのスキルは、オープンなAgentSkills形式に従っており、互換性のある任意のエージェント(Cursor、Gemini CLI、OpenClawなど)で動作します。ツールをMCPエンドポイントに向ければ、スキルが使用手順を提供します。
Agrus Scannerは2種類のアウトバウンドリクエストを行い、どちらもオプションで、どちらも設定 → 更新に表示されます:
api.jpftech.comに対して行われ、アプリバージョンとOSバージョンのみを送信します。個人データ、マシンID、IPアドレスは保存されません。トグル: 起動時にアプリの更新を確認する。github.com(signaturesリリース)に対して起動時と毎日行われ、小さなマニフェストを取得し、より新しい場合は署名済みパッケージを取得します。識別情報は送信されません。トグル: 検出シグネチャ → オフ。スキャントラフィック自体は、入力したIP範囲にのみ送信されます。設定は%LOCALAPPDATA%\AgrusScanner\settings.jsonに保存され、インストールされたシグネチャパッケージはその隣にsignatures.agsigとして存在します。
1.0まで引き継がれたハードニング:
export_resultsはユーザーのDocumentsフォルダに制限されています=、+、-、@)をエスケープしますSystem.Diagnostics.Traceに記録されるようになりましたMIT License — 自己責任で使用してください。完全な条件はLICENSEを参照してください。
| カテゴリ | 検出されるサービス |
|---|
| LLM | Ollama, vLLM, HF TGI, llama.cpp, KoboldCpp, LM Studio, LiteLLM, Jan.ai, GPT4All, LocalAI, FastChat, Tabby, Xinference, SGLang, text-generation-webui, NVIDIA NIM, NVIDIA Dynamo, OpenLLM, MLX-LM, llamafile, Aphrodite Engine, llama-swap, LMDeploy, exo, TabbyAPI |
| 画像生成 | Stable Diffusion (A1111), ComfyUI, InvokeAI, SD WebUI Forge, Fooocus-API |
| 動画生成 | SwarmUI, HunyuanVideo |
| 音声 / STT / TTS | Speaches, whisper.cpp, OpenedAI-Speech, F5-TTS, GPT-SoVITS, XTTS-API-Server, Coqui XTTS Streaming, Kokoro-FastAPI, Chatterbox-TTS-Server |
| MLプラットフォーム | NVIDIA Triton, TorchServe, TensorFlow Serving, MLflow, Ray Serve, BentoML, KServe, MindsDB |
| AIプラットフォーム | Open WebUI, AnythingLLM, LibreChat, Flowise, Dify, SillyTavern, n8n, PrivateGPT, Gradio apps |
| エージェントプラットフォーム | AutoGen Studio, Letta, OpenHands, CrewAI Studio, Langflow, OpenClaw |
| RAGプラットフォーム | Onyx, R2R, kotaemon, RAGFlow, Quivr, Verba, Khoj |
| 埋め込み | HF Text Embeddings Inference (TEI), Infinity |
| ベクトルDB | Qdrant, ChromaDB, Weaviate, Milvus |
| MCPサーバー | Streamable HTTP(initialize / server/discover)またはレガシーHTTP+SSE経由の任意のMCPサーバー、およびHome Assistant MCP。名前、バージョン、tools/resources/promptsを報告 |
| GPUインフラ | NVIDIA DCGM Exporter, Triton Metrics, TorchServe Metrics |
| コンテナ | 70以上のAIイメージパターンマッチを持つDocker API |
| キー |
|---|
| アクション |
|---|
| Ctrl + C | 選択したIPアドレスをコピー |
| Ctrl + = | ズームイン |
| Ctrl + - | ズームアウト |
| Ctrl + 0 | ズームをリセット |
| Ctrl + Scroll | ズーム |
| 右クリック | コンテキストメニュー(コピー、サービスのオープン) |