Viper
Adversary simulation and Red teaming platform with AI
claude mcp add --transport stdio funnywolf-viper node server.js \ --env PORT="3000" \ --env VIPER_BASE_URL="https://www.viperrtp.com" \ --env VIPER_LOG_LEVEL="info"
How to use
To get started, install the runtime, deploy the VIPER server, and access the web UI to orchestrate exercises. Use the built-in modules to initiate implants, pivot between hosts, and simulate ATT&CK techniques across multiple platforms. The LLM agent can help you map adversary behavior to relevant tasks, generate reports, and manage automated notifications for target environments. If you need custom functionality, you can develop Python-based modules and integrate them into VIPER to meet specific assessment needs. The platform also supports automated workflows for around-the-clock monitoring and alerts, enabling persistent assessments and ongoing validation of defenses.
How to install
Prerequisites
- A supported runtime (Node.js if running the Node variant, or the project’s recommended runtime).
- Git to clone the repository.
Installation steps
- Install the runtime (example for Node.js):
- Visit https://nodejs.org and install the LTS version.
- Clone the repository:
- git clone https://github.com/funnywolf/viper.git
- Install dependencies (adjust if your runtime differs):
- cd viper
- npm install
- Start the server:
- npm run build (if applicable)
- node server.js (or the command specified by your runtime/documentation)
- Open the UI:
- Navigate to http://localhost:3000 (or the port you configured) in your web browser.
Notes
- If the project uses a different entry point (e.g., index.js or a dedicated CLI), adjust the start command accordingly.
- Refer to the repository for exact version requirements and any environment-specific setup.
Additional notes
Environment variables and configuration tips:
- PORT: The port on which the server will listen (default commonly 3000).
- VIPER_BASE_URL: Base URL for VIPER API/UI endpoints if you deploy behind a proxy or in a custom domain.
- VIPER_LOG_LEVEL: Set to debug, info, warn, or error to control log verbosity.
Common issues:
- Ensure the runtime version matches the project’s requirements (Node.js, Python, etc.).
- If you encounter port conflicts, change the PORT value or stop the conflicting service.
- When integrating Python-based modules, ensure the Python environment has the necessary dependencies installed.
Configuration options:
- You can extend VIPER with Python-based custom modules and connect them via the standard module interface.
- Use the automated workflow and notification features to keep track of ongoing assessments and alert your team.
Related MCP Servers
MCP-PostgreSQL-Ops
🔍Professional MCP server for PostgreSQL operations & monitoring: 30+ extension-independent tools for performance analysis, table bloat detection, autovacuum monitoring, schema introspection, and database management. Supports PostgreSQL 12-17.
rohlik
MCP server that lets you shop groceries across the Rohlik Group platforms (Rohlik.cz, Knuspr.de, Gurkerl.at, Kifli.hu, Sezamo.ro)
robot_MCP
A simple MCP server for the SO-ARM100 control
mcp_server_gdb
MCP Server to expose the GDB debugging capabilities
ummon
The semantic layer for software engineering: Connect code to meaning, build on understanding
agentman
Agentman: A tool for building and managing AI agents