Thirteen controlled coursework challenges tracing memory corruption from basic stack overflows to ROP and mitigation bypasses.
Python · pwntools · x86 / x86-64
Read project notes
I wrote scripts that resolve addresses from runtime leaks and construct payloads dynamically. The coursework covers calling conventions, return-oriented programming, format strings, and stack-canary behavior in intentionally vulnerable local binaries.
Educational material — intentionally vulnerable local binaries.
Cybersecurity
Applied machine learning
Network intrusion analysis
Feature engineering and exploratory analysis of the UNSW-NB15 dataset, with attention to class imbalance and redundant features.
Python · pandas · scikit-learn · Team of three
Read project notes
The analysis compared feature correlations and mutual information, examined binary and multiclass labels, and reduced the numeric feature set to 18 selected features. This work describes data preparation; it does not claim a measured production detection rate.
Software
3 projects
Software
Production software
Backend systems for regulated fintech
Three production web applications at Continental Finance: internal release tracking, client communications, and public-facing identity verification.
C# · AWS · SQL Server · React
Read project notes
I owned backend development end to end, built event-driven services and REST endpoints, and automated build and release tracking across development, test, and production. The work followed an Agile SDLC in a PCI-DSS regulated environment.
Proprietary company code — not available for download.
Software
Data structures
Data structures, from first principles
Four C++ implementations covering graphs, binary search trees, hash maps, and a weighted grid maze.
C++ · Dijkstra · Trees · Hashing
Read project notes
The projects include shortest-path search over a city graph, a tree with height tracking and depth-first traversals, a separate-chaining hash map for a Markov text generator, and a maze game with weighted wall segments.
Software
Technical communication
Calling conventions, explained
A video walkthrough of parameter passing, stack frames, return addresses, and the differences between 32- and 64-bit function calls.
x86 · Assembly · Video explainer
Read project notes
The walkthrough connects normal function-call behavior with the mechanisms examined in the binary-exploitation coursework.
Logic-locking tools and a reproducible attack pipeline for evaluating the security of digital circuits.
Python · TCL · SAT/SLE · Delaware Space Grant
Read project notes
Under a NASA research grant through Delaware Space Grant, I implemented SKGLock+ and co-developed hardware-Trojan detection methods. The reported evaluation detected Trojans across all 11 tested benchmark circuits. A research manuscript was submitted to ISCAS for peer review; submission is not publication.
Research source is not included in this portfolio.
Hardware
Computer architecture
Extending an ARMv8 simulator
Added floating-point support, atomic memory operations, and wide-integer arithmetic to a course AArch64 simulator.
22 instructions · 64 FP registers · 4 test suites
Read project notes
The extension implements single- and double-precision floating-point register aliasing, comparison flags including NaN handling, exclusive load/store behavior, and wide multiplication. Four assembly test programs exercise the new instruction paths.
Hardware
IoT systems security
Hardware Trojans & side channels
Coursework exploring malicious circuit modifications and the information exposed by device power consumption.
Gate-level netlists · ChipWhisperer · SPA / CPA
Read project notes
I built tooling for combinational, sequential, and hybrid Trojan insertion and verification. Separate power-analysis assignments recovered a password and a 128-bit AES key from captured traces, using simple and correlation power analysis.
Includes executed notebooks; large raw power-trace arrays are omitted.