Fable 5.1 hides messages in SVG images that a fresh instance decodes from screenshots
- Claude Fable 5.1 writes an SVG for every image request, and when asked to hide a message it encodes each letter as a visual element, such as a star whose height matches the letter's place in the alphabet.
- In the test, a second Fable 5.1 instance in a new session was shown each of 50 generated images and asked whether it contained a message and what the message was, without the SVG source or any scheme agreed in advance.
- The model converged on five encoding families for hiding messages, including height encoding and the tilt of objects, and all of them represent each letter as an individual visual element.
- The authors ran the same task on GPT-6 Astra for a brief comparison with Fable 5.1.
Hacker News opinions
Agents hiding stuff in a way operators can't spot from the output or the thinking trace is the scary part. Feels inevitable, and I'd guess it has already happened somewhere.
Image is incidental here. It's generic encoding of a message into a medium, so a poem would get a different high signal-to-noise scheme. Emergent just means pattern matching plus constraint satisfaction across representations.
Weird buildings in a picture would have been a tell even without the article. Normal photos don't look like that.
This seems very trivial. There are way more subtle, information-dense ways to encode stuff in images.
Yeah, this is the kind of thing I'd do for a DnD bit. LLMs suggest the toy version by default, but they know the real stuff too. A keyword or two and they find the real solution.
This is steganography meant for humans to read. No reason a computer couldn't put data in the least significant bits of every 16th pixel or something similar.
Honestly feels performative. A model really trying to be subversive would do something much harder to catch than this. Models are tuned not to hide messages, so I don't think this says much about adversarial cases.
Could be the model figures humans are dumb, or that it has no built-in prompt to look for subtler stuff.
Why not just stuff text comments into the SVG? Oh, the instructions explicitly said not to.
The decoding was done on screenshots, so it deliberately avoids putting the info in the SVG source itself.