Computer Science graduate (2025) with a completed SOC internship and hands-on detection engineering labs.
Case files
CASE // VIGIL-2026 FEATURED
A self built detection lab on Zorin OS running Wazuh SIEM, OpenSearch and TheHive case management behind an Nginx reverse proxy. Simulated a four stage web application compromise end to end, each stage independently detected, escalated and closed with a written verdict.
WazuhTheHiveDockerOpenSearchT1190T1059.007T1213T1486
View repository →
CASE // DWELL-TIME-2026 GAME
A browser game that teaches real security analyst skills through a branching investigation at a small managed security provider. Players work live cases with hands-on tools: a SIEM search language, a shell for log triage, a firewall rule editor, an admin console, a timeline builder, a passive DNS pivot board, a CVSS calculator, and detection-rule and incident-report writing. Built in TypeScript with Vite as a single self-contained HTML file that runs offline, no framework. Covered by 160 unit tests and a Playwright bot that plays every ending, with some cases generated fresh each run so the answers change.
TypeScriptViteVitestPlaywrightSIEM / detectionCVSS
Play it live →
View repository →
CASE // CIPHERVAULT-2026 LAB
A client-side encryption tool built with vanilla JavaScript and the Web Crypto API. Messages use hybrid RSA-OAEP + AES-256-GCM encryption, and saved results live in a vault encrypted with a key derived from your passphrase (PBKDF2, 600,000 iterations). A self-review found and fixed a stored XSS bug, plaintext storage and a hardcoded login, and a strict Content Security Policy blocks all network access. 38 automated tests check the crypto and click through the app in Chrome, Firefox and Safari's engine on every change.
JavaScriptWeb Crypto APIRSA + AES-GCMPBKDF2Client-side only
Try it live →
View repository →
CASE // NETSCAN-2026 LAB
A real time network scanner and firewall simulator built with Flask and Nmap. Supports TCP SYN, UDP and service version scans with live WebSocket updates. With admin or root rights, deny rules run a real netsh or iptables command for that IP and port, dropping matching traffic at the OS level, and allow rules win over deny rules on both Linux and Windows. Later added a scan diff that flags newly opened ports, auto-expiring blocks with an audit log, subnet and port-range rules, and fixed a command injection found in self-review. Also writes SIEM-ready events, tested on Wazuh 4.14.9: every scan, new open port and firewall change is logged in Elastic Common Schema, with custom Wazuh rules that alert on new exposure.
FlaskNmapWebSocketsiptables / netshWazuhECS
View repository →
CASE // SENTINEL-FORGE-2025 LAB
A cloud hosted security lab on Vultr built around the ELK Stack, with Sysmon deployed for endpoint telemetry, custom Kibana detection rules, adversary simulation via Mythic C2, and automated ticket creation on alert.
ELK StackSysmonKibanaMythic C2T1110T1071.001
View repository →
CASE // FYP-IEEE-2025 RESEARCH
Team lead on a CNN, BiLSTM and GRU based intrusion detection model for IoT enabled healthcare systems, 99.8% detection accuracy, Grade A evaluation. Co-authored and published in IEEE Xplore, presented at DataSciMI 2026.
CNN / BiLSTM / GRUFederated LearningIEEE Xplore
Read the paper →