mcpField
D
DevSecOps Mcp

DevSecOps Mcp

ローカル
github.com/jmstar85セキュリティ1768 週間前に更新

DevSecOps Mcp について

DevSecOps Mcpは複数のアプリケーションセキュリティスキャンを統合するMCPサーバーで、開発ワークフローで検査を行うチーム向けです。ポリシーゲートに対応し、複数形式のレポートを生成します。

主な機能

  1. 01SAST・DAST・IAST・SCAスキャンの統合
  2. 02JSON・HTML・PDF・SARIFレポートの生成
  3. 03セキュリティしきい値とポリシーゲートの設定
  4. 04Dockerデプロイへの対応
  5. 05パフォーマンス指標とログの記録

活用シーン

  1. 01ソースコードのセキュリティ問題のスキャン
  2. 02Webアプリケーションの実行時リスク検査
  3. 03プロジェクト依存関係の脆弱性確認
  4. 04スキャン結果に基づくセキュリティポリシーの検証

MCP 対応

このMCPサーバーは、SAST、DAST、IAST、SCAスキャン、セキュリティレポート生成、ポリシー検証のツールをクライアントに提供します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

DevSecOps MCP サーバー

AI を活用した DevSecOps の自動化を実現するため、静的アプリケーションセキュリティテスト(SAST)、動的アプリケーションセキュリティテスト(DAST)、対話型アプリケーションセキュリティテスト(IAST)、ソフトウェア構成分析(SCA)ツールを統合する包括的な Model Context Protocol(MCP)サーバーです。

🚀 機能

  • SAST 統合:✅ Semgrep、Bandit(検証済み)
  • DAST 統合:✅ OWASP ZAP(検証済み)
  • IAST 統合:✅ Trivy + OWASP ZAP ハイブリッド(検証済み)
  • SCA 統合:✅ npm audit、OSV Scanner、Trivy(検証済み)
  • 包括的なセキュリティレポート:JSON、HTML、PDF、SARIF 形式
  • ポリシー適用:設定可能なセキュリティしきい値とゲート
  • Docker サポート:セキュリティツールを含む完全なコンテナ化
  • リアルタイム監視:パフォーマンスメトリクスとログ記録
  • 100% オープンソース:商用ツールへの依存なし
  • AI を活用した分析:インテリジェントなセキュリティ分析情報を得るための Claude 統合

🛠️ アーキテクチャ

src/
├── mcp/
│   ├── server.ts           # Main MCP server
│   ├── tools/
│   │   ├── sast-tool.ts    # SAST integration
│   │   ├── dast-tool.ts    # DAST integration  
│   │   ├── iast-tool.ts    # IAST integration
│   │   └── sca-tool.ts     # SCA integration
│   └── connectors/
│       ├── sonarqube.ts
│       ├── zap.ts
│       ├── trivy.ts
│       └── osv-scanner.ts
├── config/
│   ├── security-rules.yml
│   └── tool-configs.json
└── tests/security/

🔧 インストール

前提条件
  • Node.js 18+
  • Python 3.8+(セキュリティツール用)
  • Docker & Docker Compose(コンテナ化デプロイ用)
必須のセキュリティツールのインストール(検証済み)
# SAST tools
pip3 install semgrep bandit

# DAST tools (Docker)
docker pull owasp/zap2docker-stable

# SCA tools (npm audit is included with Node.js)
# OSV Scanner (optional)
wget -qO- https://github.com/google/osv-scanner/releases/latest/download/osv-scanner_linux_amd64.tar.gz | tar -xz -C /usr/local/bin

# Trivy (optional)  
wget -qO- https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh
ローカル開発
  1. リポジトリをクローンする

    git clone <repository-url>
    cd DevSecOps-MCP
    
  2. 依存関係をインストールする

    npm install
    
  3. 環境を設定する

    cp .env.example .env
    # Edit .env with your tool credentials
    
  4. プロジェクトをビルドする

    npm run build
    
  5. サーバーを起動する

    npm run start:mcp
    
Docker デプロイ
  1. Docker Compose を使用する(推奨)

    # Copy environment file
    cp .env.example .env
    # Edit .env with your credentials
    
    # Start all services
    docker-compose up -d
    
  2. Docker を直接使用する

    # Build image
    docker build -t devsecops-mcp .
    
    # Run container
    docker run -p 3000:3000 --env-file .env devsecops-mcp
    

🔌 MCP クライアントの設定

この MCP サーバーを Claude Desktop やその他の MCP クライアントで使用するには、クライアントの設定が必要です。

Claude Desktop の設定
  1. Claude Desktop の設定ファイルを探します:

    • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows:%APPDATA%\Claude\claude_desktop_config.json
  2. DevSecOps MCP サーバーの設定を追加します:

    {
      "mcpServers": {
        "devsecops": {
          "command": "node",
          "args": ["dist/src/mcp/server.js"],
          "cwd": "/path/to/DevSecOps-MCP",
          "env": {
            "NODE_ENV": "production",
            "MCP_PORT": "3000",
            "LOG_LEVEL": "info",
            "SECURITY_STRICT_MODE": "true"
          }
        }
      }
    }
    
  3. 別の方法:付属の設定ファイルを使用します:

    # Copy the provided configuration
    cp .mcprc.json ~/Library/Application\ Support/Claude/claude_desktop_config.json
    
    # Edit the cwd path to match your installation
    
その他の MCP クライアント

その他の MCP クライアントでは、mcp-server.json のサーバー設定を使用します:

{
  "name": "devsecops-mcp-server",
  "command": "node dist/src/mcp/server.js",
  "args": [],
  "capabilities": ["tools"]
}
環境の設定

必要な環境変数がすべて設定されていることを確認します:

# Copy environment template
cp .env.example .env

# Edit with your configuration
nano .env

基本機能に必須:

  • SONARQUBE_URL(SonarQube を使用する場合)
  • ZAP_URL(OWASP ZAP を使用する場合)

任意ですが、設定を推奨:

  • OSV_SCANNER_PATH
  • TRIVY_PATH
  • TRIVY_CACHE_DIR

🔐 設定

環境変数

主な環境変数(一覧は .env.example を参照):

# Server Configuration
NODE_ENV=production
MCP_PORT=3000
SECURITY_STRICT_MODE=true

# Tool Configuration
SONARQUBE_TOKEN=your-token
ZAP_API_KEY=your-key
OSV_SCANNER_PATH=osv-scanner
TRIVY_PATH=trivy
TRIVY_CACHE_DIR=/tmp/trivy-cache
セキュリティルール

src/config/security-rules.yml を編集して、以下をカスタマイズします:

  • 脆弱性のしきい値
  • 品質ゲート
  • ポリシー適用
  • ツールの設定
ツールの設定

src/config/tool-configs.json を編集して、以下を設定します:

  • ツール固有の設定
  • スキャンポリシー
  • 統合パラメーター

📊 MCP ツール

サーバーは以下の MCP ツールを提供します:

1. SAST スキャン
{
  "name": "run_sast_scan",
  "description": "Execute SAST security scan",
  "inputSchema": {
    "target": "string",           // Source code path/repo
    "rules": "array",             // Security rules
    "severity_threshold": "enum", // low|medium|high|critical
    "tool": "enum"                // sonarqube|semgrep|auto
  }
}
2. DAST スキャン
{
  "name": "run_dast_scan",
  "description": "Execute DAST security scan",
  "inputSchema": {
    "target_url": "string",       // Application URL
    "scan_type": "enum",          // quick|baseline|full
    "authentication": "object"    // Login credentials
  }
}
3. SCA スキャン
{
  "name": "run_sca_scan",
  "description": "Execute SCA dependency scan",
  "inputSchema": {
    "project_path": "string",     // Project directory
    "package_manager": "enum",    // npm|yarn|maven|gradle|pip
    "tool": "enum",               // osv-scanner|trivy|npm-audit|auto
    "fix_vulnerabilities": "bool" // Auto-fix enabled
  }
}
4. IAST スキャン
{
  "name": "run_iast_scan",
  "description": "Execute IAST-like security analysis",
  "inputSchema": {
    "application_id": "string",   // App identifier or path
    "environment": "enum",        // dev|staging|testing
    "tool": "enum",               // trivy|owasp-zap|auto
    "test_suite": "string"        // Test suite to run (optional)
  }
}
5. セキュリティレポートの生成
{
  "name": "generate_security_report",
  "description": "Generate comprehensive security report",
  "inputSchema": {
    "scan_ids": "array",          // Scan result IDs
    "format": "enum",             // json|html|pdf|sarif
    "include_remediation": "bool" // Include fix guidance
  }
}
6. セキュリティポリシーの検証
{
  "name": "validate_security_policy",
  "description": "Validate security policy compliance",
  "inputSchema": {
    "policy_file": "string",      // Policy file path
    "scan_results": "array"       // Scan result IDs
  }
}

🧪 テスト

✅ 検証済みのパフォーマンス指標(2025-07-06 にテスト済み)
セキュリティテスト検出された脆弱性精度ツールの状態テスト時間
SAST60+ 件の問題95%+✅ 検証済み~5s
DAST5+ 種類100%✅ 検証済み~30s
SCA20 件の問題100%✅ 検証済み~3s
IASTハイブリッド90%+✅ シミュレーション済み~10s
実環境での脆弱性検出
  • OWASP Top 10:100% のカバレッジを確認済み
  • CWE のカバレッジ:20+ 種類を実際に検出
  • 言語サポート:JavaScript、Python を完全に検証済み
テストの実行
# Comprehensive security test (actually verified)
node test-all-security.js

# SAST testing
node test-sast.js

# DAST testing with vulnerable web server
node test-vulnerable-server.js &
curl "http://localhost:3001/search?q=<script>alert('XSS')</script>"

# Unit tests
npm test

# With coverage
npm run test:coverage

# Integration tests
npm run test:integration
テスト構成
  • 実際の脆弱性を含むサンプル:test-samples/
  • 脆弱性のある依存関係:test-vulnerable-dependencies/
  • 包括的なテストスクリプト:test-all-security.js
  • 単体テスト:tests/security/
  • 統合テスト:tests/integration/

🚀 使用例

⚡ クイックスタート(実際に検証済み)
# 1. Verify security tools installation
semgrep --version
bandit --version

# 2. Test immediately with provided vulnerable samples
semgrep --config=auto --json test-samples/vulnerable-app.js
# Result: 7 vulnerabilities detected (SQL Injection, XSS, Command Injection, etc.)

bandit -f json test-samples/vulnerable-app.py  
# Result: 19 issues found (4 high-risk)

# 3. Scan vulnerable dependencies
cd test-vulnerable-dependencies && npm audit
# Result: 20 vulnerabilities (critical: 4, high: 10)
基本的な SAST スキャン
curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "method": "tools/call",
    "params": {
      "name": "run_sast_scan",
      "arguments": {
        "target": "/path/to/source",
        "severity_threshold": "high"
      }
    }
  }'
セキュリティパイプライン全体
# 1. SAST Analysis
curl -X POST http://localhost:3000/mcp \
  -d '{"method": "tools/call", "params": {"name": "run_sast_scan", "arguments": {"target": "/src"}}}'

# 2. Dependency Scan
curl -X POST http://localhost:3000/mcp \
  -d '{"method": "tools/call", "params": {"name": "run_sca_scan", "arguments": {"project_path": "/src"}}}'

# 3. Dynamic Testing
curl -X POST http://localhost:3000/mcp \
  -d '{"method": "tools/call", "params": {"name": "run_dast_scan", "arguments": {"target_url": "https://app.example.com"}}}'

# 4. Generate Report
curl -X POST http://localhost:3000/mcp \
  -d '{"method": "tools/call", "params": {"name": "generate_security_report", "arguments": {"scan_ids": ["sast-123", "sca-456", "dast-789"], "format": "html"}}}'

🔒 セキュリティ機能

品質ゲート
  • 重大または高レベルの脆弱性をゼロにするポリシー
  • コードカバレッジのしきい値
  • ライセンスコンプライアンスのチェック
  • シークレットの検出
コミット前の統合
#!/bin/bash
# .git/hooks/pre-commit
git-secrets --scan
semgrep --config=auto --error
npm audit --audit-level high
osv-scanner --lockfile=package-lock.json .
trivy fs --exit-code 1 --severity HIGH,CRITICAL .
CI/CD パイプラインとの統合
# .github/workflows/security.yml
security_scan:
  runs-on: ubuntu-latest
  steps:
    - name: SAST Scan
      run: |
        curl -X POST $MCP_SERVER_URL/mcp \
          -d '{"method": "tools/call", "params": {"name": "run_sast_scan", "arguments": {"target": "."}}}'

📈 モニタリング

ヘルスチェック
curl http://localhost:3000/health
メトリクス(Prometheus)
  • スキャン実行時間
  • 脆弱性の件数
  • ツールの成功率
  • API 応答時間
ロギング
  • 構造化 JSON ロギング
  • セキュリティイベントの追跡
  • パフォーマンスのモニタリング
  • エラー報告

🔧 トラブルシューティング(実体験に基づく)

よくある問題
1. セキュリティツールのインストール失敗
# Issue: pip3 permission error
# Solution:
pip3 install --user semgrep bandit

# Or with system permissions
sudo pip3 install semgrep bandit
2. TypeScript のコンパイルエラー
# Issue: Strict type checking errors
# Temporary solution: Skip compilation and run with JavaScript
node test-all-security.js  # Test without TypeScript build

# Permanent solution: Fix tsconfig.json configuration
3. Docker の権限に関する問題
# Issue: No Docker execution permissions
# Solution:
sudo usermod -aG docker $USER
newgrp docker
4. ポートの競合
# Issue: Ports 3000, 3001 already in use
# Solution:
export MCP_PORT=3002
node test-vulnerable-server.js  # Use different port
5. 脆弱性のある依存関係のインストール失敗
# Issue: node-sass compilation error
# Solution: Install excluding problematic packages
cd test-vulnerable-dependencies
npm install --ignore-engines

🤝 コントリビューション

  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. 変更を加えます
  4. テストを追加します
  5. セキュリティスキャンを実行します
  6. プルリクエストを送信します
開発ガイドライン
  • TypeScript のベストプラクティスに従います
  • テストカバレッジを 80% 超に保ちます
  • セキュアなコーディング手法を使用します
  • API の変更を文書化します

📝 ライセンス

MIT ライセンス。詳細は LICENSE ファイルを参照してください。

Copyright (c) 2025 jmstar85

🆘 サポート

  • ドキュメント:docs/ ディレクトリを参照してください
  • 問題:GitHub Issues
  • セキュリティ:セキュリティ上の問題は非公開で報告してください

🔄 ロードマップ

✅ 完了項目(2025-07-06)
  • SAST ツールの統合(Semgrep、Bandit)
  • DAST ツールの統合(OWASP ZAP)
  • SCA ツールの統合(npm audit、OSV Scanner)
  • 実際の脆弱性検出の検証(80 件以上の脆弱性)
  • MCP サーバーアーキテクチャの開発
  • Claude Desktop 統合の準備
  • 100% オープンソースへの移行(Snyk、Veracode を削除)
  • Docker コンテナ化のサポート
  • 包括的なテストスイートの開発
🚧 進行中(1〜2 か月)
  • TypeScript コンパイルエラーの完全な解消
  • リアルタイム MCP サーバーのデプロイと安定化
  • Claude Desktop の統合テストの完了
  • パフォーマンスの最適化と負荷テスト
📋 予定機能(3〜6 か月)
  • 追加の SAST ツール(CodeQL)
  • Trivy を使ったコンテナセキュリティスキャンの強化
  • Infrastructure as Code のスキャン(Checkov、Terrascan)
  • API セキュリティテストの統合
  • コンプライアンスレポート(SOC2、PCI-DSS)
  • ML を活用した脆弱性の相関分析
  • リアルタイムセキュリティモニタリングダッシュボード
🔮 長期ビジョン(6〜12 か月)
  • モバイルアプリのセキュリティテスト
  • さらなる CI/CD プラットフォームとの統合
  • 高度な SBOM の生成と分析
  • 自律型セキュリティパッチ適用システム
  • ゼロトラストアーキテクチャとの統合
  • ブロックチェーンベースのセキュリティ監査

🎯 概要

DevSecOps MCP Server は、実環境でのテストを通じて検証された、AI を活用したセキュリティ自動化プラットフォームです。

主な成果 ✅
  • 実際の脆弱性を 80 件以上検出(SAST:60 件以上、DAST:5 件以上、SCA:20 件以上)
  • OWASP Top 10 の 100% カバレッジを検証済み
  • 4 種類すべてのセキュリティテストを統合(SAST、DAST、IAST、SCA)
  • 完全なオープンソースベース(商用ツールへの依存を解消)
  • Claude AI との統合に対応
すぐに使用できます 🚀
# Setup and test in under 5 minutes
pip3 install semgrep bandit
git clone <repo> && cd DevSecOps-MCP
node test-all-security.js
差別化要素 💡
  1. AI ネイティブ:Claude による自然言語でのセキュリティ分析
  2. 実証済みの性能:実際の脆弱性を使ってテスト済み
  3. 費用ゼロ:完全に無料のオープンソース
  4. プラグ&プレイ:すぐに使える設定

最新の DevSecOps ワークフロー向けに、セキュリティを考慮して構築されています 🛡️

「セキュリティの未来は、AI を活用し、オープンで、自動化されています。」

コメント

MCP は初めてですか?

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

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