An advanced AI-powered security testing platform that leverages specialized AI agents for OSINT reconnaissance, network scanning, and vulnerability analysis. Built with Express.js backend and React frontend.
Worm AI is an enterprise-grade autonomous security assessment platform combining multiple AI models (DeepHat-V1-7B, GPT-3.5, DeepSeek, Mixtral) with 37+ integrated security tools across 15 categories. The platform orchestrates intelligent penetration testing workflows through specialized agents, providing comprehensive vulnerability assessment, exploitation, and professional reporting capabilities.
This project provides an intelligent orchestration system for offensive security operations using AI agents powered by local AI models (Llama 3, Mixtral) via Ollama. The system includes:
Worm AI/
βββ server.js # Express server with Socket.IO
βββ package.json # Backend dependencies
βββ .env # Environment variables (API keys)
β
βββ controllers/ # Request handlers
β βββ taskController.js # Agent-based task execution
β βββ README.md # Controller documentation
β
βββ services/ # AI services and agents
β βββ Agent.js # Base AI Agent class
β βββ OsintAgent.js # OSINT reconnaissance agent
β βββ NetworkScannerAgent.js # Network scanning agent
β βββ ExploitAgent.js # Vulnerability exploitation agent
β βββ deepseekService.js # DeepSeek API integration
β βββ mixtralService.js # Mixtral API integration
β βββ offensiveTools.js # 10 offensive security tools
β βββ README.md # Service documentation
β
βββ utils/ # Utility functions
β βββ osintTools.js # OSINT tool simulations
β βββ exploitTools.js # Exploit tool simulations
β βββ networkTools.js # Network tool simulations
β βββ README.md # Utils documentation
β
βββ routes/ # API routes
β βββ aiRoutes.js # AI service endpoints
β
βββ offensive-ai-frontend/ # React frontend
βββ src/
β βββ pages/ # Page components
β βββ components/ # Reusable components
β βββ services/ # API & WebSocket clients
β βββ styles/ # CSS styling
βββ package.json # Frontend dependencies
Before setting up the Offensive AI Orchestrator, ensure you have:
The Offensive AI Orchestrator now supports local AI models via Ollama, eliminating the need for cloud API keys and providing faster, private inference.
On Kali Linux or any Linux system, run:
curl -fsSL https://ollama.com/install.sh | sh
This will:
http://localhost:11434Verify installation:
ollama --version
systemctl status ollama
Download the models you want to use:
# Llama 3 8B - Recommended for balanced performance (4.7GB)
ollama pull llama3
# Mixtral 8x7B - Best quality, requires more resources (47GB)
ollama pull mixtral
# Optional: Smaller, faster models
ollama pull llama3.2:3b # 2.0GB - Fast and efficient
ollama pull llama3.2:1b # 1.3GB - Very fast
ollama pull phi3:3.8b # 2.3GB - Good reasoning
Check downloaded models:
ollama list
Verify models are working:
# Test Llama 3
ollama run llama3 "What is OSINT?"
# Test Mixtral
ollama run mixtral "Explain penetration testing"
# Test API endpoint
curl http://localhost:11434/api/version
Your .env file should be configured for Ollama (this is the default):
# Server Configuration
PORT=3000
NODE_ENV=development
# Ollama Configuration (Local LLM)
USE_OLLAMA=true
OLLAMA_API_URL=http://localhost:11434
OLLAMA_BASE_URL=http://localhost:11434
# Optional: DeepSeek API (only if using cloud API)
# DEEPSEEK_API_KEY=your_deepseek_api_key_here
# Security Tools Configuration
ENABLE_REAL_TOOLS=false
Model Selection:
llama3, mixtral, or deepseek (if API key provided)llama3 (fast and efficient)mixtral for complex tasks requiring better reasoningdeepseek only if you have an API key and prefer cloud inferencenpm install
The .env file is already configured for Ollama by default. If you want to use cloud APIs instead:
# For cloud APIs (optional)
USE_OLLAMA=false
DEEPSEEK_API_KEY=your_deepseek_api_key_here
Getting API Keys (Optional):
# Production mode
npm start
# Development mode (with auto-reload)
npm run dev
The server will start on http://localhost:3000
Backend will automatically:
mixtral and llama3 model typesdeepseek model type (if configured)cd offensive-ai-frontend
npm install
npm run dev
The frontend will start on http://localhost:5173
The .env file contains sensitive configuration and API keys. Never commit this file to version control.
PORT: Server port (default: 3000)DEEPSEEK_API_KEY: API key for DeepSeek modelMIXTRAL_API_KEY: API key for Mixtral modelNODE_ENV: Environment mode (development/production)USE_OLLAMA: Use local Ollama instead of cloud APIs (true/false)OLLAMA_BASE_URL: Ollama server URL (default: http://localhost:11434)GET /health
Returns server health status.
POST /api/ai/deepseek
POST /api/ai/mixtral
POST /api/ai/ollama
Direct AI model API calls.
POST /api/start-task
Start a new AI agent task.
Request Body:
{
"taskDescription": "Perform OSINT on example.com",
"target": "example.com",
"agentType": "osint",
"modelType": "deepseek"
}
Agent Types:
general - Base agent with general toolsosint - OSINT reconnaissance specialistnetwork - Network scanning specialistexploit - Vulnerability exploitation specialistModel Types:
llama3 - Llama 3 8B via Ollama (recommended, local, fast)mixtral - Mixtral 8x7B via Ollama (powerful, local, slower)deepseek - DeepSeek via cloud API (requires API key)The server emits real-time progress updates via Socket.IO:
Event: task-progress
Data Structure:
{
taskId: 'task_1703358000000',
taskDescription: 'Perform OSINT on example.com',
status: 'processing',
progress: 45,
message: 'Running theHarvester...',
agentType: 'osint',
modelType: 'deepseek',
iterations: 3,
answer: '...',
error: null
}
OSINT Agent π
Network Scanner Agent π
Exploit Agent π―
The system supports both simulated (safe) and real security tools:
OSINT Tools:
Network Scanning Tools:
Exploitation Tools:
Tool Mode:
ENABLE_REAL_TOOLS=true)
tools/SETUP_*.md for installation instructionsservices/README.md for AI service documentationservices/AGENT_README.md for Agent class detailsutils/README.md for OSINT tools documentationcontrollers/README.md for task controller info// Start an OSINT task
const response = await fetch('http://localhost:3000/api/start-task', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
taskDescription: 'Perform OSINT reconnaissance on example.com',
target: 'example.com',
agentType: 'osint',
modelType: 'deepseek'
})
});
const data = await response.json();
console.log('Task started:', data.taskId);
# Backend development
npm run dev
# Frontend development
cd offensive-ai-frontend
npm run dev
# Run example scripts
node services/osintAgentExample.js
node services/networkScannerExample.js
node services/exploitAgentExample.js
ISC
This is an educational project. Use responsibly and ethically.
An advanced AI-powered security testing platform that leverages specialized AI agents for OSINT reconnaissance, network scanning, and vulnerability analysis. Built with Express.js backend and React frontend.
Worm AI is an enterprise-grade autonomous security assessment platform combining multiple AI models (DeepHat-V1-7B, GPT-3.5, DeepSeek, Mixtral) with 37+ integrated security tools across 15 categories. The platform orchestrates intelligent penetration testing workflows through specialized agents, providing comprehensive vulnerability assessment, exploitation, and professional reporting capabilities.
This project provides an intelligent orchestration system for offensive security operations using AI agents powered by local AI models (Llama 3, Mixtral) via Ollama. The system includes:
Worm AI/
βββ server.js # Express server with Socket.IO
βββ package.json # Backend dependencies
βββ .env # Environment variables (API keys)
β
βββ controllers/ # Request handlers
β βββ taskController.js # Agent-based task execution
β βββ README.md # Controller documentation
β
βββ services/ # AI services and agents
β βββ Agent.js # Base AI Agent class
β βββ OsintAgent.js # OSINT reconnaissance agent
β βββ NetworkScannerAgent.js # Network scanning agent
β βββ ExploitAgent.js # Vulnerability exploitation agent
β βββ deepseekService.js # DeepSeek API integration
β βββ mixtralService.js # Mixtral API integration
β βββ offensiveTools.js # 10 offensive security tools
β βββ README.md # Service documentation
β
βββ utils/ # Utility functions
β βββ osintTools.js # OSINT tool simulations
β βββ exploitTools.js # Exploit tool simulations
β βββ networkTools.js # Network tool simulations
β βββ README.md # Utils documentation
β
βββ routes/ # API routes
β βββ aiRoutes.js # AI service endpoints
β
βββ offensive-ai-frontend/ # React frontend
βββ src/
β βββ pages/ # Page components
β βββ components/ # Reusable components
β βββ services/ # API & WebSocket clients
β βββ styles/ # CSS styling
βββ package.json # Frontend dependencies
Before setting up the Offensive AI Orchestrator, ensure you have:
The Offensive AI Orchestrator now supports local AI models via Ollama, eliminating the need for cloud API keys and providing faster, private inference.
On Kali Linux or any Linux system, run:
curl -fsSL https://ollama.com/install.sh | sh
This will:
http://localhost:11434Verify installation:
ollama --version
systemctl status ollama
Download the models you want to use:
# Llama 3 8B - Recommended for balanced performance (4.7GB)
ollama pull llama3
# Mixtral 8x7B - Best quality, requires more resources (47GB)
ollama pull mixtral
# Optional: Smaller, faster models
ollama pull llama3.2:3b # 2.0GB - Fast and efficient
ollama pull llama3.2:1b # 1.3GB - Very fast
ollama pull phi3:3.8b # 2.3GB - Good reasoning
Check downloaded models:
ollama list
Verify models are working:
# Test Llama 3
ollama run llama3 "What is OSINT?"
# Test Mixtral
ollama run mixtral "Explain penetration testing"
# Test API endpoint
curl http://localhost:11434/api/version
Your .env file should be configured for Ollama (this is the default):
# Server Configuration
PORT=3000
NODE_ENV=development
# Ollama Configuration (Local LLM)
USE_OLLAMA=true
OLLAMA_API_URL=http://localhost:11434
OLLAMA_BASE_URL=http://localhost:11434
# Optional: DeepSeek API (only if using cloud API)
# DEEPSEEK_API_KEY=your_deepseek_api_key_here
# Security Tools Configuration
ENABLE_REAL_TOOLS=false
Model Selection:
llama3, mixtral, or deepseek (if API key provided)llama3 (fast and efficient)mixtral for complex tasks requiring better reasoningdeepseek only if you have an API key and prefer cloud inferencenpm install
The .env file is already configured for Ollama by default. If you want to use cloud APIs instead:
# For cloud APIs (optional)
USE_OLLAMA=false
DEEPSEEK_API_KEY=your_deepseek_api_key_here
Getting API Keys (Optional):
# Production mode
npm start
# Development mode (with auto-reload)
npm run dev
The server will start on http://localhost:3000
Backend will automatically:
mixtral and llama3 model typesdeepseek model type (if configured)cd offensive-ai-frontend
npm install
npm run dev
The frontend will start on http://localhost:5173
The .env file contains sensitive configuration and API keys. Never commit this file to version control.
PORT: Server port (default: 3000)DEEPSEEK_API_KEY: API key for DeepSeek modelMIXTRAL_API_KEY: API key for Mixtral modelNODE_ENV: Environment mode (development/production)USE_OLLAMA: Use local Ollama instead of cloud APIs (true/false)OLLAMA_BASE_URL: Ollama server URL (default: http://localhost:11434)GET /health
Returns server health status.
POST /api/ai/deepseek
POST /api/ai/mixtral
POST /api/ai/ollama
Direct AI model API calls.
POST /api/start-task
Start a new AI agent task.
Request Body:
{
"taskDescription": "Perform OSINT on example.com",
"target": "example.com",
"agentType": "osint",
"modelType": "deepseek"
}
Agent Types:
general - Base agent with general toolsosint - OSINT reconnaissance specialistnetwork - Network scanning specialistexploit - Vulnerability exploitation specialistModel Types:
llama3 - Llama 3 8B via Ollama (recommended, local, fast)mixtral - Mixtral 8x7B via Ollama (powerful, local, slower)deepseek - DeepSeek via cloud API (requires API key)The server emits real-time progress updates via Socket.IO:
Event: task-progress
Data Structure:
{
taskId: 'task_1703358000000',
taskDescription: 'Perform OSINT on example.com',
status: 'processing',
progress: 45,
message: 'Running theHarvester...',
agentType: 'osint',
modelType: 'deepseek',
iterations: 3,
answer: '...',
error: null
}
OSINT Agent π
Network Scanner Agent π
Exploit Agent π―
The system supports both simulated (safe) and real security tools:
OSINT Tools:
Network Scanning Tools:
Exploitation Tools:
Tool Mode:
ENABLE_REAL_TOOLS=true)
tools/SETUP_*.md for installation instructionsservices/README.md for AI service documentationservices/AGENT_README.md for Agent class detailsutils/README.md for OSINT tools documentationcontrollers/README.md for task controller info// Start an OSINT task
const response = await fetch('http://localhost:3000/api/start-task', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
taskDescription: 'Perform OSINT reconnaissance on example.com',
target: 'example.com',
agentType: 'osint',
modelType: 'deepseek'
})
});
const data = await response.json();
console.log('Task started:', data.taskId);
# Backend development
npm run dev
# Frontend development
cd offensive-ai-frontend
npm run dev
# Run example scripts
node services/osintAgentExample.js
node services/networkScannerExample.js
node services/exploitAgentExample.js
ISC
This is an educational project. Use responsibly and ethically.