finds.dev← search

// the find

ggerganov/kbd-audio

★ 9,007 · C++ · MIT · updated Jan 2023

🎤⌨️ Acoustic keyboard eavesdropping

kbd-audio is ggerganov's acoustic side-channel attack toolkit — it reconstructs what you're typing by listening to your microphone. The progression from keytap (requires training data) to keytap3 (fully automated, no training needed) is the interesting part. This is security research code, not a library.

The algorithm evolution across three versions is genuinely impressive: keytap3 eliminated the need for per-keyboard training data by using n-gram language statistics to probabilistically reconstruct text. The WebAssembly builds let you try it in a browser without compiling anything. SDL2 is the only hard dependency, making the build surprisingly clean for C++ audio code. Coming from ggerganov (whisper.cpp, llama.cpp), the signal processing is serious work.

Last commit was January 2023 — this project is effectively frozen, and the attack accuracy depends heavily on keyboard model, room acoustics, and microphone quality in ways the README doesn't quantify. The tool collection is flat-file C++ with no library interface, so integrating any of this into another project means copy-pasting or shelling out. English n-gram data only; other languages would require you to source and format your own frequency tables.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →