6.5 KiB
CyberSim OS
Phase 1 MVP: Scriptable CS End User Teaching Environment with Certificate Verification
CyberSim OS is an offline-first, browser-native cybersecurity simulation platform designed for ordinary end users. Learners enter a convincing fictional enterprise desktop, perform routine workplace activities, investigate ambiguous events, encounter realistic threats (credential phishing, malicious attachments) and legitimate false flags, receive a 7-axis behavioral after-action assessment, and earn cryptographically verifiable completion certificates (*.cybercert).
Key Features
- Convincing Fictional Desktop: Original Windows-like theme with draggable/resizable windows, active/inactive focus states, taskbar, Start launcher, simulation clock, and system toast notifications with audio cues.
- Core Simulated Workplace Applications:
- Inlook: Email client with header inspector (RFC sender vs. friendly name), link hover destination tooltips, phishing report workflow, and reply/delete actions.
- Navigator: Web browser supporting intranet directories, policy hubs, and external spoofed credential-harvesting portals.
- Files: Virtual filesystem managing Documents, Downloads, and Company Shared folders.
- Doc Viewer: Lightweight renderer for spreadsheets (
.xlsx), policies (.pdf), and memos. - Security Center: Endpoint protection dashboard, real-time alert logs, incident report confirmations, and delayed alert triggers.
- Realistic Decision Model: Teaches "Observe → Investigate → Verify → Decide → Act" rather than "Strange = Malicious". False flags and legitimate urgent notices test discernment.
- Delayed Consequences Engine: Unsafe actions (e.g. submitting credentials on a phishing page) trigger delayed consequence alerts in Security Center without giving immediate arcade-like game-over feedback.
- 7-Axis Behavioral Scoring:
- Threat Detection (20 pts)
- Investigation & Evidence Gathering (20 pts)
- Safe Handling (15 pts)
- Independent Verification (15 pts)
- Incident Reporting (15 pts)
- False Positive Control (15 pts)
- Operational Judgment (Passing threshold: 80 / 100)
- Verifiable Cryptographic Certificates:
- Web Crypto SHA-256 scenario fingerprinting.
- Portable, structured
*.cybercertJSON credential export. - Standalone offline certificate validator (
verify.html).
- 100% Offline-First & Zero Dependencies: Runs directly from any static web server, GitHub Pages, or the bundled
launcher.pywith zero npm/node/external CDN requirements.
Quick Start
Option 1: Standalone Local Launcher (Python 3)
Run the lightweight local launcher to start the server at http://127.0.0.1:8080:
python launcher.py
Your default web browser will open automatically.
Option 2: Static Web Server
Serve the src/ directory with any static HTTP server:
cd src
python -m http.server 8000
Open http://127.0.0.1:8000 in your browser.
Option 3: Direct Static Hosting
Host the repository on GitHub Pages or any static file host pointing to src/index.html.
Certificate Verification
To verify a *.cybercert certificate issued by CyberSim OS:
- Open
src/verify.htmlin your web browser. - Drag and drop the
*.cybercertfile into the verification area. - The offline verifier recalculates the SHA-256 integrity hash, verifies the scenario fingerprint, and confirms the passing score and learner identity.
Architecture & Directory Structure
CyberSim-OS/
├── .labyricorn/ # Labyricorn exhibition & devlog publishing records
├── src/
│ ├── index.html # Main desktop simulation interface
│ ├── verify.html # Standalone offline certificate verifier
│ ├── css/
│ │ ├── theme-windows.css # Fictional Windows-like enterprise theme tokens
│ │ ├── desktop.css # Window manager, taskbar, start menu, tray, toasts
│ │ ├── components.css # Modals, form inputs, buttons, badges, tabs
│ │ └── apps.css # Inlook, Navigator, Files, DocViewer, SecurityCenter
│ ├── js/
│ │ ├── main.js # Application bootstrapper & scenario loader
│ │ ├── core/
│ │ │ ├── window_manager.js# Window lifecycle, stacking, drag, min/max/close
│ │ │ ├── desktop.js # Desktop shell, launcher, clock, simulation controls
│ │ │ └── notifications.js # Toast notifications & Web Audio synth audio chime
│ │ ├── apps/
│ │ │ ├── inlook.js # Email client with RFC header/link inspection
│ │ │ ├── navigator.js # Simulated browser with intranet & phishing pages
│ │ │ ├── files.js # Virtual filesystem explorer
│ │ │ ├── docviewer.js # Spreadsheet and document viewer
│ │ │ └── security_center.js # Endpoint status & incident report dashboard
│ │ ├── engine/
│ │ │ ├── event_bus.js # Behavioral telemetry logger
│ │ │ └── consequence.js # Delayed consequence scheduler
│ │ ├── scenario/
│ │ │ ├── scenario_ref1.js # Reference scenario ("NexaCore Shift 1")
│ │ │ └── fingerprint.js # Web Crypto SHA-256 scenario fingerprinting
│ │ ├── scoring/
│ │ │ ├── scorer.js # Multi-axis behavioral scoring engine
│ │ │ └── aar.js # After-Action Report modal with pedagogical feedback
│ │ └── cert/
│ │ ├── cert_generator.js# *.cybercert JSON generator & printable certificate
│ │ └── cert_verifier.js # Offline cryptographic certificate verifier
│ └── assets/ # Embedded SVG icons and media
├── launcher.py # Zero-dependency local 127.0.0.1 web server
├── devlog_editor.py # Labyricorn devlog validation & editing tool
└── README.md # Project documentation
Validation & Devlog Maintenance
Run the validation suite to ensure .labyricorn/ records and devlog entries adhere to the schema:
python devlog_editor.py --validate
License
MIT License. See LICENSE for details.