My Projects

This is a collection of projects I've worked on throughout my time in tech.


Research Projects

Virtualised Industrial Control Systems - ICS-SimLab

[2024 Feb - 2025 Nov]

Developed custom software (called ICS-SimLab) to simulate Industrial Control Systems using containerisation.

This project involved creating software that could create configurable simulations to virtualise Industrial Control Systems.

Unlike other simulation frameworks which use virtual machines, we proposed the use of containers to provide similar but more efficient encapsulation. We also created a JSON configuration system that allowed researchers to easy create ICS simulations.

This project was published in IEEE.

Refer to the GitHub for the full code and documentation.

Industrial Control System Intrusion Detection System

[2025 Feb - 2025 Nov]

Created an Network-Based Intrusion Detection System tailored to Industrial Control Systems (specifically using the Modbus protocol).

This project formed the second stage to the ICS-SimLab project. Simulations were developed using ICS-SimLab, and data was collected from the simulations to use for training the AI-based IDS.

13 ICS-specific attacks were designed and implemented. These attacks were launched against the ICS simulations, and network packet data was collected. This data was used to train an Autoencoder for classification of anomalous network packets.

Classification results were then sent to an LLM, along with contextual information, to calculate a final risk score and provide explanations on detected anomalies.

A paper is currently being written for this project.

Healthy Connections

[2023 Oct - 2024 Oct]

Handled cyber security operations and full-stack development for a Proof-of-Concept "MediKit" device aimed at improving health outcomes in remote Piblara.

This project was a government-funded project aimed at improving health outcome for remote Indigenous communities in Australian remote communities. It was directed by Curtin University.

It involved developing a "MediKit", a mobile device equipped with health sensors for ease of use. I handled data security and cyber security for this device.

The project won various awards which can be viewed on the main project website, which is run by Curtin.

Purposely-Vulnerable Virtual Machines

[2023 Mar - 2023 Oct]

Developed purposely-vulnerable virtual machines to be used as workshop resources for Curtin's Penetration Testing and Defence unit.

This project involved developing 13 virtual machines to be used as a resource for students to practise ethically hacking into. The VMs were structured like a CTF; students were tasks with exploiting the machines to gain access to certain flags. There would be a flag found on initial access, and a flag for "rooting" the machine.

I also developed worksheets to accompany each machine, which provided questions for students to answer along with a guide on how to solve the machines.

These machines are hosting on-site at Curtin University using VirtualBox, and are still be used as workshop-resources to this day.

It's funny because I created these resources without even doing the unit. A year later when I enrolled in the unit, I ended up using my own VMs to practise on.

Personal Projects

Capture-The-Flag Events

[2023 Feb - Current]

Competed in various Capture-The-Flag events, where you are tasked with completing certain cyber-based challenges.

I have participated in a variety of Capture-The-Flag (CTF) competitions. One of my most notable achievements was placing third in the International Country-to-Country CTF (C2C-CTF). The finals for this event were held in person at Northeastern University in Boston.

I continue to compete in CTF events from time to time.

Arduino Audio Visualiser

[2021 Mar]

Built an audio visualiser using an Arduino, programmable LED strips and a custom audio frequency splitter chip.

Using an Arduino, I built an audio visualiser system for my car. I combined a small-range radio transmitter with an audio frequency splitter to determine different frequencies being outputted in a song. Using that data, I wrote a custom script to program LEDs to visualise the music being played.

Eventually I aim to rebuild this system to be more robust. Surprisingly, there are no consumer-grade audio visualisers (beyond very simple visualisation).

STEM Video Game Challenge Winner

[2017]

Built a video game that won the Australian STEM Video Game Challenge.

Using the GameMaker engine, I developed a game as a submission to the Australian STEM Video Game Challenge competition, which accepts high-school submissions across Australia. I also created a Game Design Document along with my game.

This game, which I called "Cube Runner", won the competition in 2017. In 2019 I also submitted a game, which made the finals.

In the next months I also created a mobile-friendly version of the game and published it in the Google Play Store (it has since been removed as I never maintained it).


Volunteer Projects

Cyber Range Manager

[2023 Oct - 2024 May]

Developed a full-stack application to handle running 100+ virtual machines in Curtin's Cyber Range.

I developed a web-application that allowed students enrolled in Curtin's Penetration Testing and Defence unit to access various virtual machines. These VMs were hosted on-site on a reused super computer. The VMs were purposely-vulnerable machines designed for students to practise their pen-testing skills.

The application was built with HTML, CSS (+Bootstrap) and vanilla JavaScript. It had an interface to allow students to log into and for them to bootup different VMs (similar to how HackTheBox does it). Students would VPN into the Cyber Range network to then access their machines. This application was also used for exams.

The backend was built was both PHP (for certain display features) and a custom Python API. This API interacted with VirtualBox, which was used as the VM hypervisor. Apache was then used to host the application, and Flask was used for the API framework.