AI4SIM Dashboard is a comprehensive web platform designed for managing and executing cybersecurity tests and attack simulations. This full-stack solution combines an intuitive user interface with a robust backend to orchestrate automated penetration testing campaigns.
Β
This project is designed solely for educational and research purposes. It's intended for use in controlled environments to study and understand cybersecurity principles, perform security testing, and simulate attacks in a safe and ethical manner. Under no circumstances should this software be used for malicious activities or without explicit authorization. Users are solely responsible for ensuring their actions comply with all applicable laws and ethical guidelines.
- π― Project Management: Hierarchical organization with team-based access control
- β‘ Automated Execution: Configurable attack scenarios with sequential/parallel execution
- π Real-Time Monitoring: Live surveillance via WebSocket connections
- π Advanced Security: Granular permission system with comprehensive audit trails
- π± Modern Interface: Responsive design with dark/light mode support
- π§ Integrated Tools: Native support for Caldera, MAIP, Shennina, and Kali Linux tools
- π Detailed Reports: Automatic PDF report generation with comprehensive analysis
Backend
- Node.js 18+ with TypeScript
- Express.js for REST API
- MongoDB with Mongoose ODM
- WebSockets (Socket.io + ws)
- JWT authentication with bcryptjs
- Winston logging framework
Frontend
- React 18 with TypeScript
- Vite build tool
- Tailwind CSS for styling
- Zustand + MobX for state management
- Framer Motion for animations
- Node.js 18.0.0 or higher
- MongoDB 5.0 or higher
- npm or yarn package manager
- Git version control
git clone https://github.com/Montimage/ai4sim.git
cd ai4sim
# Install all dependencies (root, frontend, backend)
npm run install:all
Create a .env
file in the backend/
directory:
# Database Configuration
MONGODB_URI=mongodb://localhost:27017/ai4sim-dashboard
# Security Settings
JWT_SECRET=your-very-secure-secret-key-change-this
JWT_EXPIRES_IN=24h
# Server Configuration
PORT=3000
WS_PORT=9090
HOST=localhost
# Environment
NODE_ENV=development
# Logging
LOG_LEVEL=info
# Linux/macOS
sudo systemctl start mongod
# Docker
docker run -d -p 27017:27017 --name mongodb mongo:latest
# Windows
net start MongoDB
cd backend
npm run init-super-admin
Default Credentials:
- Username:
superadmin
- Email:
admin@ai4sim-dashboard.com
- Password:
SuperAdmin123!
# Start both backend and frontend simultaneously
npm run dev
# Or separately:
npm run dev:backend # Backend on http://localhost:3000
npm run dev:frontend # Frontend on http://localhost:5173
# Build applications
npm run build
# Start in production
cd backend && npm start
- Navigate to
http://localhost:5173
- Login with super admin credentials
- Change the default password
- Create your first users and projects
- Click "New Project" in the dashboard
- Enter project name and description
- Configure team access permissions
- Create your first campaigns
- Select a project and campaign
- Create a new scenario
- Configure targets (hosts, ports, protocols)
- Add attacks with their parameters
- Launch execution and monitor in real-time
# Installation
npm run install:all # Install all dependencies
# Development
npm run dev # Launch backend + frontend
npm run dev:backend # Launch backend only
npm run dev:frontend # Launch frontend only
# Production
npm run build # Build backend + frontend
npm start # Start in production mode
# Administration
npm run init-super-admin # Initialize super admin
npm run reset-users # Reset user database
- super_admin: Complete system access and user management
- admin: User administration and system configuration
- project_manager: Project and team management
- security_analyst: Test analysis and execution
- user: Standard user with limited access
- viewer: Read-only access to assigned projects
- JWT-based secure authentication
- bcrypt password hashing
- Session management with IP tracking
- Automatic lockout after failed attempts
- Comprehensive user action auditing
- Strict input validation and sanitization
The REST API is available at http://localhost:3000/api
POST /api/auth/login
- User authenticationGET /api/projects
- List projectsPOST /api/projects
- Create projectGET /api/scenarios
- List scenariosPOST /api/executions
- Launch executionGET /api/metrics
- System metrics
AI4SIM Dashboard supports integration with various security tools:
- Caldera: Adversary simulation framework
- MAIP: Montimage Attack Injection Platform
- Shennina: Specialized security testing tool
MongoDB Connection Issues
# Check MongoDB status
sudo systemctl status mongod
# Restart MongoDB service
sudo systemctl restart mongod
Port Already in Use
# Find process using the port
lsof -i :3000
kill -9 <PID>
Permission Errors
# Reset user permissions
npm run reset-users
npm run init-super-admin
Logs are available in:
backend/server.log
- General server logsbackend/error.log
- Error logs- Console output during development
This project is licensed under the MIT License. See the LICENSE file for details.
AI4SIM Dashboard is developed by Montimage as part of the AI4SIM project, focusing on advanced cybersecurity simulation and testing capabilities.
For technical information and updates, visit the Montimage AI4SIM repository.
Version: 1.0.0
Status: Production Ready
Organization: Montimage
Last Updated: June 2025