Steganography Explained: Hiding Data in Plain Sight
Musician and coder Benn Jordan demonstrates how data can be hidden inside audio, images, and video using steganography—and what that means for digital privacy.
Written by AI. Rachel "Rach" Kovacs

Photo: AI. Aiyana Stone
The image of Gary—an emo dog, apparently—is sitting on Facebook right now. It looks like any other pet photo. It is not.
According to musician and technologist Benn Jordan, who documented the experiment in a recent video, that photo contains a fully functional cyberexploit, hidden inside the image file and intact after surviving Facebook's recompression. No flags. No warnings. Just Gary, looking vaguely existential, and a dangerous payload nobody asked about.
That's steganography in 2025: not a theoretical attack surface, not a CTF challenge, but something a person with a coffee pot and a few hours of free time can actually pull off against a platform used by three billion people.
The oldest trick in the book—literally
Jordan opens with history, and it's a good call, because the history here is genuinely strange. In 499 BC, Greek ruler Histiaeus wanted to send a secret message, so he shaved a servant's head, tattooed the message onto the scalp, waited for the hair to grow back, and then dispatched the servant across enemy territory. Jordan's deadpan observation—"how exactly this is more efficient than just having your servant memorize a secret message is lost on me"—is fair. But the point holds: the message wasn't encrypted, it was hidden. Nobody intercepted it because nobody thought to look.
That distinction—between encryption and concealment—runs through everything Jordan demonstrates. Encryption makes a message unreadable. Steganography makes it invisible. The best covert communications do both, which is why the two disciplines have traveled together through history: Caesar ciphers, Cardan grills, Johannes Trithemius's books on cryptography disguised as books about angel magic (which fooled scholars for nearly 400 years), the Enigma machine, KGB microdots hidden inside hollow coins small enough to fit inside a secret compartment in a wedding ring.
Each era found new places to hide things inside the communication infrastructure of the day. Jordan's argument, mostly implicit, is that our era is no different. We've just upgraded the infrastructure.
What compression actually does—and doesn't do
The technical core of the video is a genuinely clear explanation of discrete cosine transform (DCT), the compression algorithm at the heart of JPEG images, MP3 audio, and most streaming video. Understanding DCT is the key to understanding why modern steganography works at all.
Here's the short version: DCT compresses files by identifying data that human perception won't notice and discarding it. An 8x8 block of pixels can drop from 64 coefficients to 24 before the change becomes visible. Audio files contain frequency ranges the human ear doesn't register. DCT strips all of that out—which is why a five-minute Instagram scroll doesn't eat your entire data plan.
The irony Jordan exploits is that DCT doesn't strip everything. Social media platforms recompress uploaded files, but they recompress them with the same perceptual logic—targeting the high-frequency data humans notice and leaving the low-frequency noise alone. Hide your data in the low-frequency ranges that DCT ignores, and the message survives recompression intact.
For images, Jordan uses a technique called JSteg steganography—targeting those low-frequency coefficients that JPEG compression leaves alone, then brightening the affected pixel group slightly to preserve the hidden data through the upload-download cycle. He extended an existing open-source tool to support arbitrary file formats, not just text, and demonstrated hiding an SMB exploit inside a dog photo on Facebook. It worked.
For audio, the math is similar but the constraint triangle is more brutal. Jordan is honest about this: "I can definitely hide stuff in an audio file while preserving the original music or sounds. I can also store a decent amount of data in that audio, and I can do this in a way that can survive being encoded to more efficient files and streaming services. All of these three things are possible, but one of those will need to be sacrificed in order to have the other two."
He tested by releasing a minimal synthesizer album under a pseudonym—deliberately choosing simple instrumentation because complexity makes steganographic concealment harder—and embedded a separate audio track containing science jokes. Ripped from Apple Music and Tidal at high quality, the hidden layer survived and was intelligible. At YouTube's lower compression settings, it degraded. The data-hiding variant (using least significant bit manipulation on the audio spectrogram) survived Spotify and Tidal at high quality but was stripped by Apple's AAC codec and YouTube. Jordan added multi-frequency shift keying as a more robust alternative, though it sacrifices data rate: about 2 kilobytes per minute of audio.
For video, Jordan turned Meta's own tool against itself. Video Seal is Meta's open-source watermarking system—designed to prove content authenticity and detect deepfakes by embedding invisible markers that survive social media compression. Jordan repurposed the encoder to maximize data storage rather than watermark embedding, creating what he calls "VideoZuck." The results were mixed: reliable at full HD with large block sizes, inconsistent otherwise. He doesn't oversell it. "I personally would not call this a success."
The part that actually matters for security
Here's where I want to add something Jordan's video doesn't dwell on, because it's largely a technical showcase rather than a security analysis: steganography is genuinely difficult to detect at scale.
Encryption has a tell—encrypted traffic looks like encrypted traffic, which is why authoritarian governments can throttle or block VPN traffic even without breaking the encryption. Steganography has no tell. A stego-embedded image is, to every automated scanner, just an image. The Gary photo doesn't trigger a malware alert because there's no malware signature to detect—there's just slightly modified pixel data in low-frequency DCT coefficients, and that looks like noise.
This is the asymmetry that makes steganography interesting from a threat-modeling perspective. For an individual trying to communicate covertly in a restrictive environment, steganography offers something encryption alone can't: plausible deniability about whether communication is even occurring. For defenders—corporate security teams, platform trust-and-safety operations—detection requires either statistical analysis of pixel distributions (steganalysis) or knowing what to look for in the first place.
Jordan gestures at the offensive capability when he hides the exploit in Gary's photo, but doesn't explore the detection side much. That's a real gap, though it's not his focus. For what it's worth: most organizations' security tooling isn't doing meaningful steganalysis on social media images their employees download. That's worth knowing.
The ultrasonic messaging angle is its own category of interesting. Jordan updated an older open-source acoustic protocol called GG Wave, adding encryption, ultrasonic and inaudible frequency ranges, and forward error correction, and built it into an Android app he's calling Wavist. The use case—encrypted device-to-device communication with no network infrastructure required—is niche but real. He tested it through Bluetooth speakers, embedded in media playback, and eventually through a hijacked FM radio signal to his car stereo, which he acknowledges is of questionable legality and usefulness, but wanted to see work.
Who's actually at risk here, and from what
Let me put some perspective on this, because the demo-reel format of Jordan's video makes everything look more alarming than it probably is for most readers.
Hiding malware in a Facebook image is real, but it's also a delivery mechanism, not an exploit. The payload still has to be extracted and executed by something on the receiving end—it doesn't run itself by virtue of being downloaded. That requires either social engineering (convincing the target to run an extractor) or a secondary vulnerability. Sophisticated, yes. Autonomous, no.
For everyday users, the practical risk from steganographic attacks is low. Threat actors who can do this have other, easier options. The more relevant takeaway is probably the inverse: these techniques exist, they work, and they're accessible to anyone willing to read open-source documentation. If you're building content moderation systems, trust-and-safety infrastructure, or corporate data loss prevention policies, "steganographic exfiltration via social media" is a vector worth putting on your radar.
For everyone else, the more interesting question might be the one Jordan ends with, more or less: he hid a file in his own YouTube video, and at the time of publishing didn't know if YouTube's compression had destroyed it or not.
A secret message that may or may not have survived its own transmission. The oldest steganography problem there is.
Rachel "Rach" Kovacs is Buzzrag's cybersecurity and privacy correspondent.
We Watch Tech YouTube So You Don't Have To
Get the week's best tech insights, summarized and delivered to your inbox. No fluff, no spam.
More Like This
New Siri Indexes Your Private Data. Now What?
Apple rebuilt Siri's on-device index from scratch. It's genuinely better. It also reads your messages, mail, and photos. Here's what that actually means for you.
Vercel's Portless Tool: Weekend Project or Real Solution?
Vercel Labs released Portless to eliminate localhost port conflicts. Does this weekend project solve a real problem, or create new ones?
The Engineer Who Got Kicked Out of College—Then Hired
James Everingham's tech career started with a 0.0 GPA and an FBI visit. His path from teenage hacker to Instagram's head of engineering defies convention.
Why Your Computer Uses 12 Types of Memory
Your computer's memory hierarchy isn't just a performance trick—it determines what data survives a wipe, a seizure, or a subpoena. Here's what you need to know.
6 Claude Code Skills That Actually Sell to Businesses
Nate Herk spent 400 hours in Claude Code and found 6 skills businesses keep paying for. Here's what they do—and what to verify before trusting the hype.
Jaron Lanier: The AI Danger Is the Ideology, Not the Code
Jaron Lanier argues the real AI threat isn't the software—it's the philosophy wrapped around it. Here's what he means, and why it's worth taking seriously.
RAG·vector embedding
2026-08-03This article is indexed as a 1536-dimensional vector for semantic retrieval. Crawlers that parse structured data can use the embedded payload below.