ML IoT Anomaly Detection Pipeline
Capstone. Isolation Forest trained on the IoT-23 dataset, served via a Flask API on a Raspberry Pi 4B, live predictions feeding an Elastic and Kibana dashboard for real-time triage.
Python · Machine learning · Elastic · Kibana · Flask
View repo →
Windows Digital Forensic Investigation
Full examination of forensic disk images: hash-verified integrity, artefact recovery and correlation with Autopsy, FTK Imager and Eric Zimmerman tools, counter-forensics identified (JPEG/ZIP polyglot, AES archives). Delivered as a court-style expert report.
Digital forensics · Autopsy · FTK Imager · Windows artefacts
Cross-Platform Browser Forensics
Brave, Firefox and IceCat compared across Kali Linux and macOS, replicating identical activity on each so the artefacts lined up: cookie and history databases read in DB Browser for SQLite, plus cache, local and session storage, IndexedDB and tracker blocking, closing on a per-browser deployment recommendation. Scored 75/75, with 20/20 on the presentation.
Browser forensics · SQLite · Kali Linux · macOS · Wireshark
Healthcare Security Assessment
Contributed to a group security assessment of a healthcare provider holding 800,000 patient records and 2 million administrative records. Each policy gap worked through its risks, threats, countermeasures and exposure under the Privacy Act 1988, ending in four action areas answered with MFA, password rotation, RBAC and VPN restriction, plus a staff training programme designed against published awareness research.
Governance · Risk assessment · Privacy Act 1988 · Security awareness
APT38 Incident Response Plan
Incident response plan for a simulated APT38 intrusion against a financial institution, mapped to the cyber kill chain and MITRE ATT&CK, structured on the ACSC template with NIST and SANS lifecycle stages.
Incident response · Threat intel · MITRE ATT&CK · NIST
ML Security Classifiers
Spam, network intrusion and DDoS detection classifiers in Python (scikit-learn, TensorFlow, PyTorch), evaluated on accuracy, precision and recall, and tested against adversarial ML evasion.
Python · scikit-learn · TensorFlow · Adversarial ML
Loan Default Prediction Pipeline
Supervised classification on a 35,000-record lending dataset: EDA, engineered temporal features, a deliberate missing-data strategy and a held-out 15,000-prediction submission, including a date-format bug caught before it silently corrupted half the test set.
pandas · scikit-learn · Feature engineering · Data quality
Consumer Behaviour Analysis · Penang
Team project at Universiti Sains Malaysia: survey data cleaned and modelled in JMP and R, then built into a Tableau dashboard and presented to the cohort at the close of the school.
JMP · R · Tableau · Power BI · Mixed international team