A web-based interactive cybersecurity training game built with React and Vite. Players investigate various cyber attacks through a simulated VM desktop interface.
- Left Panel: Displays emails, files, USBs, and network alerts with icons and previews
- Main Panel: Shows detailed content when items are clicked
- Bottom Panel: Interactive terminal for security analysis commands
- Day/Round System: Progress through days with increasing difficulty
- Score Tracking: Earn points for correct actions, lose points for mistakes
- Real-time Feedback: Green/red flash effects for correct/incorrect actions
- Attack Types:
- Phishing emails
- Malicious USB drives
- Suspicious files
- Network anomalies
- Ransomware incidents
help- Show available commandslist- List all current itemscat <id>- Display file/email contentheaders <email_id>- Show email headersls <usb_id>- List USB contentsscan <id>- Scan for threatsquarantine <id>- Quarantine suspicious itemsstrings <file>- Extract strings from binary fileswhois <ip>- Lookup IP informationstatus- Show day progressendday- End current day (when enough incidents resolved)clear- Clear terminal
- Correct Actions: +10-25 points depending on difficulty
- False Positives: -5 to -12 points
- Missed Threats: -10 to -25 points
- Start the Game: Run
npm run devto start the development server - Investigate Items: Click on items in the left panel to view their contents
- Use Terminal Commands: Type commands to analyze threats (e.g.,
scan email_phish_001) - Take Actions: Use commands like
quarantinefor malicious items - Progress Through Days: Type
enddaywhen you've resolved enough incidents - Learn from Mistakes: Review post-mortem analysis for missed threats
- Built with React 19 and Vite
- Retro terminal-style UI with green-on-black color scheme
- Responsive design that works on mobile and desktop
- Dynamic attack loading from JSON configuration
- Game state management with React hooks
- Hover tooltips showing attack indicators
- Real-time command parsing and feedback
npm install
npm run devNavigate to http://localhost:5173 to start playing!
The game loads attack scenarios from attacks.json, each containing:
- Attack metadata (type, difficulty, severity)
- Visual representation (icons, previews)
- Content to display (emails, files, logs)
- Terminal command responses
- Correct actions and scoring
- Hints and post-mortem explanations
Perfect for cybersecurity training, educational demonstrations, or just having fun learning about threat detection!
The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.
If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the TS template for information on how to integrate TypeScript and typescript-eslint in your project.