Cybersecurity Mcp Server について
Cybersecurity Mcp Serverは、セキュリティエンジニアやレッド/ブルーチーム、研究者向けのローカルMCPサーバーです。AIクライアントに偵察ツールを提供し、複数段階のスキャン結果を構造化されたシグナルにまとめます。
主な機能
- 01テレメトリーを外部送信しないローカル実行
- 02複数段階の並列偵察
- 03WHOISとDNSの照会
- 04ポートスキャンとSSL検査
- 05Web技術のフィンガープリント
- 06構造化された脅威シグナルの抽出
活用シーン
- 01ドメインとネットワーク資産の把握
- 02開放ポートとサービスの確認
- 03TLS証明書と設定の点検
- 04脅威分析向けのスキャン結果集約
MCP 対応
JSON-RPC 2.0 stdioを介して、偵察ツールと脅威分析用プロンプトをMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
リアルタイムのサイバーセキュリティ偵察、攻撃対象領域のマッピング、自動化された OSINT テレメトリを AI エージェントに直接提供する高性能な Model Context Protocol(MCP)サーバーです。
📚 目次
- 概要
- 機能
- ツールとプロンプト
- デモ
- 前提条件
- インストール
- 使用方法
- 例
- レジストリとエコシステム
- LLM クライアントの動作とセキュリティに関する考慮事項
- 法的および倫理的な使用
- 既知の制限事項
- プロジェクト構造
- ロードマップとディスカッション
- コントリビューション
- ライセンス
- 作者
🌐 概要
現代の大規模言語モデル(LLM)は、ネイティブの生ソケットアクセス、パケット生成機能、ライブネットワーク偵察プリミティブを持たない、サンドボックス化された非決定的な実行環境で動作します。攻撃対象領域の監査を任された場合、AI エージェントは静的なトレーニングカットオフの境界と、ライブネットワークインターフェースにクエリを実行できないという根本的な制約を受けます。
AynOps はこの運用上の隔たりを埋めます。 FastMCP フレームワークを使用して Model Context Protocol(MCP) 仕様の上に構築された AynOps は、拡張可能な決定論的サイバーセキュリティ偵察ツール群を、標準の JSON-RPC 2.0 stdio トランスポートを介して LLM エージェント(Cursor、VS Code、Claude Desktop、カスタム MCP クライアントなど)に直接公開します。
┌───────────────────────────┐ JSON-RPC 2.0 (stdio) ┌────────────────────────────────────────────────────────┐
│ AI / LLM Client │ ◄──────────────────────────────────► │ AynOps MCP Server │
│ (Cursor, VS Code, Claude) │ │ (Local Daemon) │
└───────────────────────────┘ └──────────────────────────┬─────────────────────────────┘
│
┌───────────────────────────────────────────────────────────┴──────────────────────────────┐
▼ ▼ ▼
┌──────────────────────────┐ ┌──────────────────────────┐ ┌──────────────────────────┐
│ Active Network │ │ DNS & OSINT │ │ Web & Cloud Audits │
│ • Nmap Port Scanner │ │ • Authoritative WHOIS │ │ • SSL/TLS X.509 Parser │
│ • Team Cymru ASN BGP │ │ • dnspython Resolver │ │ • HTTP Headers Linting │
│ • AbuseIPDB Threat Intel│ │ • crt.sh CT Log Parser │ │ • Multi-Cloud Storage │
└──────────────────────────┘ │ • Subdomain Takeover │ │ • Redirect Hop Tracer │
└──────────────────────────┘ └──────────────────────────┘
アーキテクチャのハイライト
- 🔒 ローカルファースト & ゼロテレメトリ送信: AynOps は、お使いのホストまたは分離されたコンテナ上で完全にローカルデーモンとして動作します。ターゲットへのクエリ、生の IP テレメトリ、内部ホストの詳細が外部のテレメトリコレクターを経由することはありません。
- ⚡ ウェーブベースの並行パイプライン: インテリジェントな 3 ウェーブの非同期実行モデルを通じて複雑な偵察タスクをオーケストレーションし、基盤となるネットワークプリミティブを並列で解決してから、依存するサービス、Web、脅威インテリジェンスのプローブをディスパッチします。
- 🧠 統合ヒューリスティックシグナル抽出: 異種のユーティリティ(Nmap、dnspython、cryptography、socket API)からの生出力を解析し、LLM 推論レイヤーが直接取り込めるように設計された構造化脅威シグナル(
tools/signals/)に正規化します。 - 🛠️ 標準化された MCP ツール & プロンプトプリミティブ: 公式の Model Context Protocol 標準に完全準拠し、自動化された脅威モデリングワークフロー向けにすぐ使えるツール宣言とメタプロンプト(
threat_analysis)をパッケージ化しています。
⚡ 機能
AynOps は、決定論的な自動化を求めるサイバーセキュリティエンジニア、レッド/ブルーチーム、セキュリティ研究者のためにゼロから設計されています。
- 🔒 100% ローカルファースト実行: テレメトリ漏洩ゼロのセルフホスト可能なローカルデーモンで、ターゲットの機密性を保持します。
- ⚡ 3 ウェーブ非同期偵察エンジン: 並列化された実行パイプラインにより、エンドツーエンドの完全偵察時間を最大 70% 短縮します。
- 🧠 構造化ヒューリスティックシグナル抽出: 生のターミナル出力を正規化された機械可読な脅威テレメトリに変換します。
- 🌐 包括的なペリメータマッピング: 権威ある WHOIS(RFC 3912)、包括的な DNS RR 解決、マルチスレッドの辞書ベースサブドメインブルートフォース。
- 📜 証明書透明性ログ抽出:
crt.shの追記専用 Merkle ツリーをリアルタイムでクエリし、パッシブなサブドメインおよびワイルドカード SSL の検出を行います。 - 🛡️ ダングリング DNS & サブドメイン乗っ取り検出: 8 社以上のクラウドプロバイダー(AWS S3、Azure、GitHub Pages、Heroku、Shopify、Fastly、Ghost、Pantheon)のシグネチャに対して CNAME ポインターを解決し、アクティブな HTTP 検証プローブを実行します。
- ☁️ マルチクラウドストレージバケット監査: ドメインキーワードの順列を生成し、AWS S3、Azure Blob Storage、Google Cloud Storage 全体で認証されていないパブリックアクセスをチェックします。
- 📧 RFC 準拠のメールセキュリティ評価: SPF(
v=spf1)、DKIM セレクター、DMARC 施行ポリシー(p=reject/quarantine/none)を監査し、定量的スコアリング(0~100)を行います。 - 🔍 多層 Web テクノロジーフィンガープリンティング: 4 層の非侵入型テクノロジー識別エンジン — HTTP レスポンスヘッダー(
Server、X-Powered-By、CDN マーカー)、Set-CookieCookie 名、<meta name="generator">タグの解析、HTML/アセットパスの部分文字列マッチング — により、信頼スコア(0~100)とエビデンス文字列を伴う構造化された検出結果を返します。 - 🔀 深層 HTTP リダイレクトチェーン & TLS ダウングレードトレーサー: ホップバイホップの 3xx ステータス分析により、SSL ストリッピング、RFC 1918 内部 IP アドレス漏洩、リダイレクトループ、クロスドメインホップを検出します。
- 🎯 リアルタイム NIST NVD v2 CVE クエリ: NIST National Vulnerability Database との直接 REST API 統合により、API キーなしで CVSS v3.1/v2 ベーススコア、CWE ベクター、エクスプロイト参照を取得します。
- 🤖 認知脅威分析メタプロンプト: 生のスキャンテレメトリを優先度付き脆弱性マトリックスと修復ロードマップに変換するネイティブ MCP プロンプトテンプレート。
- 📦 コンテナ対応アーキテクチャ: Nmap と Python 3.12 をプリインストールした本番対応の
Dockerfileを同梱し、ゼロ依存の stdio デプロイを実現します。
🛠️ ツール & プロンプト
AynOps は、構造化された MCP プロンプトテンプレートに加えて、17 の専門的な偵察ツールを提供します。
1. マルチウェーブ自動偵察パイプライン(full_recon)
full_recon ツールは、ツール間の依存関係の順序を維持しつつスキャンレイテンシを最小化するように設計された 3 ウェーブの並行パイプラインをオーケストレーションします。
Target Domain
│
├──► [Wave 1: Base Perimeter] ──► whois_lookup + dns_enumeration + ssl_inspect + email_security_check + asn_lookup
│
├──► [Wave 2: Service & Web] ──► port_scan (service) + tech_stack_detect + headers_analyzer + cert_transparency
│
└──► [Wave 3: Threat Feeds] ──► ip_reputation (AbuseIPDB - dynamically bound to resolved IP address)
│
▼
Signal Aggregator (tools/signals/) ──► Unified Heuristic Security Telemetry Payload
2. コア偵察ツール一覧(full_recon に含まれます)
ドキュメントの状況: すべてのツールとそのドキュメントの提供状況については、ツールドキュメントのインデックスをご覧ください。詳細なリファレンスページは、利用可能と表示されたツールについて現在提供されています。準備中と表示されたツールは実装済みで一覧に含まれていますが、専用のドキュメントページはまだありません。 | ツール | パラメーター | 基盤となる仕組み/標準 | テレメトリー出力 | ドキュメント | |---|---|---|---|:---:| |
whois_lookup|domain: str|python-whoisを介した RFC 3912 準拠のソケット検索 | レジストラーのメタデータ、登録/更新/有効期限のタイムスタンプ、ネームサーバー、登録者組織、ICANN のドメインステータスコード。 | 利用可能 | |dns_enumeration|domain: str| マルチレコード DNS リゾルバー(dnspython)+並行辞書ブルートフォース | コアリソースレコード(A、AAAA、MX、NS、TXT、CNAME、SOA、CAA)、エンタープライズ SRV レコード、DNSSEC レコード(DNSKEY、DS、RRSIG、NSEC、NSEC3)、CNAME チェーンの追跡、逆引き DNS PTR 検索、アクティブなサブドメイン。 | 利用可能 | |port_scan|target: strscan_type: strtimeout: int| 設定可能なプロファイルを使用したpython-nmapによる Nmap 統合 | ポートの状態(open/filtered)、サービスバナーの検出(-sV)、OS フィンガープリント(-O)、全ポートスキャン(-p-)、Nmap スクリプトエンジンによる脆弱性チェック(--script vuln)。 | 利用可能 | |ssl_inspect|domain: strport: int = 443|cryptographyを介した直接 TLS ハンドシェイクおよび X.509 証明書の解析 | 証明書のサブジェクト、発行者、シリアル番号、有効期間、有効期限までの日数、サブジェクト代替名(SAN)、ネゴシエートされた暗号スイート、TLS プロトコルバージョン、ワイルドカードおよび自己署名の検出、公開鍵アルゴリズム(RSA、ECDSA、Ed25519、…)、TLS と暗号強度の分類(Strong/Good/Weak)、弱いバージョンと弱い暗号のフラグ、証明書の状態(Healthy/Expiring Soon/Expired)、ポイントベースのスコアリングによる総合セキュリティ評価(Excellent/Good/Fair/Poor)、証明書拡張 URL(OCSP、CA Issuer、CRL)。 | 利用可能 | |email_security_check|domain: str| RFC 7208、RFC 6376、RFC 7489 に照らした DNS レコードの検証 | SPF レコードの解析(v=spf1)、DKIM セレクターのプローブ、DMARC 適用ポリシーの評価(p=reject/quarantine/none)、なりすまし対策スコア(0~100)、修復ガイダンス。 | 利用可能 | |tech_stack_detect|domain: str| 4 層エンジン:HTTP ヘッダー・Set-CookieCookie・<meta name="generator">・HTML/アセットパスの部分文字列。HTTPS から HTTP へのフォールバックと、512,000 バイトの本文上限に対応 | 6 カテゴリーにわたる、信頼度スコアと根拠文字列を含む構造化された検出結果:Web サーバー(nginx、Apache、IIS、Caddy)、プログラミング言語(PHP、Python、Ruby、Java、ASP.NET)、CMS プラットフォーム(WordPress、Drupal、Joomla、Shopify、Wix、Ghost、Webflow、Magento)、JS フレームワーク(React、Vue、Angular、Next.js、Nuxt.js、Svelte、jQuery、Bootstrap、Tailwind)、CDN/ホスティング(Cloudflare、Fastly、Akamai、Vercel、Netlify、AWS CloudFront、Azure、GCP)、分析ツール(GA、GTM、Hotjar、Mixpanel、Segment、Facebook Pixel、Plausible、Matomo)。 | 利用可能 | |cert_transparency|domain: str|curl_cffiを介したcrt.shへの HTTPS JSON クエリ | アクティブなターゲットスキャンを行わずに、検出されたサブドメイン、ワイルドカードパターン、証明書の発行者と有効日、集計数、切り詰め状態を出力します。 | 利用可能 | |asn_lookup|target: str| TCP ポート 43 経由の Team Cymru IP-to-ASN WHOIS サービス | 自律システム番号(ASN)、BGP ルーティングプレフィックス、AS 組織名、割り当てレジストリ(ARIN、RIPE、APNIC、LACNIC、AFRINIC)、国コード、割り当て日。 | 保留中 | |ip_reputation|ip_address: str| AbuseIPDB v2 REST API 統合(API キーが必要です) | 不正利用信頼度スコア(0~100%)、不正利用レポートの合計件数、利用分類(データセンター、ISP、商用)、ISP メタデータ、悪意ある活動の分類。 | 保留中 | |headers_analyzer|domain: str| 現代の Web セキュリティ標準に照らした HTTP/HTTPS レスポンスヘッダーのチェック |Strict-Transport-Security(HSTS)、Content-Security-Policy(CSP)、X-Frame-Options、X-Content-Type-Options、Referrer-Policy、Permissions-Policy、クロスオリジン分離ヘッダーの重要度評価。 | 保留中 | |full_recon|domain: str| 10 個すべてのコア偵察エンジンを複数のウェーブに分けて非同期実行 | ドメイン所有権、ネットワークインフラストラクチャ、ホストサービス、TLS 設定、セキュリティヘッダーを相互に関連付けた、集約済みの構造化テレメトリーペイロード。 | 保留中 |
3. スタンドアロンの攻撃的ツール
| ツール | パラメータ | 基盤となるメカニズム / 標準 | テレメトリ出力 | ドキュメント |
|---|---|---|---|---|
cve_lookup | software: strversion: str | NIST National Vulnerability Database (NVD) v2 REST API インターフェース | 既知の CVE ID、CVSS v3.1 / v2 の基本深刻度スコア、ベクター文字列、CWE 分類、脆弱性の概要、および公式のエクスプロイト / アドバイザリ参照。(API キー不要) | 保留中 |
cloud_exposure_check | domain: str | キーワード順列 & 非認証 HTTP バケットプロービング | 公開アクセス可能な AWS S3 バケット (s3.amazonaws.com)、Azure Blob Storage コンテナ (blob.core.windows.net)、および Google Cloud Storage バケット (storage.googleapis.com)。 | 保留中 |
trace_redirects | url: str | ホップバイホップ HTTP 3xx リダイレクトチェーン追跡 (RFC 7231) | 完全なリダイレクト軌跡、ステータスコード (301、302、307、308)、TLS プロトコルのダウングレード (HTTPS → HTTP)、RFC 1918 プライベート IP アドレスの漏洩、リダイレクトループ、およびクロスドメインホップ。 | 保留中 |
robots_txt_inspect | domain: str | HTTP 取得 & 標準準拠の robots.txt ディレクティブ解析 | 禁止されたエンドポイント、管理コンソール、隠されたステージング / API ルート、crawl-delay パラメータ、および宣言された XML サイトマップパス。 | 保留中 |
subdomain_takeover | domain: str | 境界付き CNAME チェーン解決 + クラウドプロバイダーのフィンガープリント照合 + HTTP プローブ確認 | プロビジョニング解除されたクラウドインフラ (GitHub Pages、Heroku、AWS S3、Azure App Services、Ghost、Shopify、Fastly、Pantheon) にマッピングされたダングリング DNS ポインタを特定し、走査された各チェーンを cname_chains に返します。 | 保留中 |
hibp_check | query: str | Have I Been Pwned (HIBP) API v3 統合 (API キーが必要) | 公開データ侵害全体にわたる侵害されたドメインとメールアカウント、ペーストサイトでの露出、侵害されたデータクラス、および侵害タイムライン統計。 | 保留中 |
4. 専門的な AI プロンプトテンプレート
| プロンプト | コンテキストツール | 説明 |
|---|---|---|
threat_analysis | full_recon | 専門の脅威アナリストの認知フレームを LLM エージェントに注入し、生の full_recon テレメトリを、脆弱性の優先順位付け、攻撃ベクター分析、および防御強化ロードマップを備えた実用的な脅威インテリジェンスレポートへと相関させます。 |
📸 デモ
単一ツールの実行 — CVE 脆弱性検索
API 認証を必要とせずに、特定のソフトウェアコンポーネントとパッチリビジョンについて、NIST National Vulnerability Database (NVD) v2 API に対して既知の Common Vulnerabilities and Exposures (CVE) を直接検索します:
完全な偵察パイプライン — 並列化されたセキュリティ評価
3 ウェーブ並列実行エンジンをトリガーし、ネットワーク境界の状態、DNS リソースレコード、SSL/TLS の態勢、メールのなりすまし対策の実施状況、HTTP ヘッダー、およびソフトウェアスタックのフィンガープリントを 1 つの構造化レポートに統合します:
📋 前提条件
サーバーを起動する前に、ホスト環境が以下のランタイム要件を満たしていることを確認してください。
- Python ランタイム: Python
>= 3.12(Python をダウンロード) - ネットワークスキャナー: Nmap バイナリがインストールされ、システムの
PATHからアクセス可能であること (Nmap をダウンロード) - 環境およびパッケージマネージャー:
uv(高性能な仮想環境に推奨、uv をインストール) またはpip - バージョン管理: Git (Git をダウンロード)
- MCP クライアント: Cursor、VS Code (MCP 拡張機能)、Claude Desktop、Continue.dev、Zed、または MCP JSON-RPC プロトコルを実装した任意のクライアント。
- コンテナランタイム (オプション): Docker Engine / Docker Desktop (Docker をダウンロード)
⚙️ インストール
方法 1: ローカル仮想環境のセットアップ (推奨)
ステップ 1: リポジトリをクローンする
git clone https://github.com/AynOps/AynOps.git
cd AynOps
ステップ 2: 仮想環境を準備して依存関係をインストールする
uv を使用する場合 (最速):
uv sync
あるいは、標準的な Python ツールを使用する場合:
python -m venv .venv
# On Linux/macOS:
source .venv/bin/activate
# On Windows (PowerShell):
.venv\Scripts\Activate.ps1
pip install -e .
ステップ 3: Nmap をインストールして設定する
port_scan ツールのために、Nmap をローカルにインストールし、システムの PATH に登録する必要があります:
Windows でのインストール手順
- nmap.org/download.html からセットアップインストーラーをダウンロードして実行します。
- Nmap をシステムの
PATHに追加します:- スタート を開く → 環境変数 を検索 → システム環境変数の編集 をクリックします。
- システム環境変数 で Path を選択 → 編集 をクリック → 新規 をクリックします。
- インストールパスを追加します:
C:\Program Files (x86)\Nmap(またはC:\Program Files\Nmap)。 - OK をクリックしてすべてのダイアログを確定します。
- 新しい PowerShell ターミナルを開いて確認します:
nmap --version
macOS でのインストール手順
Homebrew 経由でインストールします:
brew install nmap
nmap --version
Linux でのインストール手順
システムのパッケージマネージャー経由でインストールします:
# Debian / Ubuntu / Kali
sudo apt update && sudo apt install -y nmap
# Fedora / RHEL
sudo dnf install -y nmap
# Arch Linux
sudo pacman -S nmap
ステップ 4: MCP クライアントを設定する
クライアントの MCP 設定ファイル (例: Claude Desktop、Cursor、VS Code) を探して編集します:
| オペレーティングシステム | 設定ファイルのパス (Claude Desktop) |
|---|---|
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
AynOps サーバーのスタンザを挿入します:
Windows (claude_desktop_config.json):
{
"mcpServers": {
"AynOps": {
"command": "C:\\full\\path\\to\\AynOps\\.venv\\Scripts\\python.exe",
"args": ["C:\\full\\path\\to\\AynOps\\server.py"],
"env": {
"ABUSEIPDB_API_KEY": "your-abuseipdb-api-key-here",
"HIBP_API_KEY": "your-hibp-api-key-here"
}
}
}
}
macOS / Linux (claude_desktop_config.json):
{
"mcpServers": {
"AynOps": {
"command": "/full/path/to/AynOps/.venv/bin/python3",
"args": ["/full/path/to/AynOps/server.py"],
"env": {
"ABUSEIPDB_API_KEY": "your-abuseipdb-api-key-here",
"HIBP_API_KEY": "your-hibp-api-key-here"
}
}
}
}
重要
クライアントが一致しないグローバル Python ランタイムにバインドされるのを防ぐため、常に
.venvの Python バイナリとserver.pyファイルへの 絶対ファイルシステムパス を指定してください。
メモ
ABUSEIPDB_API_KEYはオプションであり、ip_reputationにのみ必要です (abuseipdb.com で無料取得できます)。HIBP_API_KEYはオプションであり、hibp_checkにのみ必要です (haveibeenpwned.com/API/Key で取得できます)。その他すべてのツールは API キーなしで動作します。
ステップ 5: クライアントを起動して登録を検証する
- 実行中のすべてのクライアントプロセスを完全に終了します (タスクマネージャー / アクティビティモニタにバックグラウンドインスタンスが残っていないことを確認してください)。
- MCP クライアントを再度開きます。
- 以下をクエリしてツールが利用可能であることを確認します:
What cybersecurity tools do you have available?
方法 2: Docker によるコンテナ化デプロイメント
AynOps は、Python 3.12、uv、nmap をバンドルした本番対応の Dockerfile を提供しており、ホスト側の依存関係要件を排除します。
ステップ 1: イメージをビルドする
git clone https://github.com/AynOps/AynOps.git
cd AynOps
docker build -t aynops:latest .
ステップ 2: Stdio トランスポートを検証する
ワンショットのコンテナ実行を行います。コンテナは初期化され、stdin で MCP JSON-RPC メッセージを待ち受けます:
docker run --rm -i aynops:latest
# Press Ctrl+C to exit
ステップ 3:Docker 実行用にクライアントを設定する
コンテナを直接起動するようにクライアントを設定します:
{
"mcpServers": {
"AynOps": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e", "ABUSEIPDB_API_KEY=your-abuseipdb-api-key-here",
"-e", "HIBP_API_KEY=your-hibp-api-key-here",
"aynops:latest"
]
}
}
}
ヒント
MCP プロトコルで必要となる標準入出力の通信パイプを維持するため、コンテナはデタッチフラグ(
-d)を使用せず、インタラクティブモード(-i)で実行する必要があります。
🚀 使用方法
自然言語によるツール呼び出し
接続後は、個々の偵察ツールを操作したり、複合的な分析クエリを入力したりできます:
# Domain & DNS Reconnaissance
"Perform a WHOIS query on target-organization.com"
"Enumerate all DNS resource records and brute-force common subdomains for example.com"
"Query Certificate Transparency logs for *.internal.corp.com"
# Network & Host Fingerprinting
"Run a service version port scan on scanme.nmap.org"
"Execute an ASN lookup for IP 1.1.1.1 and identify the BGP prefix"
"Analyze the IP reputation of 198.51.100.42"
# Web Application & Perimeter Security
"Inspect the SSL/TLS certificate of payment.gateway.io on port 443"
"Audit the HTTP security headers of enterprise-app.com and report misconfigurations"
"Fingerprint the CMS, JavaScript frameworks, and CDNs running on target.com"
"Trace the HTTP redirect chain for http://insecure-portal.com"
"Inspect robots.txt on admin.target.com for unindexed endpoints"
# Vulnerability & Threat Audits
"Look up known CVEs for OpenSSH version 8.2p1"
"Check if cloud storage buckets exist for domain fincorp-assets.com"
"Detect dangling CNAME records susceptible to subdomain takeover on cloudapp.net"
"Query Have I Been Pwned for breaches associated with [email protected]"
ポートスキャンのプロファイル
port_scan ツールは、実行速度と評価の深度に合わせて複数のスキャン戦略をサポートしています:
プロファイル(scan_type) | Nmap フラグの相当値 | 実行範囲 |
|---|---|---|
basic | -F | 最も一般的な TCP ポートの上位 100 個をスキャンします |
service | -sV --version-light | 上位ポートに加え、バナーの取得とバージョンの特定を行います |
os | -O | TCP/IP スタックのフィンガープリントを取得します(昇格した権限が必要です) |
full | -p- | 65,535 個すべての TCP ポートを対象に、網羅的な監査を行います |
vuln | --script vuln | オープンサービスに対して NSE の脆弱性検出スクリプトを実行します |
呼び出し例:
Scan target scanme.nmap.org using the 'service' profile.
threat_analysis プロンプトによるエンドツーエンドの脅威モデリング
対応する MCP クライアントで脅威インテリジェンスを最適に統合するには:
- MCP クライアント(例:Claude Desktop)で、プロンプト入力欄の
+アイコンをクリックします。 - Connectors → Add from AynOps を選択します。
threat_analysisプロンプトテンプレートを選択します。- 対象の偵察プロンプトを実行します:
Do a complete security recon on scanme.nmap.org - LLM が
full_reconを呼び出して正規化されたシグナルを処理し、オープンポートと潜在的な CVE、欠落しているヘッダー、メールのなりすまし可能性、インフラストラクチャのリスク要因を対応付けた相関マトリクスを生成します。
💡 使用例
シナリオ 1:CVE パッチの検証と脆弱性の相関分析
User: Run a service scan on our perimeter host and cross-reference detected software with NVD for CVEs.
Agent: [Invokes port_scan with scan_type="service"]
Discovered Open Services:
• Port 80/tcp: Apache httpd 2.4.49
• Port 22/tcp: OpenSSH 7.4
[Invokes cve_lookup for software="apache", version="2.4.49"]
Critical Findings:
• CVE-2021-41773 (CVSS 9.8) — Remote Code Execution via Path Traversal.
Remediation: Upgrade Apache to >= 2.4.51 immediately.
シナリオ 2:放置された DNS サブドメインの乗っ取りに関するトリアージ
User: Check our domain company.com for dangling DNS records pointing to abandoned cloud services.
Agent: [Invokes subdomain_takeover for "company.com"]
Resolved CNAME: blog.company.com -> company-blog.ghost.io
HTTP Verification Probe: HTTP 404 - "Fastly error: unknown domain company-blog.ghost.io"
Status: HIGH RISK — Dangling CNAME pointer detected for Ghost/Fastly infrastructure.
Remediation: Remove the orphaned CNAME DNS record from your authoritative nameservers.
シナリオ 3:認証なしでアクセス可能なマルチクラウドストレージの露出
User: Does our company domain 'megacorp.io' expose any unauthenticated cloud storage containers?
Agent: [Invokes cloud_exposure_check for "megacorp.io"]
Probing Permutations across AWS S3, Azure Blob, GCS...
• https://megacorp-data.s3.amazonaws.com — AccessDenied (Secured)
• https://megacorp-backup.s3.amazonaws.com — HTTP 200 OK (PUBLIC LISTING ENABLED)
Found XML object keys: /db_dump_2025.sql.gz, /employee_records.csv
• https://megacorp.blob.core.windows.net/public — HTTP 404 (Not Found)
シナリオ 4:HTTP リダイレクトチェーンと TLS ダウングレードの分析
User: Trace the redirect chain for http://legacy.portal.org
Agent: [Invokes trace_redirects for "http://legacy.portal.org"]
Hop 1: http://legacy.portal.org (301 Moved Permanently)
Hop 2: https://auth.portal.org/login (302 Found)
Hop 3: http://internal-sso.portal.org/auth (302 Found) ⚠️ TLS DOWNGRADE DETECTED
Hop 4: http://192.168.1.50/dashboard ⚠️ PRIVATE IP LEAK (RFC 1918)
📦 レジストリとエコシステム
mcp-name: io.github.AynOps/AynOps
AynOps は、以下の公式レジストリでインデックス化され、配布されています:
| レジストリ | 識別子/リンク |
|---|---|
| Official MCP Registry | io.github.AynOps/AynOps |
| PyPI Package Index | pypi.org/project/AynOps/ |
| Glama MCP Registry | glama.ai/mcp/servers/AynOps/AynOps |
🤖 LLM クライアントの動作とセキュリティに関する考慮事項
AynOps は、MCP 上で厳密に実行サーバーとして動作します。ツールの呼び出し判断、パラメーターの生成、プロンプトの連鎖は、接続されたLLM クライアントによって制御されます。
- モデルのガードレールと安全フィルター:Anthropic や OpenAI などの一部の LLM プロバイダーは、ヒューリスティックな安全フィルターを適用しています。*「example.com を攻撃して」のような問い合わせや、「example.com をポートスキャンして」*のような一般的な表現でさえ、商用フロントエンドで拒否されることがあります。
- 回避策 1:プロンプトを防御的な表現にします(例:「example.com にある自社インフラの防御セキュリティ態勢を監査して」)。
- 回避策 2:開発者向け、または制約のない MCP クライアント(Cursor、Ollama 経由でローカルモデルを使用する Continue.dev、または近日公開予定の AynOps Dedicated Client など)に AynOps を接続します。
- 実行タイムアウト:すべての 65,535 ポートを対象とする
fullポートスキャンなど、大規模な操作は、クライアントのデフォルトの JSON-RPC タイムアウトしきい値(通常 60~120 秒)を超える場合があります。ツールのタイムアウトを適切に設定するか、basicおよびserviceプロファイルを使用してください。 - パラメーター抽出の精度:クライアント側のスキーマ検証エラーを防ぐため、プロンプトには完全修飾ドメイン名(FQDN)または有効な IPv4/IPv6 アドレスを指定してください。
⚖️ 法的および倫理的な利用
注意
自らが所有するインフラ、またはテストの明示的かつ文書化された許可を得ているインフラに対してのみ、アクティブなネットワークスキャンや脆弱性評価を実施してください。
- パッシブ OSINT ツール(
whois_lookup、dns_enumeration、asn_lookup、cert_transparency、headers_analyzer、cve_lookup、robots_txt_inspect):公開情報として提供されているレコードと標準的な Web レスポンスのみを対象として動作します。 - アクティブスキャンツール(
port_scan、cloud_exposure_check、subdomain_takeover):アクティブなネットワークトラフィックを送信します。許可のないスキャンは、Computer Fraud and Abuse Act(CFAA)、GDPR、および各地域のサイバー関連規制に違反する可能性があります。 - テストを許可されたホスト:本番環境に影響を与えるリスクなしでテストやデモを行うには、Nmap が公式に指定しているテストホスト
scanme.nmap.orgを使用してください。
⚠️ 既知の制限事項
- OS 検出に必要な権限:Nmap の OS フィンガープリント(
scan_type="os")は、RAW TCP/IP ソケットの生成(-O)を利用するため、ホストシステムで root/Administrator の昇格権限が必要です。 - 上流 OSINT のレート制限:サードパーティのエンドポイント(
crt.shの Certificate Transparency ログ、NIST NVD v2 REST API など)と連携するツールは、上流サービスの可用性とレート制限の影響を受けます。 - API キーへの依存:
ip_reputationとhibp_checkでリアルタイムのテレメトリーを取得するには、環境変数に有効な API キーを設定する必要があります。 - コンテナーの標準入出力のライフサイクル:Docker 経由でデプロイする場合、コンテナーは接続された対話型の
stdioストリームを維持する必要があります。デタッチされたデーモンモード(-d)で実行すると、MCP パイプが終了します。
🗂️ プロジェクト構成
AynOps/
├── .github/ # GitHub workflows, templates, and assets
│ ├── images/ # Documentation and demo media
│ ├── ISSUE_TEMPLATE/ # Issue templates
│ └── workflows/ # CI/CD workflows
├── docs/ # Extended documentation
│ └── tools/ # Per-tool documentation
├── tests/ # Unit and integration tests
├── tools/ # MCP reconnaissance tools
│ ├── fingerprint/ # Web technology fingerprinting engine
│ ├── prompts/ # MCP prompt templates
│ └── signals/ # Signal extraction framework
├── utils/ # Shared utilities and helpers
├── .env.example # Environment variable template
├── .gitignore # Git ignored files and directories
├── .python-version # Mentions the Python version
├── CONTRIBUTING.md # Contribution guidelines
├── Dockerfile # Container configuration
├── glama.json # Glama MCP configuration
├── LICENSE # MIT License
├── mcp.json # MCP metadata and tool manifests
├── pyproject.toml # Project metadata and dependencies
├── README.md # Project documentation
├── SECURITY.md # Security policy
├── server.json # MCP server package schema
├── server.py # FastMCP server entrypoint
└── uv.lock # Dependency lockfile
🗺️ ロードマップとディスカッション
コミュニティからのアイデア、RFC、ツールのリクエスト、ロードマップの計画について話し合うため、GitHub Discussions を設けています。
現在予定されている内容は**ロードマップ**をご確認ください。
💬 ぜひ会話にご参加ください:AynOps GitHub Discussions でフィードバックを共有し、新しいツールを提案したり、ロードマップの機能に投票したりしてください!
🤝 コントリビューション
コントリビューション、課題の報告、機能のリクエストを歓迎します!開発環境のセットアップ、プロジェクト構成、新しいツールのサポート追加方法については、CONTRIBUTING.md をご覧ください。現在、ここが最も価値の高い貢献先です。参加者は全員、行動規範に従うことが求められます。
簡単な手順:
- リポジトリをフォークします
- 機能ブランチを作成します(
git checkout -b feature/amazing-feature) - 変更をコミットします
- ブランチにプッシュし、プルリクエストを作成します
バグやセキュリティ脆弱性を見つけた場合は、開発者に直接報告してください。
📜 ライセンス
このプロジェクトはMITライセンスのもとでライセンスされています。詳細はLICENSEファイルをご覧ください。このソフトウェアは、商用およびオープンソースの環境で自由に使用、変更、配布、統合できます。
👤 作者
Gaohar Imran
- GitHub: @gaoharimran29-glitch
- LinkedIn: Gaohar Imran
AynOpsの初期貢献者の一人である@SemTiOneに、心より感謝します。 プロジェクトを通じた貴重な貢献、レビュー、フィードバック、継続的なサポートに感謝しています。特に初期段階での支援に、心から感謝します。❤️
@Nitjsefnieに、心より感謝します。 プロジェクト全体にわたる複数の貢献を通じて、AynOpsに継続的かつ積極的に関わってくださっています。継続的な努力、自発性、そしてプロジェクトを改善しようとする姿勢に、深く感謝しています。❤️
コード、ドキュメント、テスト、アイデア、レビュー、フィードバックを通じてAynOpsの改善に協力してくださったすべての貢献者に、感謝します。 皆さんの貢献に、心から感謝しています。❤️
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。