[HN Gopher] Show HN: Unicode Steganography
___________________________________________________________________
Show HN: Unicode Steganography
I built a demo of two Unicode steganography techniques, zero-width
characters and homoglyph substitution, in the context of AI
misalignment. The first is about the use of two invisible zero-
width characters (ZWS and ZWNJ) to binary encode text. The second
is much cooler. Most characters in the Latin and Cyrillic alphabets
look nearly identical, but have different unicode. If you have text
to encode and convert it into binary representation (1s and 0s),
you could take plain english "carrier" text and for each 1 in the
binary representation you could substitute the Cyrillic letter
equivalent. Decoding the message requires traversing the text and
seeing where Cyrillic letters could have been substituted but
weren't, and where they were, leading to 0s and 1s respectively,
which can be built back into your original hidden text. In both
cases, these are detectable, but the interesting problem for me is
whether an LLM could eventually invent an encoding that goes
unnoticed by both us, and automated detection. If LLMs were able
to covertly include messages in plaintext, misaligned AI Agents
could eventually communicate across MCP/A2A and individual chat
session boundaries undetected. A deceptive LLM might seem helpful,
but work against your goals. It could tell other agents it
interacts with over MCP/A2A to help it discreetly fail, signal
intent, and avoid tripping oversight/safety mechanisms.
Furthermore, oversight mechanisms become more difficult to
implement if we can't believe our own eyes.
Author : PatrickVuscan
Score : 9 points
Date : 2026-04-07 12:57 UTC (10 hours ago)
(HTM) web link (steganography.patrickvuscan.com)
(TXT) w3m dump (steganography.patrickvuscan.com)
| bo1024 wrote:
| Cool stuff. I think there have been projects recently that use
| LLMs to encode messages in plain text by manipulating the choices
| of output tokens. Someone with the same version of the LLM can
| decode. Note sure where to find these projects though.
| PatrickVuscan wrote:
| Wow, just found it:
| https://news.ycombinator.com/item?id=43030436 thanks for
| bringing this up, gave me some good reading material for
| tonight!
| mpoteat wrote:
| You can actually do better: hint - variational selectors, low
| bytes.
___________________________________________________________________
(page generated 2026-04-07 23:01 UTC)