Close
0%
0%

Cerberus — A USB Watchdog

Cerberus is my extension of USBvalve. Built on a Raspberry Pi Pico, it detects malicious USB devices to stop them before they reach the host

Similar projects worth following
787 views
0 followers
Most mitigations focus only on firmware-level tricks (keystroke injectors). Real-world attackers (or cheap commercial “USB-Killer” tools) can damage hardware with VBUS voltage injection. Cerberus treats both classes of threat: keep hostile firmware from issuing commands and keep hostile power from frying your rig.

What it does

  • Firmware/HID detection: inspects USB descriptors and runtime behavior to spot devices that pretend to be keyboards or combine storage + HID — classic firmware BadUSB / Rubber Ducky vectors.

  • Active prevention: blocks enumeration or isolates the device so the host never accepts a suspicious HID.

  • VBUS overvoltage protection (USB-Killer): the hardware monitors VBUS and reacts to dangerous voltage/current events. On detection, Cerberus dispel the overvoltage and logs the event to prevent destructive pulses from frying the host.

  • UX & logging: OLED status messages and serial logs for forensic/debugging.

  • 1 × Raspberry pi pico (or similar)
  • 1 × 1.3" OLED Display (SSD1306)
  • 1 × USB Overcurrent Brakout board My own design, will publish later
  • 1 × USB Type - A Port

  • Hardware Protection Improvements and New Monitoring Features

    Glitchboi9 hours ago 0 comments

    Hi guys, these past few days I’ve been working more on the project, and I realized there were several things I could improve. For example, I managed to make the device withstand voltage spikes of up to 1500 V without being damaged, which greatly helps protect the hardware. The previous prototype could handle a USB Killer up to version 2, but starting from version 3 it no longer worked, so I had to adapt the design so it could withstand version 3 as well.

    I added a fuse to prevent any component from burning out. This allowed me to avoid having to replace the entire circuit component by component in case of an overload.

    I also had to redesign the entire prototype. The PCB was provided by PCBWay, a great sponsor that not only supplied a high-quality PCB but also helped source and solder some of the best components, which were difficult to find due to how unique they are. This made the result higher quality while keeping the cost very reasonable.

    On the software side, I’ve also been doing quite a lot of work. For the Blue Team, I developed several functions that allow us to obtain more information about the detected devices. For example, it is now possible to see what type of device it is, what is being typed, and even how many words per second are being typed. All of this helps generate faster and more precise responses to potential attacks.

    For the Red Team, in addition to having access to this information, attacks can now also be adjusted depending on the device that gets connected, making them more effective or harder to detect depending on the situation.

    I also added something that I personally felt was very necessary: console commands to review the system history. With these commands, it’s now possible to see the most recent recorded attacks, identify what type of device was involved, and save that information to analyze it later in more detail. This is very useful when you want to understand exactly what happened during a test or improve strategies for the next one.

  • Shitty Prototype

    Glitchboi11/06/2025 at 05:03 0 comments

    After a while I finally have a "show and tell" version that works, also I updated the repo to include a lot of info an a to-do section for the future, I'll work in the software part.

    I will attend to an event called BugCon with some pcb for the alpha and the overcurrent protection, if you want to meet me there!!!

  • V3 - First class

    Glitchboi10/24/2025 at 18:59 0 comments

    24-10-2025

    As of today I have finished my first working prototype, I have implemented all functions of the USBValve and added the overvoltage detection and remediation. I based my design in the TPS2514A (Charging Port Controller) and TPD2E001 (Electrostatic Discharge Protection).


    Because of the cost of the "specialty" hardware I design an module to reuse in case of need. I'll upload it later.

    I wanted to add more functions to the firmware like Device ID detection, USB payloads debugging and more.

    Also I'll have to add more hardware in the future like an EEPROM or flash exclusively for the file system so I can expand the firmware without bugs and missing space.

View all 3 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates