Georgi Gerganov has been dabbling with using keyboard clacks to determine what’s being typed (even on keyboards that are unplugged and receiving no power) for a while now, but their past approaches have relied on computer models that required training first. The keyboard user needed to type a predetermined series of known words and phrases that Gerganov’s software would use as a starting point to decipher what was being typed when the content was unknown. It also required the position of the microphone to remain the same between training and deciphering, limiting the practical use of the exploit.

Advertisement
Advertisement

Gerganov is now testing Keytap3, version three of their exploit, which does away with the need for training and other limitations altogether. Using it simply requires a passable microphone, like the one built into smartphones and laptops, and an application that can apparently even be embedded and run right in a webpage. As Gerganov explains, it “works by clustering the detected keystrokes based on their sound similarity and then using statistical information about the frequency of the letter n-grams in the supposed language of the text (for example, English).” Some letter combinations in the English language are used more often than others, and with that knowledge, and how quickly many of us can type commonly used letter groups thanks to muscle memory, some educated guesses can be made.

Head over to Gerganov’s website to try it out yourself, but you’ll need a loud mechanical keyboard and a firm grasp of the English language for the best results—and by best results, we don’t mean that this exploit is 100% flawless in its ability to guess what’s being typed. But it can be surprisingly—and concerningly—accurate at times. It can’t perfectly extract a lengthy email, word for word, just by listening. But amongst the words it does successfully extract could be user names, passwords, and even website URLs you’d rather not share with others.

Advertisement

So maybe mushy keyboards aren’t so bad after all?