About Me
Background
I’m a software engineer with a passion for invention and security. I graduated from Virginia Tech in 2021 with a B.S. in computer science and a minor in cyber security. A year later, I graduated with a M.S. (also in computer science), focusing on computer systems and security, with an emphasis on fuzzing.
I enjoy software development, exploring software security, writing, and generally creating things in my free time.
Career
Microsoft — Software Engineer
I’m an engineer at Microsoft. I currently work on the Azure Confidential Compute platform, which aims to keep sensitive data secure mid-execution using hardware-based Trusted Execution Environments. (If you’d like to learn more about the field, take a look at the Confidential Computing Consortium.)
Specifically, I’ve been heavily contributing to Microsoft’s Azure Integrated HSM (HSM meaning Hardware Security Module). This is a small hardware device that offloads crypto operations and allows keys to be stored and used in a hardware isolated TEE (Trusted Execution Environment). Check out the AziHSM GitHub repo for a little more information.
Microsoft — Security Verification Engineer
In my previous role at Microsoft, I contributed to some exciting security work involving speculative-execution side-channel attacks (remember Spectre and Meltdown?) and other architectural attacks. I worked on the Microsoft Pluton Security processor and the Microsoft Cobalt processor. Through my contributions and utilization of Revizor, Microsoft’s side-channel vulnerability fuzzer, I co-authored a patent and submitted it to the US Patent Office. Additionally, given Microsoft’s position in the AI frenzy, I developed new AI-based tools and helped lead the usage of LLMs in my organization’s day-to-day engineering workflows.
Virginia Tech Computer Science — Teaching Assistant
I also worked as a Teaching Assistant with the Virginia Tech Computer Science department for five semesters. I spent four of those five semesters working on CS 3214 - Computer Systems, both as an undergraduate and graduate TA. This class is notorious for its challenging assignments and comprehensive C-based software engineering projects. I absolutely loved it; it sparked my passion for lower-level OS/systems-level software.
I had the opportunity to assist hundreds of students with complex systems programming projects involving Linux processes, multithreading, memory management, virtualization, security, and networking, all with a heavy emphasis on writing robust and high-performing code.
Research
During my M.S. degree at Virginia Tech (2020–2022), I created Gurthang, a fuzzing framework designed specifically for fuzz-testing web servers. I created a novel fuzzing harness for AFL++ capable of sending multiple payloads to a web server simultaneously, allowing for effective testing for concurrency-related bugs induced when servers handle multiple requests at once. Read more about it here!
Skills
Technical
Software Engineering
Object-Oriented Programming
Algorithms & Data Structures
Cryptography
Operating Systems
Processes
Multithreading
Memory Management
Networking
Virtualization
Linux Kernel
Fuzzing
Software Security
Network Security
Cryptography
Cache Timing Attacks
Speculative Execution Attacks
Languages
Rust
C
C++
x86 Assembly
Arm64 Assembly
Python
Bash Scripting
PowerShell Scripting
Java
C#
JS/TS
HTML
CSS
Vim Script
Software / Tools
Linux
Windows
Bash
WSL
Git
Vim
GDB
WinDBG
Valgrind
QEMU
strace
libfuzzer
AFL/AFL++
cargo-fuzz
Radamsa
Wfuzz
Kali Linux
Burp Suite
nmap
tcpdump
Wireshark
John the Ripper
GitHub
Azure Web Portal
Azure CLI
Azure DevOps
Projects
Creation is one of my greatest passions in life. Turns out that a knack for making things plus a couple of computer science degrees equals a whole lot of projects. Here are a few notable mentions of things I’ve created (or am still creating):
- DImROD - My custom-built smart-home driver and personal server.
- shuggtools - My dotfiles, scripts, vim configurations, and everything else that I use to set up my command-line environment.
- cobots - My AI tooling setup: agents, skills, instructions, etc.
- Custom QMK firmware, for a mechanical keyboard I built.
I’ve also dabbled with Vim plugins. Here are a few plugins I’ve written:
- argonaut.vim, a plugin that provides command-line argument parsing and rich tab completion for Vim commands.
- fops.vim, a plugin that provides several Vim commands for interacting with files.
- dwarrowdelf, my custom Vim theme.
I also worked on some pretty neat projects in school. Here are some of my favorites:
- Gurthang, my M.S. thesis project
- HTTP/1.1-compliant Web Server, featuring multithreading and response caching (C)
- Memory Allocator & Manager (C) (like LibC’s malloc interface)
- Threadpool (C)
- Extensible Linux Shell (C)
- P2P secure & scalable messaging protocol (Rust) (senior capstone)
- Simple one-time pad encryption networking protocol (Java)
- Simplified MIPS32 assembler (C)
- Rust implementation of the Linux kernel’s ramfs
Other stuff I’ve built into this website:
- A variety of tools
- RELF, my zero-player cellular automata game