For this course I substantially redesigned the assignment sequence around one goal: hands-on attacks and defenses that are engaging for students yet fully automatable on the grading side. Some assignments for this class include building an encrypted communication protocol for AI agents, cracking passwords efficiently (with a competitive component!), building a DNS resolver that implements DNS censorship (to understand how censorship works in the real world), and performing ML backdoor attacks. Each assignment ships with a Gradescope autograder I wrote to evaluate submissions deterministically, alongside starter scaffolding and reference solutions.
I also served as a substitute lecturer for Eugene, giving a lecture on DNS and its security vulnerabilities, as well as on how AI agents are changing vulnerability research, including a live demo of using Claude to find vulnerabilities.
This course was developed as a revamping of CS390R. For this semester, I was much more proactively involved in the curriculum. My primary role was to develop Gradescope autograders to test student-submitted exploits, which entailed numerous challenges. I also assisted with assignment development and course logistics.
For this course, I was primarily tasked with grading and holding office hours.
For this course, I was primarily tasked with grading, holding office hours to assist students, and creating an assignment introducing students to cybersecurity.