$0.00
0

Cart

Faulty Cat
Driving FaultyCat from a Jupyter Notebook

Not everyone doing fault injection wants a menu. A few of the researchers we’ve talked to at EMFI (electromagnetic fault injection) workshops eventually ask the same thing: once they understand the arm-and-pulse basics, how do they script a full parameter sweep instead of clicking through a terminal app? Our host tool for FaultyCat already answered that with a command-line interface and a full-screen TUI (text-based interface). The newest release adds a third way to drive the board.

What is FaultyCat?

So what is FaultyCat, exactly? It’s our board for electromagnetic and voltage-glitch fault injection — the kind of testing you’d run on a chip you own or are authorized to assess, to see whether it survives a well-timed power or EM disturbance. faultycmd, the host tool, is how you talk to it from a computer: arm it, fire a pulse, sweep a range of timings, and read back what happened.

What’s new?

  • A notebook API — a Python interface, not another command line: faultycat-tools v1.0.3 folds our standalone faultycat-lab package into the same repo as a second installable (import faultycat as fc). We built it in the shape of ChipWhisperer’s notebook workflow, since that’s what a lot of you already know: engines, a campaign runner, the pinout scanner, a UART target helper, and the same GlitchController the CLI uses underneath.
  • A lab/ tree ships with it — notebooks, Arduino target sketches, scripts and docs — installable with the [notebook] or [interactive] extra, so it stays out of your way if you never touch it.
  • Two fixes came along for the ride: a macOS bug where FaultyCat’s four USB CDC (serial-over-USB) interfaces collapsed into one, and a timing fix so glitch() now waits for the high-voltage capacitor to actually report charged before firing.

Why build a third interface instead of just improving the TUI? Because a sweep you want to keep, tweak, and re-run next week belongs in a notebook cell, not retyped into a menu.

What can I do with it?

If you’ve been driving campaigns from faultycmd‘s TUI and hitting its ceiling — no version control on your sweep parameters, no easy plotting — install the [notebook] extra and open one of the lab/ notebooks instead. The engines and campaign runner underneath are the same ones the CLI calls, so a script you write there behaves like what you already know, just easier to save and share with a labmate.

Where does that actually save you time? Anywhere you’d otherwise rerun the same sweep by hand — a campaign that takes ten minutes of clicking becomes a few lines of Python you can diff against last week’s run.

This is still an add-on, not the default. If you just want to press a button and get a fault, faultycmd‘s TUI is still the fastest path in — nobody needs Jupyter for a single pulse.

Where do I get it?

The notebook API ships inside faultycat-tools v1.0.3; install it with the [notebook] extra. Don’t have the board yet? Start with the FaultyCat ficha.

Happy glitching!

Leave a Reply

Your email address will not be published. Required fields are marked *

Free shipping to the US on orders +$200 USD · to Mexico on orders +$75 USD