brettbergin/adversary-mcp-server
If you are the rightful owner of adversary-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Model Context Protocol (MCP) server is a specialized server designed to facilitate communication and data exchange between various machine learning models and applications, ensuring seamless integration and efficient processing.
Adversary MCP Server
Software security analysis with hybrid AI-powered threat detection and configurable built-in and custom rule management
Installation ⢠Quick Start ⢠AI-Powered Analysis ⢠MCP Integration ⢠Rule Management ⢠CLI Reference
Installation
Prerequisites
- Python 3.10+ (3.11+ recommended)
- Cursor IDE with MCP support
Quick Install
pip install adversary-mcp-server
Verify Installation
adversary-mcp-cli --version
adversary-mcp-cli status
Quick Start
1. Initial Setup
# Configure the security engine
adversary-mcp-cli configure
# View available rules and setup
adversary-mcp-cli rules stats
2. Cursor IDE Integration
Create .cursor/mcp.json
in your project or ~/.cursor/mcp.json
globally:
{
"mcpServers": {
"adversary-security": {
"command": "/Users/<user>/envs/.venv/bin/python",
"args": ["-m", "adversary_mcp_server.server"],
"env": {
"ADVERSARY_CONFIG_DIR": "~/.local/share/adversary-mcp-server"
}
}
}
}
3. Start Using in Cursor
Once configured, you can use these MCP tools in Cursor:
adv_scan_code
- Hybrid scanning with rules + AI analysisadv_scan_file
- file scanning with LLM supportadv_scan_directory
- directory scanningadv_diff_scan
- š Git diff-aware scanning - scans only changed files between branchesadv_list_rules
- List all 95+ security rulesadv_get_rule_details
- Get details about specific rulesadv_generate_exploit
- exploit generationadv_configure_settings
- Configuration managementadv_get_status
- Check server status and AI availabilityadv_get_version
- Get version information
4. Enable Hot-Reload (Optional)
For real-time rule updates during development:
# Start hot-reload service
adversary-mcp-cli watch start
# Now edit rules and they'll automatically reload
5. š Git Diff-Aware Scanning
Scan only changed files between git branches for efficient CI/CD integration:
# Scan changes in your current branch vs main
adversary-mcp-cli scan --diff
# Scan changes between specific branches
adversary-mcp-cli scan --diff --source-branch=develop --target-branch=feature/auth
# Scan with high severity filter
adversary-mcp-cli scan --diff --severity=high --use-llm=true
** Scanning **
# Scan with AI enhancement (hybrid mode)
Use adv_scan_code with use_llm=true for comprehensive analysis
# Traditional rules-only scanning
Use adv_scan_code with use_llm=false for simple analysis
AI Analysis Features
- šÆ Smart Threat Detection: Identifies vulnerabilities that traditional rules miss
- š Confidence Scoring: Each finding includes AI-generated confidence levels
- š Detailed Explanations: Natural language descriptions of vulnerabilities
- š·ļø CWE/OWASP Mapping: Automatic categorization with industry standards
- ā” Intelligent Deduplication: Merges similar findings from multiple engines
LLM Integration
The scanner integrates with the existing models in your client application.
adversary-mcp-cli status
Note: LLM analysis is provided through prompts that can be used with your preferred LLM service. The scanner generates structured prompts for:
- Security analysis
- Exploit generation
- Code review
- Vulnerability explanations
MCP Integration
Available Tools
Tool | Description | š AI Features |
---|---|---|
adv_scan_code | š Hybrid scan of source code | ā LLM prompts, confidence scoring |
adv_scan_file | š Enhanced file scanning | ā AI-powered prompts, detailed explanations |
adv_scan_directory | š Intelligent directory scanning | ā Batch LLM prompts, statistical insights |
adv_diff_scan | š Git diff-aware scanning - scans only newly added lines | ā
Smart change detection, branch comparison, requires working_directory |
adv_generate_exploit | š AI-enhanced exploit generation | ā Context-aware prompts, safety mode |
adv_list_rules | List all 95+ threat detection rules | Enhanced with AI rule categories |
adv_get_rule_details | Get detailed rule information | Improved formatting and examples |
adv_configure_settings | š Advanced configuration management | ā LLM settings, validation |
adv_get_status | Get server status and š AI availability | ā LLM configuration status |
adv_get_version | Get version information | Shows AI capabilities |
š Enhanced Tool Parameters
All scanning tools now support:
{
"use_llm": true, // Enable LLM prompts
"severity_threshold": "medium", // Filter by severity
"include_exploits": true, // Include exploit examples
"confidence_threshold": 0.8 // AI confidence filtering
}
Example Usage in Cursor
# NEW: AI-powered vulnerability scanning
Use adv_scan_code with use_llm=true to analyze this function
# NEW: Git diff-aware scanning
Use adv_diff_scan to scan only changed files between branches
# NEW: Generate AI-enhanced exploits
Use adv_generate_exploit for this SQL injection
# NEW: Check AI analysis availability
Use adv_get_status to get the MCP server status
š Git Diff-Aware Scanning
The new adv_diff_scan
tool enables intelligent scanning of only changed files between git branches:
Key Features:
- Smart Change Detection: Analyzes only modified code, not entire repository
- Branch Comparison: Compares any two branches (main vs. feature, staging vs. production)
- Line-Level Precision: Scans only newly added lines (lines with
+
in git diff), ignoring context lines and removed code - Statistics Generation: Provides comprehensive diff statistics and threat metrics
- Full Integration: Works with all existing scan options (LLM, exploits, severity filtering)
šÆ Scanning Scope (Updated)
- ā
Newly added lines (lines starting with
+
in git diff) - ā Context lines (unchanged code shown for reference)
- ā Removed lines (deleted code)
- ā Existing code in the repository
This prevents false positives from flagging existing code as new vulnerabilities.
MCP Tool Parameters:
{
"source_branch": "main", // Branch to compare from
"target_branch": "feature/new", // Branch to compare to
"working_directory": "/absolute/path/to/repo", // ā ļø REQUIRED: Working directory for git operations
"severity_threshold": "medium", // Filter results by severity
"include_exploits": true, // Include exploit examples
"use_llm": true // Enable AI analysis
}
Example Usage:
# Scan changes in current branch vs main
Use adv_diff_scan with source_branch="main", target_branch="HEAD", and working_directory="/path/to/your/repo"
# Scan changes between specific branches
Use adv_diff_scan with source_branch="staging", target_branch="production", and working_directory="/path/to/your/repo"
# Scan with high severity filter
Use adv_diff_scan with severity_threshold="high" and working_directory="/path/to/your/repo"
ā ļø Important Requirements:
- Must specify
working_directory
: The absolute path to your git repository - Valid git repository: The directory must contain a
.git
folder - Valid branches: Both source and target branches must exist
- Git available:
git
command must be available in PATH
Rule Management
š Enhanced Rule Engine
- 95+ Built-in Rules (expanded from 85)
- š AI-Enhanced Categories with better organization
- š Confidence-Based Filtering for more accurate results
- š Hybrid Rule Validation using both static and AI analysis
Rule Directory Structure
Rules are automatically organized in your user directory:
~/.local/share/adversary-mcp-server/rules/
āāā built-in/ # Core security rules (95 rules)
ā āāā python-rules.yaml # š Enhanced Python rules
ā āāā javascript-rules.yaml # š Enhanced JavaScript rules
ā āāā typescript-rules.yaml # š Enhanced TypeScript rules
ā āāā web-security-rules.yaml # š Enhanced Web security
ā āāā api-security-rules.yaml # š Enhanced API security
ā āāā cryptography-rules.yaml # š Enhanced Crypto rules
ā āāā configuration-rules.yaml # š Enhanced Config rules
āāā custom/ # Your custom rules
āāā organization/ # Company/team rules
āāā templates/ # š Enhanced rule templates
š AI-Enhanced Rule Management
# View enhanced rules with AI categories
adversary-mcp-cli list-rules --show-ai-categories
# Validate rules with AI assistance
adversary-mcp-cli rules validate --use-ai
# Enhanced rule statistics
adversary-mcp-cli rules stats --detailed
Quick Rule Management
# View rules directory and contents
adversary-mcp-cli show-rules-dir
# List all loaded rules with source files
adversary-mcp-cli list-rules
# List rules with full file paths
adversary-mcp-cli list-rules --verbose
# View detailed rule statistics
adversary-mcp-cli rules stats
# Export rules for backup/sharing
adversary-mcp-cli rules export my-rules.yaml
# Import custom rules
adversary-mcp-cli rules import-rules external-rules.yaml
# Validate all rules
adversary-mcp-cli rules validate
# Reload rules after changes
adversary-mcp-cli rules reload
Creating Custom Rules
- Copy template:
cp ~/.local/share/adversary-mcp-server/rules/templates/rule-template.yaml \
~/.local/share/adversary-mcp-server/rules/custom/my-rule.yaml
- Edit the rule:
rules:
- id: api_key_hardcode
name: Hardcoded API Key
description: Detects hardcoded API keys in source code
category: secrets
severity: critical
languages: [python, javascript, typescript]
conditions:
- type: pattern
value: "API_KEY\\s*=\\s*['\"][a-zA-Z0-9-_]{20,}['\"]"
remediation: |
Store API keys in environment variables:
- Use os.getenv('API_KEY') instead of hardcoding
- Implement proper secrets management
references:
- https://owasp.org/Top10/A05_2021-Security_Misconfiguration/
cwe_id: CWE-798
owasp_category: A05:2021
- Reload rules:
adversary-mcp-cli rules reload
Hot-Reload Service
Enable real-time rule updates without server restart:
Start Hot-Reload
# Start with default settings
adversary-mcp-cli watch start
# Start with custom directories and debounce time
adversary-mcp-cli watch start \
--directory /path/to/project/rules/ \
--debounce 2.0
Monitor Status
# Check service status
adversary-mcp-cli watch status
# Test hot-reload functionality
adversary-mcp-cli watch test
Development Workflow
# Terminal 1: Start hot-reload service
adversary-mcp-cli watch start
# Terminal 2: Edit rules (auto-reloads)
vim ~/.local/share/adversary-mcp-server/rules/custom/my-rule.yaml
# Changes are automatically detected and rules reload!
CLI Reference
Core Commands
Command | Description |
---|---|
adversary-mcp-cli configure | Initial setup and configuration |
adversary-mcp-cli status | Show server status and configuration |
adversary-mcp-cli scan <target> | Scan files/directories for vulnerabilities |
adversary-mcp-cli scan --diff | š Git diff-aware scanning - scan only newly added lines (no context) |
adversary-mcp-cli server | Start MCP server (used by Cursor) |
Rule Management Commands
Command | Description |
---|---|
adversary-mcp-cli list-rules | List all rules with source files |
adversary-mcp-cli rule-details <id> | Get detailed rule information |
adversary-mcp-cli rules stats | Show comprehensive rule statistics |
adversary-mcp-cli rules export <file> | Export rules to YAML/JSON |
adversary-mcp-cli rules import-rules <file> | Import external rules |
adversary-mcp-cli rules validate | Validate all loaded rules |
adversary-mcp-cli rules reload | Reload rules from files |
Hot-Reload Commands
Command | Description |
---|---|
adversary-mcp-cli watch start | Start hot-reload service |
adversary-mcp-cli watch status | Show service status |
adversary-mcp-cli watch test | Test hot-reload functionality |
š Git Diff-Aware Scanning Options
The scan
command now supports git diff-aware scanning with the following options:
Option | Description | Default |
---|---|---|
--diff/--no-diff | Enable git diff-aware scanning | false |
--source-branch | Source branch for comparison | main |
--target-branch | Target branch for comparison | HEAD |
--severity | Minimum severity threshold | medium |
--include-exploits/--no-exploits | Include exploit examples | true |
--use-llm/--no-llm | Enable AI analysis | true |
--output | Output results to JSON file | None |
Diff Scanning Examples:
# Basic diff scan (main vs current branch) - scans only newly added lines
adversary-mcp-cli scan --diff
# Compare specific branches - scans only new code between branches
adversary-mcp-cli scan --diff --source-branch=develop --target-branch=feature/auth
# High severity threats only - filters results to high/critical severity
adversary-mcp-cli scan --diff --severity=high
# Save diff scan results to JSON file
adversary-mcp-cli scan --diff --output=security-diff.json
# Comprehensive diff analysis with AI - includes LLM prompts for enhanced analysis
adversary-mcp-cli scan --diff --use-llm=true --include-exploits=true
# Specify custom directory for git operations
adversary-mcp-cli scan /path/to/repo --diff --source-branch=main --target-branch=HEAD
Utility Commands
Command | Description |
---|---|
adversary-mcp-cli show-rules-dir | Show rules directory location |
adversary-mcp-cli demo | Run interactive demo |
adversary-mcp-cli reset | Reset all configuration |
Security Coverage
š Comprehensive Hybrid Analysis (95+ Rules + AI)
Traditional Rule-Based Detection
- Python (25+ rules): SQL injection, command injection, deserialization, path traversal
- JavaScript/TypeScript (30+ rules): XSS, prototype pollution, eval injection, CORS issues
- Web Security (18+ rules): CSRF, clickjacking, security headers, session management
- API Security (15+ rules): Authentication bypass, parameter pollution, mass assignment
- Cryptography (15+ rules): Weak algorithms, hardcoded keys, poor randomness
- Configuration (15+ rules): Debug mode, default credentials, insecure settings
š AI-Powered Detection
- Context-Aware Analysis: Understands complex vulnerability patterns
- Business Logic Flaws: Identifies application-specific issues
- Advanced Injection Variants: Detects novel attack vectors
- Compliance Violations: Recognizes regulatory requirement breaches
- Security Anti-Patterns: Identifies poor security practices
š Enhanced Standards Compliance
- OWASP Top 10 2021 - Complete coverage with AI enhancement
- CWE - Common Weakness Enumeration mappings + AI categorization
- NIST - Security framework alignment with intelligent analysis
- Industry best practices - SANS, CERT guidelines + AI insights
- š MITRE ATT&CK - Threat modeling integration
- š ASVS - Application Security Verification Standard
Full Language Support
- Python - AST-based analysis + AI semantic understanding
- JavaScript - Modern ES6+ and Node.js patterns + AI context analysis
- TypeScript - Type safety vulnerabilities + AI-powered type inference analysis
Limited Language Support
- TBD
šļø Enhanced Architecture
The v0.7.1 release features a hybrid architecture combining multiple analysis engines:
graph TB
A[Source Code] --> B[Enhanced Scanner]
B --> C[AST Scanner]
B --> D[š LLM Analyzer]
C --> E[Rule Engine]
E --> F[95+ Built-in Rules]
E --> G[Custom Rules]
D --> H[LLM Service]
H --> I[AI Security Analysis]
C --> J[Threat Matches]
D --> K[LLM Findings]
J --> L[š Intelligent Merger]
K --> L
L --> M[Enhanced Results]
M --> N[Confidence Scoring]
M --> O[Deduplication]
M --> P[Statistical Analysis]
subgraph "š AI Enhancement"
D
H
I
K
end
subgraph "Traditional Analysis"
C
E
F
G
J
end
subgraph "š Hybrid Output"
L
M
N
O
P
end
š Integration Architecture
āāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāā
ā Cursor IDE āāāāā¶āš Enhanced MCP āāāāā¶āš Hybrid Engine ā
ā ā ā Server ā ā ā
ā ⢠Code editing ā ā ⢠adv_* tools ā ā ⢠AST Analysis ā
ā ⢠Chat interfaceā ā ⢠AI integrationā ā ⢠LLM Analysis ā
ā ⢠Tool calling ā ā ⢠Protocol ā ā ⢠Hot-reload ā
āāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāā
ā
āāāāāāāāāāāāāāāāāāāāāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāāāāāā
ā ā¼ ā
āāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāā
āš Enhanced Rulesā ā Custom Rules ā āOrganization Rulesā
ā (95+ rules) ā ā User defined ā ā Company policiesā
ā Multi-language ā ā Project specificā ā Compliance ā
ā + AI Categories ā ā + AI Templates ā ā + AI Validation ā
āāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāā
ā
āāāāāāāāāāāāāāāāāāāāāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāāāāāā
ā ā¼ ā
āāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāā
ā š LLM Service ā āš Confidence ā āš Statistical ā
ā Integration ā ā Scoring ā ā Analysis ā
ā ⢠External APIs ā ā ⢠Reliability ā ā ⢠Detailed ā
ā ⢠Context-aware ā ā ⢠Deduplication ā ā Metrics ā
ā ⢠NL Explanationsā ā ⢠Smart Merging ā ā ⢠Trend Analysisā
āāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāā
Traditional Rules-Only Analysis
# Fast, deterministic scanning
adversary-mcp-cli scan myproject/ --use-llm=false --severity=medium
š AI-Enhanced Analysis
# Comprehensive hybrid analysis with LLM prompts
adversary-mcp-cli scan myproject/ --use-llm=true --confidence-threshold=0.8
š Git Diff-Aware Scanning
# Scan only newly added lines between branches (no context lines)
adversary-mcp-cli scan --diff --source-branch=main --target-branch=HEAD
# Scan changes with specific severity threshold - only new code
adversary-mcp-cli scan --diff --source-branch=staging --target-branch=production --severity=high
# Scan current branch changes with AI analysis - includes LLM prompts for new code
adversary-mcp-cli scan --diff --use-llm=true --include-exploits=true
# Specify repository directory for git operations
adversary-mcp-cli scan /path/to/repo --diff --source-branch=main --target-branch=feature/new
š Advanced Configuration
LLM Configuration
# Configure LLM analysis settings
adversary-mcp-cli configure --enable-llm-analysis=true
adversary-mcp-cli configure --exploit-safety-mode=true
š Confidence and Filtering
# Filter by AI confidence levels
adversary-mcp-cli scan . --confidence-threshold 0.9 --use-llm=true
# Combine rules and AI with custom thresholds
adversary-mcp-cli scan . --severity=high --confidence-threshold=0.7
š Enhanced Reporting
Detailed Analysis Reports
# Generate comprehensive reports with AI insights
adversary-mcp-cli scan . --format=detailed --include-ai-analysis --output=report.json
š Statistical Analysis
# Get detailed statistics about threats found
adversary-mcp-cli scan . --stats --use-llm=true
š Integration Capabilities
IDE Integration
The enhanced MCP server provides seamless integration with development environments:
- Real-time Analysis: Instant feedback as you type
- Context-Aware Suggestions: AI understands your specific codebase
- Intelligent Deduplication: No duplicate alerts from multiple engines
- Confidence Indicators: Know which findings are most reliable
š LLM Prompt Generation
# Use the enhanced scanner programmatically
from adversary_mcp_server.enhanced_scanner import EnhancedScanner
scanner = EnhancedScanner(enable_llm_analysis=True)
result = scanner.scan_code(source_code, file_path, language, use_llm=True)
# Access hybrid results
print(f"Total threats: {len(result.all_threats)}")
print(f"Rules-based: {len(result.rules_threats)}")
print(f"LLM prompts generated: {len(result.llm_prompts)}")
print(f"High confidence: {len(result.get_high_confidence_threats())}")
Advanced Usage
CI/CD Integration
š Git Diff-Aware CI/CD Scanning
For efficient CI/CD pipelines, scan only newly added lines in pull requests:
# .github/workflows/security.yml
name: Security Analysis
on: [push, pull_request]
jobs:
security-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0 # Required for git diff analysis
- uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install Adversary MCP
run: pip install adversary-mcp-server
- name: Diff Security Scan (PR) - Scans only newly added lines
if: github.event_name == 'pull_request'
run: |
adversary-mcp-cli scan . --diff \
--source-branch=origin/main \
--target-branch=HEAD \
--severity=medium \
--output=security-diff.json
env:
GITHUB_WORKSPACE: ${{ github.workspace }}
- name: Full Security Scan (Push to main)
if: github.ref == 'refs/heads/main'
run: |
adversary-mcp-cli scan . \
--severity medium \
--output=security-full.json
- name: Upload Results
uses: actions/upload-artifact@v3
with:
name: security-report
path: security-*.json
Traditional Full Repository Scanning
# Traditional approach (scans entire repository)
- name: Full Security Scan
run: |
adversary-mcp-cli scan . \
--severity medium \
--format json \
--output security-report.json
Environment Configuration
# Configuration environment variables
export ADVERSARY_CONFIG_DIR="~/.local/share/adversary-mcp-server"
export ADVERSARY_RULES_DIR="~/.local/share/adversary-mcp-server/rules"
export ADVERSARY_LOG_LEVEL="INFO"
export ADVERSARY_SEVERITY_THRESHOLD="medium"
export ADVERSARY_HOT_RELOAD="enabled"
Development
Development Setup
# Clone repository
git clone https://github.com/brettbergin/adversary-mcp-server.git
cd adversary-mcp-server
# Install with uv (recommended)
pip install uv
uv venv
source .venv/bin/activate
uv pip install -e ".[dev]"
# Or with traditional pip
make install
# Run tests
make test
# Code quality checks
make lint
Project Structure
adversary-mcp-server/
āāā src/adversary_mcp_server/
ā āāā server.py # MCP server with adv_* tools
ā āāā threat_engine.py # Rule engine with source file tracking
ā āāā ast_scanner.py # Static analysis engine
ā āāā exploit_generator.py # Educational exploit generation
ā āāā hot_reload.py # Real-time rule updates
ā āāā cli.py # Command-line interface
āāā rules/ # Packaged rules (copied to user directory)
ā āāā built-in/ # 95+ core security rules
ā āāā templates/ # Rule creation templates
āāā tests/ # Comprehensive test suite (332 tests)
License
MIT License - see file for details.
Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature-name
- Make your changes and add tests
- Run the test suite:
make test
- Submit a pull request
Version Management
The project uses centralized version management - you only need to update the version in one place:
-
Update version in
pyproject.toml
:[project] version = "0.7.5" # Update this line only
-
All components automatically use the updated version:
- CLI:
adversary-mcp-cli --version
- Server: MCP server initialization
- Package:
from adversary_mcp_server import __version__
- CLI:
-
Lock file updates automatically:
uv sync # Updates uv.lock with new version
No manual updates needed in server.py
or elsewhere - the version is read dynamically from pyproject.toml
.
Support
- Documentation: GitHub Wiki
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Built with ā¤ļø for secure development
Important Notes
Diff Scanning Scope
The adv_diff_scan
tool only scans newly added lines (lines starting with +
in git diff), not context lines or existing code. This prevents false positives from flagging existing code as new vulnerabilities.
What gets scanned:
- ā Newly added lines (actual changes)
- ā Context lines (unchanged code shown for reference)
- ā Removed lines (deleted code)
This means you'll only see security issues for code you've actually added or modified, not for existing code in the repository.
Troubleshooting
Git Diff Scanning Issues
If you encounter the error "Failed to get diff summary"
when using adv_diff_scan
, this is typically caused by one of these issues:
Common Causes & Solutions:
-
Working Directory Issue
Error: Tool adv_diff_scan failed: Diff scanning failed: Git diff operation failed: Failed to get diff summary
Solution: Specify the correct working directory:
{ "source_branch": "main", "target_branch": "feature/my-branch", "working_directory": "/path/to/your/git/repository" }
-
Branch Not Found
Error: Branch validation failed: Branch not found
Solution: Verify branch names exist:
cd /path/to/your/repo git branch -a # List all branches
-
Not a Git Repository
Error: Git command failed: fatal: not a git repository
Solution: Ensure you're pointing to a valid git repository:
{ "working_directory": "/path/to/valid/git/repo" }
-
Git Not Available
Error: Git command not found
Solution: Install git or ensure it's in your PATH.
Best Practices:
- Always specify the
working_directory
parameter when the repository is not in the current directory - Use full/absolute paths for
working_directory
to avoid confusion - Verify branch names with
git branch -a
before running scans - For remote branches, use the full name (e.g.,
origin/main
not justmain
)
Example Working Configuration:
{
"source_branch": "origin/main",
"target_branch": "HEAD",
"working_directory": "/Users/username/my-project",
"severity_threshold": "medium",
"include_exploits": true,
"use_llm": false
}