CyberMCP - MCP によるサイバーセキュリティ API テスト
CyberMCPは、バックエンドAPIのセキュリティ脆弱性をテストするために設計されたモデルコンテキストプロトコル(MCP)サーバーです。LLMがAPIの一般的なセキュリティ問題を特定するために使用できる、専用のツールとリソースのセットを提供します。
特徴
認証脆弱性テスト: JWTの脆弱性、認証バイパス、弱い認証メカニズムをチェックします
インジェクションテスト: SQLインジェクション、XSS、その他のインジェクション脆弱性をテストします
データ漏洩テスト:機密データの漏洩問題を特定する
レート制限テスト: レート制限バイパスと DDoS 脆弱性をテストします
セキュリティ ヘッダーのテスト: セキュリティ ヘッダーの不足や設定ミスがないか確認します
包括的なリソース: API セキュリティ テストのチェックリストとガイドにアクセスします
認証サポート: セキュアなエンドポイントをテストするための複数の認証方法
Related MCP server: Mutmut MCP
プロジェクト構造
CyberMCP/
├── src/
│ ├── tools/ # MCP tools for security testing
│ ├── resources/ # MCP resources (checklists, guides)
│ ├── transports/ # Custom transport implementations
│ ├── utils/ # Utility functions and auth management
│ └── index.ts # Main entry point
├── package.json # Dependencies and scripts
├── tsconfig.json # TypeScript configuration
└── README.md # This fileインストール
リポジトリをクローンします。
git clone https://github.com/your-username/CyberMCP.git cd CyberMCP依存関係をインストールします:
npm installプロジェクトをビルドします。
npm run build
使用法
MCPサーバーの実行
stdio トランスポート (デフォルト) または HTTP トランスポートのいずれかを使用してサーバーを実行できます。
stdio トランスポートの使用 (LLM プラットフォームとの統合用):
npm startHTTP トランスポートを使用する (ローカル開発およびテスト用):
TRANSPORT=http PORT=3000 npm startサーバーへの接続
MCP サーバーは、モデル コンテキスト プロトコルをサポートする LLM プラットフォームを含む任意の MCP クライアントに接続できます。
セキュリティツール
認証
CyberMCP は、セキュリティ保護された API をテストするためのいくつかの認証方法をサポートしています。
基本認証: ユーザー名とパスワードでHTTP基本認証を設定する
トークン認証: ベアラートークン、JWT、またはカスタムトークン形式を使用する
OAuth2認証: さまざまな許可タイプによる完全なOAuth2フローのサポート
カスタムAPIログイン: 任意のログインAPIエンドポイントに対して認証します
認証ツール:
basic_auth: ユーザー名/パスワードで認証するtoken_auth: トークンベースの認証を設定するoauth2_auth: OAuth2認証を実行するapi_login: カスタムAPIエンドポイントを使用してログインauth_status: 現在の認証ステータスを確認するclear_auth: 現在の認証状態をクリアする
認証テスト
JWT脆弱性チェック: JWTトークンのセキュリティ問題を分析します
認証バイパスチェック: エンドポイントの認証バイパス脆弱性をテストします
注入テスト
SQLインジェクションチェック: SQLインジェクションの脆弱性のパラメータをテストします
XSSチェック:クロスサイトスクリプティングの脆弱性をテストします
データ漏洩テスト
機密データチェック: 漏洩した個人情報、資格情報、機密情報を識別します
パストラバーサルチェック: ディレクトリトラバーサルの脆弱性をテストします
セキュリティヘッダーテスト
セキュリティ ヘッダー チェック: セキュリティのベスト プラクティスに基づいて HTTP ヘッダーを分析します
リソース
チェックリスト
cybersecurity://checklists/{category}からセキュリティ チェックリストにアクセスします。カテゴリは次のようになります。
authenticationinjectiondata_leakagerate_limitinggeneral
ガイド
詳細なテスト ガイドにguides://api-testing/{topic}からアクセスします。topic は次のようになります。
jwt-testingauth-bypasssql-injectionxssrate-limiting
APIテストに必要な情報
API のセキュリティ脆弱性を効果的にテストするには、次のものが必要です。
APIエンドポイント: テストするエンドポイントのURL
認証情報: 保護されたエンドポイントにアクセスするための資格情報またはトークン
パラメータ名: ユーザー入力を受け入れるパラメータの名前
テストデータ: パラメータの有効なサンプルデータ
期待される動作: 通常の応答はどのようになるか
認証フロー: 対象APIでの認証の仕組み
認証の例
基本認証
basic_auth:
username: "admin"
password: "secure_password"トークン認証
token_auth:
token: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
token_type: "Bearer"
expires_in: 3600OAuth2認証
oauth2_auth:
client_id: "client_123"
client_secret: "secret_456"
token_url: "https://example.com/oauth/token"
grant_type: "client_credentials"
scope: "read write"カスタムAPIログイン
api_login:
login_url: "https://example.com/api/login"
credentials:
username: "admin"
password: "secure_password"
token_path: "data.access_token"ライセンス
マサチューセッツ工科大学