
एकीकृत सुरक्षा स्कैनर, MCP सर्वरों के लिए कॉन्फ़िग, पेंटेस्ट, और रेपो-स्कैन मोड के साथ। CI/CD एकीकरण के लिए SARIF रिपोर्ट उत्पन्न करता है, टोकन और LLM विश्लेषकों के माध्यम से गुप्त जानकारी, कमजोरियाँ और गलत कॉन्फ़िगरेशन का पता लगाता है।
MCP X-Ray मॉडल कॉन्टेक्स्ट प्रोटोकॉल (MCP) सर्वरों के लिए एक एकीकृत ओपन-सोर्स सुरक्षा स्कैनिंग और पेनिट्रेशन टेस्टिंग समाधान है। यह सुरक्षा टूलिंग और CI/CD पाइपलाइनों के साथ सहज एकीकरण के लिए प्रोडक्शन-रेडी SARIF रिपोर्ट उत्पन्न करता है। स्कैन परिणामों को केंद्रीकृत सुरक्षा प्रबंधन और ट्रैकिंग के लिए वैकल्पिक रूप से Traceforce Atlas पर अपलोड किया जा सकता है। Atlas के रजिस्ट्री में 600 से अधिक MCP हैं, जो MCP इकोसिस्टम के लिए एक व्यापक सुरक्षा मूल्यांकन डेटाबेस प्रदान करता है।

# Clone the repository
git clone https://github.com/traceforce/mcp-xray
cd mcp-xray
# Install required dependencies (buf, etc.)
make install-dependencies
# Build everything (generates protobuf code and builds the binary)
# The binary will be created as `mcpxray` in the current directory
make all
सुरक्षा मुद्दों के लिए MCP कॉन्फ़िगरेशन स्कैन करें; अपने सेटअप को आधार रेखा देने के लिए पेंटेस्ट से पहले चलाएँ।
# Scan a specific MCP config file (uses token analyzer by default)
./mcpxray config-scan /path/to/mcp/config.json
# Scan all known MCP config paths automatically for Cursor, Claude and Windsurf.
# Known config locations (relative to home directory):
# ~/.cursor/mcp.json (Cursor)
# ~/Library/Application Support/Claude/claude_desktop_config.json (Claude Desktop)
# ~/.codeium/windsurf/mcp_config.json (Windsurf)
./mcpxray config-scan --scan-known-configs
# Use LLM analyzer for more extensive and deepr analysis
./mcpxray config-scan /path/to/mcp/config.json --analyzer-type llm --llm-model claude-3-5-sonnet-20241022
# Specify custom output file
./mcpxray config-scan /path/to/mcp/config.json --output custom-report.sarif.json
पता लगाने की क्षमताएँ:
MCP सर्वरों के विरुद्ध वास्तविक टूल कॉल करके सुरक्षा परीक्षण योजनाएँ निष्पादित करें। पेंटेस्ट चलाने के लिए LLM आवश्यक हैं। इसे प्रोडक्शन में वास्तविक तैनाती से पहले चलाएँ।
# Run pentest with auto-generated test plan (requires LLM model)
./mcpxray pentest /path/to/mcp/config.json --llm-model claude-sonnet-4-5
# Use a custom test plan YAML file
./mcpxray pentest /path/to/mcp/config.json --test-plan /path/to/test-plan.yaml --llm-model claude-sonnet-4-5
पता लगाने की क्षमताएँ: कोड निष्पादन, SSRF, पथ ट्रैवर्सल, प्राधिकरण बाईपास, इनपुट इंजेक्शन, सूचना प्रकटीकरण और DoS कमजोरियाँ
कमजोरियों के लिए कोडबेस स्कैन करें; जब आप कोड के मालिक हों या कोड बदल सकें तब उपयोग करें।
# Scan current directory
./mcpxray repo-scan
# Scan a specific repository
./mcpxray repo-scan /path/to/repository
# Specify custom output file
./mcpxray repo-scan --output custom-report.sarif.json
पता लगाने की क्षमताएँ:
MCP X-Ray SARIF (स्टैटिक एनालिसिस रिजल्ट्स इंटरचेंज फॉर्मेट) प्रारूप में रिपोर्ट उत्पन्न करता है, जो सुरक्षा टूल्स और CI/CD प्लेटफॉर्म्स द्वारा व्यापक रूप से समर्थित है।
स्कैन परिणामों को केंद्रीकृत सुरक्षा प्रबंधन, रिपोर्टिंग और समय के साथ ट्रैकिंग के लिए Traceforce Atlas पर अपलोड करें। किसी भी स्कैन कमांड में --upload फ़्लैग जोड़ें। सफल अपलोड के बाद जनरेटेड फ़ाइलों को हटाने के लिए --clean-up का उपयोग करें।
आवश्यक पर्यावरण चर:
TRACEFORCE_CLIENT_IDTRACEFORCE_CLIENT_SECRETये क्रेडेंशियल्स Atlas UI पर सेटिंग्स पेज से डाउनलोड किए जा सकते हैं।
# Upload config scan results
./mcpxray config-scan /path/to/mcp/config.json --upload
# Upload with cleanup
./mcpxray config-scan /path/xia-add-registry-imageto/mcp/config.json --upload --clean-up
# Upload pentest results
./mcpxray pentest /path/to/mcp/config.json --llm-model claude-sonnet-4-5 --upload

उदाहरण स्कैन आउटपुट examples/findings/ में उपलब्ध हैं।
उदाहरण MCP कॉन्फ़िगरेशन फ़ाइलें examples/mcp_configs/ निर्देशिका में उपलब्ध हैं।
एक उदाहरण MCP सर्वर examples/mcp_server/ निर्देशिका में उपलब्ध है:
mcp_server.py: FastMCP सर्वर जो streamable-http ट्रांसपोर्ट का उपयोग करता हैmcp.json: सर्वर से कनेक्ट करने के लिए कॉन्फ़िगरेशन फ़ाइलREADME.md: सर्वर को सेट अप और स्कैन करने के निर्देशMCP X-Ray टूल सुरक्षा का विश्लेषण करने के लिए दो विधियाँ प्रदान करता है:
टोकन एनालाइज़र टूल विवरणों में सुरक्षा मुद्दों का तेज़ी से पता लगाने के लिए नियम-आधारित पैटर्न मिलान का उपयोग करता है। यह तेज़ है, API कुंजियों की आवश्यकता नहीं है, और ऑफ़लाइन काम करता है। टोकन एनालाइज़र दो प्रकार के नियमों का उपयोग करता है:
internal/configscan/tokenanalyzer/token_rules.yaml में परिभाषित हैं। प्रत्येक नियम निर्दिष्ट करता है:
internal/yararules/unsafe_patterns.yar में परिभाषित हैं। ये नियम असुरक्षित सिस्टम कमांड पैटर्न का पता लगाते हैं।उपयोग:
mcpxray config-scan --analyzer-type token
LLM एनालाइज़र टूल विवरणों के गहरे अर्थपूर्ण विश्लेषण के लिए बड़े भाषा मॉडल का उपयोग करता है, जो अधिक व्यापक सुरक्षा अंतर्दृष्टि प्रदान करता है।
उपयोग:
mcpxray config-scan --analyzer-type llm --llm-model <model-name>
डिफ़ॉल्ट रूप से, पेंटेस्ट टूल MCP सर्वरों से उपलब्ध टूल के आधार पर स्वचालित रूप से परीक्षण योजनाएँ उत्पन्न करने के लिए LLM का उपयोग करता है। परीक्षण योजनाओं को अनुकूलित भी किया जा सकता है और YAML फ़ाइलों के रूप में प्रदान किया जा सकता है। परीक्षण योजनाएँ YAML फ़ाइलें होती हैं जिनमें इनपुट तर्कों और अपेक्षित आउटपुट के साथ परीक्षण मामले होते हैं।
डिफ़ॉल्ट व्यवहार (LLM-जनित परीक्षण योजना):
./mcpxray pentest /path/to/mcp/config.json --llm-model claude-sonnet-4-5
कस्टम परीक्षण योजना:
./mcpxray pentest /path/to/mcp/config.json --test-plan /path/to/test-plan.yaml --llm-model claude-sonnet-4-5
MCP X-Ray टूल विश्लेषण के लिए निम्नलिखित LLM प्रदाताओं का समर्थन करता है:
claude-sonnet-4-5ANTHROPIC_API_KEY पर्यावरण चरgpt-5OPENAI_API_KEY पर्यावरण चरarn:aws:bedrock: से शुरू होने वाली और llama युक्तarn:aws:bedrock:<region>:<account-id>:inference-profile/us.meta.llama3-2-1b-instruct-v1:0LLM-आधारित टूल विश्लेषण के लिए, अपने LLM API क्रेडेंशियल्स कॉन्फ़िगर करें:
export ANTHROPIC_API_KEY=your-api-key
export OPENAI_API_KEY=your-api-key
प्रत्येक प्रदाता को अपने स्वयं के विशिष्ट पर्यावरण चर की आवश्यकता होती है। टूल मॉडल नाम के आधार पर स्वचालित रूप से पता लगाता है कि किस प्रदाता का उपयोग करना है।
AWS Bedrock मॉडल के लिए, मानक AWS SDK विधियों में से एक का उपयोग करके AWS क्रेडेंशियल्स कॉन्फ़िगर करें:
# Option 1: Environment variables
export AWS_ACCESS_KEY_ID=your-access-key
export AWS_SECRET_ACCESS_KEY=your-secret-key
export AWS_REGION=us-east-1
# Option 2: AWS credentials file (~/.aws/credentials)
# Option 3: IAM role (when running on EC2/ECS/Lambda)
MCP X-Ray AWS SDK का उपयोग करता है जो स्वचालित रूप से पर्यावरण, क्रेडेंशियल्स फ़ाइल या IAM भूमिका से क्रेडेंशियल्स लोड करेगा।
योगदान का स्वागत है! कृपया सुनिश्चित करें कि: