Linux executado dentro de um PDF
(linux.doompdf.dev)- LinuxPDF é uma demo que executa uma VM Linux dentro de um PDF, posicionando a tela da VM e a interface de entrada pelo teclado juntas no PDF
- O ambiente de execução é limitado a navegadores baseados em Chromium, então é difícil esperar que funcione em outros ambientes de PDF
- As entradas de teclado podem ser enviadas à VM pressionando os botões de tecla na tela ou digitando diretamente na caixa de entrada superior
- As teclas oferecidas incluem Esc, Tab, Enter, Shift, Ctrl, Alt, setas, Home/End, PgUp/PgDn, F1~F12, além de teclas numéricas e de letras
- Usuários que quiserem conferir a implementação podem ver o código-fonte no repositório linuxpdf no GitHub
Demo de VM Linux dentro de um PDF
- LinuxPDF é uma demo que executa uma VM Linux dentro de um documento PDF
- O ambiente de funcionamento é limitado a navegadores baseados em Chromium
- Na tela há a mensagem
Loading..., que indica o status de carregamento da VM
Enviando entradas de teclado para a VM
- Há duas formas de entrada
- Pressionar os botões de tecla exibidos na tela
- Digitar diretamente na caixa de entrada
Type here for keyboard inputs.
- A tecla pressionada atualmente pode ser conferida na área
Pressed:
Conjunto de teclas oferecido
- Teclas de controle e teclas especiais
- Esc, Tab, Caps, Enter, Shift, RShift, Ctrl, Alt, Space, Menu
- Home, Ins, Del, End, PgUp, PgDn
- Setas e teclas de função
^,<,v,>- De F1 a F12
- Entrada de teclas comuns
- Números 1~0,
-,= - Teclas de letras QWERTY
[,],;,',,,.,/,\,`
- Números 1~0,
Código-fonte
- Source code: repositório do código-fonte do LinuxPDF
1 comentários
Comentários do Hacker News
Não funciona e o documento não responde. Só para constar, usei uma HP DeskJet 2820e Printer
Nos últimos dias, tanto “rodar Linux dentro de um PDF” quanto “a forma de colocar PDFs em LLMs” viralizaram, então, se as pessoas começarem a conectar vários tipos de parsers e avaliadores de PDF a LLMs, pode surgir um conjunto bem interessante de possibilidades de hacking
Somando isso ao fato de que leitores populares como o Acrobat têm uma quantidade assustadora de vulnerabilidades, vira a porta de entrada perfeita para invadir empresas
É o post que apareceu alguns dias atrás: https://news.ycombinator.com/item?id=42891937
No repositório também há explicações e informações sobre como os mecanismos internos funcionam
Finalmente chegou. Faz tempo demais que faço a piada de “vou colocar Linux.js em um PDF para rodar Linux dentro de um PDF dentro de um navegador dentro de um Linux dentro de um PDF dentro de um navegador dentro de um Linux”
Fazer isso com JavaScript parece meio trapaça. Fico curioso se algo parecido seria possível também com PostScript
Depois mudaram de ideia e adicionaram suporte a JavaScript
Claro, também existem engine de xadrez e jogo da velha em PostScript, e com paciência talvez até dê para rodar jogos de NES, embora talvez seja preciso mexer bastante com a pilha
Finalmente agora dá para executar
rm -rf /dentro de um PDF"shredpage"Se você copiar isso 10 vezes e colocar em um pendrive, poderá curtir um cluster Kubernetes portátil
https://news.ycombinator.com/item?id=42681039
No VirusTotal aparecem pelo menos 3 detecções, mas não sei dizer se isso significa algo relevante
ClamAV: Js.Trojan.Obfus-48
Cylance: Unsafe
Google: Detected
Basta definir
pdfjs.enableScriptingcomofalsenoabout:configdo FirefoxMas existe algum editor de PDF para Linux que rode Linux dentro de PDF? No Evince ele não carrega
Parece que esse tipo de coisa de “programar dentro de PDF” quase sempre tem o Chrome como ambiente-alvo. Não sei ao certo se é porque o Chrome permite executar mais código dentro dos documentos ou algo assim