nnennandukwe/qodo-evil-mcp-server
If you are the rightful owner of qodo-evil-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.
Qodo Evil MCP Server is an intentionally insecure server designed for educational purposes to demonstrate the effectiveness of code review tools.
Qodo Evil MCP Server
ā ļø WARNING: This is an intentionally insecure MCP server for educational purposes only!
This MCP server is built with deliberate security vulnerabilities and poor coding practices to demonstrate the effectiveness of code review tools like Qodo.
DO NOT USE IN PRODUCTION
This server contains:
- SQL injection vulnerabilities
- Path traversal vulnerabilities
- Hardcoded credentials
- Unsafe deserialization
- Poor error handling
- Missing input validation
- And many other security issues
Purpose
This project is designed to showcase how automated code review tools can identify:
- Security vulnerabilities
- Code quality issues
- Anti-patterns
- Best practice violations
Installation
uv sync
Running the Server
uv run python src/server.py
Running Tests
uv run pytest tests/test_server.py -v
Vulnerability Documentation
See for a complete catalog of all intentional security issues in this codebase.
What's Included
Intentional Vulnerabilities
- SQL Injection - Multiple instances in database operations
- Command Injection - Unsafe system command execution
- Path Traversal - Unvalidated file operations
- Unsafe Deserialization - Using pickle and eval on untrusted data
- Hardcoded Credentials - Passwords and API keys in source code
- Missing Authentication - No authorization checks on sensitive operations
- Information Disclosure - Exposing sensitive data in responses and logs
- Weak Cryptography - MD5 hashing and XOR encryption
- Insecure Randomness - Using random instead of secrets
- Poor Error Handling - Exposing stack traces and internal details
- Business Logic Flaws - Missing validation in critical operations
- Resource Exhaustion - No limits on resource-intensive operations
- Race Conditions - Unsafe concurrent operations
- XXE Vulnerabilities - Unsafe XML parsing
- Missing Rate Limiting - No protection against abuse
Code Quality Issues
- No type hints on many functions
- Global mutable state
- Poor exception handling
- No input validation
- Debug mode always enabled
- Inadequate sanitization
- Timing attack vulnerabilities
Project Structure
qodo-evil-mcp-server/
āāā src/
ā āāā server.py # Main MCP server with vulnerable tools
ā āāā database.py # SQL injection vulnerabilities
ā āāā file_operations.py # Path traversal vulnerabilities
ā āāā config.py # Hardcoded credentials
ā āāā utils.py # Weak crypto and poor practices
āāā tests/
ā āāā test_server.py # Tests demonstrating vulnerabilities
āāā data/ # Data directory for database
āāā VULNERABILITIES.md # Complete vulnerability catalog
āāā README.md
Usage Examples
ā ļø DO NOT run these examples on production systems!
Example 1: SQL Injection
# Bypass authentication
username = "admin' OR '1'='1"
Example 2: Path Traversal
# Read sensitive files
filename = "../../etc/passwd"
Example 3: Command Injection
# Execute arbitrary commands
cmd = "ls; cat /etc/passwd"
See tests/test_server.py
for more examples.
License
MIT License - For educational purposes only