How ashishs2020git/cybersec-lab works
CyberLab is a consent-gated device file-sharing server with a companion device agent. The main workflow is agent registration and heartbeat, dashboard selection and transfer creation, then agent polling and local human approval before either downloading a file or uploading a requested one. The sampled server code also includes Nmap scanning through a Kali VM and a host-side explorer route. Some UI and route implementations were not sampled, so those branches are limited to documented or visible relationships.
Main entry points: app.py Flask Routes · connect.py Connect Agent · dashboard.html Browser Dashboard · nmap.py Nmap Scans
Components 14
Dashboard and Server
- Browser Dashboard
server/templates/dashboard.html - Flask Routes
server/app.py - Login
server/templates/login.html - SQLite State
server/devices.db - Host Explorer
server/app.py
Consent-Based Transfers
- Transfer Queue
server/app.py - Server Uploads
server/uploads
Device Agent
- Connect Agent
agent/connect.py - Received Files
agent/connect.py
Network Scanning
- Nmap Scans
server/nmap.py - VM Executor
server/kali_executor.py - Kali VM
Other components
- Administrator
- Device User
Connections 16
- Administrator → Browser Dashboard: uses
README.md - Browser Dashboard → Flask Routes: submits requests
README.md - Flask Routes → Login: renders login
server/app.py - Flask Routes → SQLite State: reads and writes
server/app.py - Flask Routes → Host Explorer: serves route
server/app.py - Browser Dashboard → Transfer Queue: creates transfers
README.md - Flask Routes → Transfer Queue: queues requests
server/app.py - Flask Routes → Server Uploads: stores uploads
server/app.py - Device User → Connect Agent: runs and approves
README.md - Connect Agent → Flask Routes: registers and polls
agent/connect.py - Connect Agent → Transfer Queue: accepts or rejects
agent/connect.py - Connect Agent → Received Files: saves accepted files
agent/connect.py - Connect Agent → Flask Routes: uploads requested files
agent/connect.py - Flask Routes → Nmap Scans: runs scan
server/app.py - Nmap Scans → VM Executor: runs guest program
server/nmap.py - VM Executor → Kali VM: executes in VM
server/kali_executor.py