This is amazing and terrifying (I am a security engineer and parsing complex document formats is a never-ending treasure trove of vulnerabilities).
The amount of attack surface in various format parsers is pretty stunning and terrifying indeed
Theres a malaysian movie where the main premise is a hacker who uses pdf executions to steal one cent from every persons bank account. Its pretty interesting.
Do you know the name of the movie?
Not OP, but I found a series, not a movie, titled _One Cent Thief_ that fits the description. Sounds interesting.
The "code execution" in PDF parsing is what enabled this legendary zero-click, zero-day exploit of iOS devices: https://googleprojectzero.blogspot.com/2021/12/a-deep-dive-i...
AI agents run in isolated VMs, but PDFs have been out here running in the open for 30 years!
But can your PDF run an AI agent?
> But can your PDF run an AI agent?
Oh it's so much worse than that. Your font can run an AI agent.
Llama.ttf: A font which is also an LLM -- https://news.ycombinator.com/item?id=40766791
You can also play Tetris in a font: https://www.youtube.com/watch?v=Ms1Drb9Vw9M&t=1370s
(disclaimer: own work)
Well a font using a custom experimental shaping library. Your font can't do it normally.
In my opinion the question isn’t so much “if” but rather “when”.
When will AI research and hardware capabilities reach a point that it’s practical to embed something like that into a regular document?
We’ve already seen proof of concept LLMs embedded into OpenType fonts.
I guess the other question is then “what capabilities would these AI agents have?” You’d hope just permission to present within that document. But that depends entirely on what unpatched vulnerabilities are lurking (such as the Microsoft ANSI RCE also featured on the HN front page)
For Chrome's PDF renderer, the runtime is V8, so we're literally one (hilarious) line of code away from this glorious future existing today:
https://pdfium.googlesource.com/pdfium/+/refs/heads/main/fpd...
> // Use interpreted JS only to avoid RWX pages in our address space. Also, --jitless implies --no-expose-wasm, which reduce exposure since no PDF should contain web assembly.
> return "--jitless";
Looking forward to a day when you may not have a powerful enough GPU to open a PDF