neural-bridge.dev
active · since Sep 2026

Project Husky

The local app I teach AI security from at the UW iSchool. Its slides run real prompt injection attacks against a small model on the laptop, measure how often each defense holds, and keep a recorded clip behind every demo.

Project Husky is the app I teach from at the University of Washington iSchool. It runs on one laptop at the front of the room and keeps the slides, my speaker notes, the live demos, and the class polls in one app instead of three.

It started with a new course on securing AI systems, where the attack is the lesson. A slide in Husky can be a working panel. I send a prompt injection at HuskyAI, a deliberately vulnerable academic advisor, switch defense layers on and off, and the room watches what the model does with each one.

Husky running Week 2's Remove a Leg demo on a real local model. The red verdict reads EXFILTRATED: the agent emailed the student's records to records-sync@evil.example after reading a tampered policy document. Below it are the agent's tool calls and the simulated outbox, and on the right is everything the model saw, colored by trust.
Week 2's Remove a Leg demo on the real model. A tampered policy document told the agent to email a student's records out, and it did. The right side is everything the model saw, colored by who wrote it. Open full size.

How it works

Left, the projector view: the slide under the live poll, an announcement, four student questions shown without names, and a QR code with the join code. Right, a phone joined as a fictional student, with an answer selected and the same questions listed for upvoting.
The projector and a student's phone in a rehearsal. Questions reach the room without names, and the student is fictional. Open full size.

What is in it

Student data

Class records stay on the laptop. Each session writes a plain log of who joined, each poll answer, and each question and vote. When students join from phones, the relay carries their names, NetIDs, answers, and questions during class, and the cloud copy is deleted when the class ends. A class that is never ended stays in the cloud until the next class starts and sweeps it. A relay update that is not deployed yet also stops writes 12 hours after a class starts and has Firestore delete what is left within about a day. Assignments and final grades stay in Canvas.

What it is built from

What it is not

Husky is not a learning management system, and it does not replace Canvas. It is not a hosted service either. It runs on my laptop, and its source repository is private.

The demos run on a 3-billion-parameter model, so their attack rates are not rates against frontier models. What transfers is the method: look at the whole context, measure instead of trusting one run, and prefer changes to architecture over changes to wording.

The name comes from the UW mascot. The mark is my own drawing of a husky, not the university’s athletics logo, and Husky is a personal project, not something the UW publishes.

// Posts about this project