- Ghost Font é um experimento de comunicação visual que cria letras com o movimento de pontos iguais aos do fundo, permitindo que pessoas reconheçam a mensagem no vídeo, mas dificultando a decodificação por IAs que analisam frames individuais
- Em vez de uma fonte TTF tradicional, combina movimento, vídeo, ruído e mensagens-isca; se o vídeo for pausado ou a tela for capturada, os pontos se misturam ao fundo e a mensagem não aparece
- Claude Fable e GPT Sol 5.6 Ultra tiveram dificuldade até receberem, no prompt, a técnica exata de decodificação; o ChatGPT 5.5 Pro, após 19 minutos de análise, gerou uma mensagem inexistente
- Agentes dedicados que executam código localmente conseguem analisar o movimento dos pontos, por isso cada vídeo adiciona uma mensagem-isca, mas informações realmente confidenciais devem usar criptografia ou senha
- Há potencial de uso em CAPTCHA e benchmarks de reconhecimento visual por IA, mas também é difícil de ler para humanos e pode ser decodificado quando surgirem modelos nativos de vídeo. O código de geração de vídeo deve ser publicado como open source
Letras criadas por movimento
- Ghost Font registra a mensagem não como formas estáticas de letras, mas como o movimento de pontos
- Combina movimento, vídeo, ruído e iscas para compartilhar uma mensagem legível por humanos
- Não é um arquivo de fonte TTF comum; é um experimento que investiga se é possível transmitir texto visualmente em um formato que a IA não compreenda facilmente
- Embora não seja tão nítido quanto texto comum, pessoas conseguem identificar imediatamente as letras em movimento, enquanto os principais modelos de IA não as decodificam com facilidade
- O playground oferecido é um protótipo para testar o conceito
- Ao digitar algumas palavras, as letras aparecem pelo movimento dos pontos
- É possível pré-visualizar a mensagem digitada em tempo real ou baixar o vídeo para compartilhar e testar diretamente
- Todo o processamento ocorre localmente, e os dados não são enviados nem compartilhados com servidores
Uma estrutura que não pode ser lida em tela parada
- Todas as letras são formadas por pontos que parecem idênticos ao fundo, e a mensagem aparece apenas no movimento ao longo do tempo desses pontos
- Ao pausar o vídeo, os pontos estáticos se misturam entre si, tornando difícil descobrir, a partir de um único frame, qual mensagem está contida ali
- Capturar a tela da página ou extrair imagens individuais do vídeo também não revela informações de mensagem legíveis
Do ZXX ao Ghost Font
- Em 2013, o designer Sang Mun lançou a fonte ZXX, criada para ser legível por humanos, mas difícil de ler por softwares de reconhecimento óptico de caracteres (OCR)
- Ela era composta por quatro fontes, que disfarçavam letras como ruído, as riscavam com linhas ou as escondiam sob marcações falsas
- Na época, foi avaliada como uma fonte capaz de evitar vigilância, mas agentes modernos de IA conseguem ler facilmente letras renderizadas em ZXX
- Ao inserir uma imagem em ZXX no modo Instant do ChatGPT 5.5, ele reconheceu palavras e até alguns pequenos detalhes com apenas um prompt
- Em contraste, uma tela única do Ghost Font mostra apenas pontos estáticos ilegíveis, dificultando obter a mensagem com o mesmo tipo de análise de imagem
- O ChatGPT 5.5 Pro, após 19 minutos de análise, gerou uma mensagem que na verdade não existia
Análise baseada em código e mensagens-isca
- O simples fato de usar vídeo não é uma defesa completa
- Ambientes de modelos online podem não conseguir encontrar a mensagem em frames individuais
- Um agente dedicado com ambiente de execução local de código pode analisar o movimento dos pontos e decodificar a mensagem real
- O Ghost Font adiciona mensagens-isca a todos os vídeos gerados para dificultar a análise
- Se um agente que procura mensagens ocultas encontrar a isca primeiro, pode julgá-la como a mensagem real
- Por causa dessa camada, até modelos de raciocínio fortes como Fable e GPT Sol 5.6 Ultra tiveram dificuldade para decodificar
- Claude Fable e GPT Sol 5.6 Ultra podiam usar código, mas tiveram dificuldade para decodificar a mensagem em movimento até receberem, via prompt, exatamente qual técnica deveriam procurar
Limites como mecanismo de segurança
- Se for realmente necessário ocultar uma mensagem, deve-se usar criptografia ou uma chave específica, não o Ghost Font
- Uma mensagem que só pode ser aberta com uma senha conhecida por humanos também não pode ser lida por IA sem a senha
- O objetivo do Ghost Font não é oferecer segurança completa, mas testar se é possível colocar, em um arquivo compartilhável, uma mensagem visual que humanos consigam ver e que IAs não leiam facilmente
- Também é uma tentativa de explorar os limites da percepção da IA e, ao mesmo tempo, preservar elementos próprios dos humanos
- Enquanto a IA também é usada para geração de fontes, a expectativa é que humanos continuem mantendo uma voz criativa singular
Possibilidades para CAPTCHA e benchmarks de IA
- Letras em movimento têm potencial de aplicação em CAPTCHA
- Em um cenário em que a IA resolve muitos CAPTCHAs com facilidade, o movimento em vídeo pode se tornar uma tarefa relativamente fácil para humanos e mais difícil de decodificar para bots automatizados
- Outra possibilidade é usá-las como benchmark para medir o avanço da percepção visual da IA
- Os modelos multimodais atuais são principalmente baseados em imagens e, mesmo quando recebem vídeos, geralmente os dividem em frames e analisam cada imagem
- Com o surgimento futuro de modelos nativos de vídeo, espera-se que eles processem o movimento diretamente e consigam ler o texto do Ghost Font
A lacuna cada vez menor entre humanos e IA
- O Ghost Font é difícil de ler para IA, mas também é consideravelmente difícil de ler para humanos
- À medida que a capacidade de percepção visual da IA melhora rapidamente, a lacuna de reconhecimento entre humanos e IA continua diminuindo
- Como próximo passo, o plano é publicar o código de geração de vídeo como um projeto open source
- Ele será expandido para oferecer suporte a tamanhos de tela maiores e também processar strings mais longas
1 comentários
Opiniões do Hacker News
Esse tipo de CAPTCHA já existe e pode ser facilmente contornado. Se você imitar a média ao longo do tempo e calcular a média de umas 4 frames consecutivas, os caracteres se destacam, e até um modelo de linguagem de larga escala básico consegue ler
É uma abordagem que também se aplica a várias outras técnicas de defesa contra IA, então há grande chance de que quase não atrase scrapers
Parece que daria para aplicar técnicas comuns de compressão de vídeo ao Ghost Font, depois reconstruir o contorno das letras a partir do sinal comprimido e analisar com reconhecimento óptico de caracteres (OCR). Pode até ser uma nova técnica de CAPTCHA, mas quando começar a disputa entre ataque e defesa, não deve ser fundamentalmente mais difícil do que os métodos existentes
https://fingswotidun.com/images/GhostFont_2_samples.jpg
https://fingswotidun.com/images/GhostFont_b_2_samples.jpg
Uma IA, em vez de apertar o botão de screenshot de forma desajeitada, pode usar frames consecutivos e reunir amostras suficientes mesmo em um vídeo mais curto do que o tempo que uma pessoa leva para ler, reconstruindo o texto com nitidez
No começo, achei que “Written In Ghost Text” era a frase que precisava ser lida, e só muito depois percebi que era um texto-isca. A frase real era tão difícil de ler quanto uma imagem 3D do Magic Eye, e no celular chegou a me dar dor de cabeça
A ideia de pesquisa é interessante, mas fico curioso sobre quando os modelos de IA vão descobrir como decifrar isso; parece que talvez bastasse um pequeno ajuste no prompt
Dei o vídeo gravado ao GPT-5.6 e ele leu o texto sem problema. Ele estimou o movimento no vídeo com fluxo óptico e um mapa de deslocamento vertical, depois compôs isso em um mapa de movimento de alto contraste, e eu só perguntei o que estava escrito, sem instruir nenhum método específico
É esperto, mas não é impossível de quebrar com algoritmo. Basta deslocar o índice de um dos dois frames consecutivos até encontrar a posição em que a diferença é mínima, depois subtrair os frames alinhados e aplicar OCR
Funciona especialmente bem quando o movimento é linear ou em uma só direção, e com 20 linhas de código que verificam apenas deslocamento vertical, o resultado de subtrair o frame 7 do frame 1 foi o seguinte: https://imgur.com/a/only-human-can-read-this-vfDe6ZA
Colei uma captura de tela do texto padrão “GHOST FONT” no ChatGPT 5.6 Sol e pedi para ele ler, e depois de processar por um tempo ele respondeu “WHAT HAPPENS IN VEGAS / STAYS IN VEGAS”
Isso explora o fato de que os modelos topo de linha da geração atual processam vídeo frame a frame, e em cada frame também há um texto-isca oculto que faz o modelo achar que encontrou a resposta e parar. Se analisar a correlação entre frames, é possível descobrir a técnica, mas em uma frame isolada só há ruído e isca
Se até para pessoas é difícil de ler, então, se isso se tornar importante, a IA também poderá ser treinada para ler. Nesse caso, fico em dúvida sobre qual seria a utilidade prática
Pelo contrário, eu gostaria de ver também uma fonte que só IA consegue ler
A técnica é sólida, mas no fim acho que a solução final infelizmente vai ser atestado (attestation)
Tecnicamente, isso não é uma fonte que precisa estar parada, mas um efeito de vídeo. É parecido com fechar o livro, tirar uma foto e dizer que a câmera não consegue ler aquela fonte
Coloquei uma frame única e um vídeo de 1 segundo no GPT 5.6 Sol (High), e a frame foi decifrada em 9 minutos e 30 segundos como “WRITTEN IN GHOST FONT”. Na demo, só aparece “GHOST FONT”, mas na imagem extraída a forma “Ghost Font” realmente apareceu
No vídeo, depois de 3 minutos ele percebeu que era um efeito definido por movimento e pediu para executar o QuickTime, afirmando que “não existe uma camada estática de OCR legível e estou extraindo a forma das letras do campo de fluxo óptico”. Em 4 minutos ele obteve uma imagem de movimento com formato de letras e, após mais 9 minutos de análise, retornou “GHOST FONT” após um total de 13 minutos e 36 segundos
Portanto, isso não é uma fonte, não é algo que todas as pessoas conseguem ler e também não é algo que a IA não consiga ler. As imagens intermediárias do processamento podem ser vistas em https://imgur.com/a/SHlGu4O