Comprovantes de residência chegam como foto de celular. Holerites chegam como captura de tela. Um arquivo de imagem não é só pixels — é um contêiner que registra o que o capturou, o que o codificou, quando, e muitas vezes o que mexeu nele depois. A maior parte disso sobrevive à edição, porque a maioria das ferramentas não se dá ao trabalho de limpar — e alguns geradores e editores escrevem o próprio nome no arquivo de propósito. Esta página percorre as verificações à mão e depois mostra a versão automatizada.
Uma ressalva governa tudo abaixo: uma coincidência é forte, uma
ausência não é nada. Metadados de imagem são trivialmente
removíveis, e o removedor mais comum não é um falsificador — é o
WhatsApp. Um arquivo que diz Adobe Photoshop passou pelo
Photoshop; um arquivo que não diz nada apenas não disse nada. A
Tamperlens reporta sinais de risco, não veredictos, e
você também deveria.
1. Leia o bloco EXIF
A verificação mais barata. Uma captura direta de celular ou câmera
carrega um bloco EXIF nomeando o aparelho (Make,
Model), a exposição (obturador, abertura, ISO), a hora da
captura e, muitas vezes, a lente e a posição de GPS. No Mac,
Pré-Visualização → Ferramentas → Mostrar Inspetor; em qualquer
outro lugar, o ExifTool lê todos os
campos:
Despeje tudo o que o arquivo diz sobre si mesmo
exiftool -a -G foto.jpg
Para a foto de um documento — uma conta de luz sobre a mesa da cozinha — um bloco de captura coerente é o que a própria história do arquivo prevê. As verificações abaixo são todas comparações contra essa história: um arquivo que se diz foto de celular deveria estar codificado como uma, datado como uma e formatado como uma.
2. Procure rastros do editor
Editores se anunciam na tag Software, no
CreatorTool do XMP ou — no caso específico do Photoshop —
num segmento APP13/Photoshop IRB dedicado que sobrevive até a alguns
removedores de metadados. Strings como
Adobe Photoshop 26.0, GIMP,
Pixelmator, Canva ou Snapseed
significam que o arquivo passou por aquela ferramenta.
"Passou por" é a afirmação honesta, e a mais forte disponível. Um recorte para reduzir tamanho, uma rotação para corrigir orientação e um valor de salário forjado deixam esse mesmo rastro. O rastro do editor diz que o conteúdo exibido do arquivo não é necessariamente o que saiu da câmera; ele não diz quais pixels mudaram nem por quê. Trate como um fato que merece explicação, exatamente como um editor de consumo no campo Producer de um PDF.
3. Procure marcas de geradores de IA
Imagens geradas frequentemente dizem isso, em três lugares que vale conferir à mão:
-
Blocos de texto do PNG. As interfaces do Stable
Diffusion escrevem o prompt inteiro e as configurações do sampler
dentro do arquivo — o Automatic1111 sob a chave
parameters, o ComfyUI como um JSON de workflow. Oexiftoolmostra isso como tags comuns. -
Campos Software e XMP.
Midjourney,DALL·E,Adobe Fireflye outros se nomeiam do mesmo jeito que um editor faria. - C2PA / Content Credentials. Um manifesto de proveniência assinado criptograficamente, cada vez mais anexado tanto por geradores quanto por câmeras. Verifique um em contentcredentials.org. Um manifesto C2PA válido é o mais perto que uma imagem chega da assinatura digital de um PDF: uma afirmação conferível sobre a origem do arquivo.
A assimetria da ressalva lá em cima vale com força total. Esses rastros encontram arquivos que anunciaram a própria geração; uma captura de tela de uma imagem gerada, ou um novo salvamento por qualquer ferramenta que remova metadados, apaga os três. Nenhuma verificação de metadados pode certificar que uma imagem não foi gerada por IA — quem afirmar o contrário está vendendo alguma coisa.
4. Compare os quatro carimbos de data
Uma imagem pode registrar tempo em quatro lugares independentes: quando o
obturador disparou (DateTimeOriginal), quando o quadro foi
digitalizado (DateTimeDigitized — igual ao primeiro em
qualquer captura direta), quando o arquivo foi escrito pela última vez
(ModifyDate) e o carimbo UTC do receptor de GPS — que vem
dos satélites, não do relógio do aparelho, e não pode ser ajustado num
menu de configurações.
- ModifyDate posterior a DateTimeOriginal significa que o arquivo foi escrito de novo depois da captura — uma edição ou uma recodificação, de conteúdo desconhecido.
- DateTimeOriginal divergindo do carimbo do GPS por mais que a deriva do relógio é a versão forte: a hora do satélite é a que o dono do aparelho não consegue ajustar discretamente antes de "capturar" um documento com data retroativa.
- Hora de captura depois da hora do arquivo, ou datas no futuro — ordens impossíveis significam que ao menos um dos carimbos foi definido por algo que não é o processo da câmera.
5. Confira a codificação contra a origem declarada
O invólucro dos pixels denuncia recodificação mesmo quando todo campo de metadado foi limpo. Três verificações não precisam de decodificador:
- JPEG progressivo se dizendo captura de câmera. Câmeras emitem JPEG baseline; codificação progressiva vem de software — esteiras de exportação para web, editores, otimizadores.
-
Tabelas de quantização que não batem com o fabricante
declarado. As tabelas de qualidade de um JPEG identificam a
família do codificador. Um arquivo cujo EXIF diz
Canonmas cujas tabelas são libjpeg de manual foi recodificado depois de sair da câmera. - O próprio formato. Nenhuma câmera ou celular entrega um WebP ao usuário. Um WebP chegando como evidência passou por uma etapa de conversão — um site, uma CDN, um aplicativo de mensagem — e essa conversão é, ela mesma, o achado: os bytes que você tem não são os bytes que foram capturados.
6. Confira a estrutura do contêiner
Tudo acima lê metadados — afirmações que o arquivo faz sobre si mesmo, e
que um falsificador competente simplesmente apaga. O formato do
contêiner é diferente: um falsificador tem de acertá-lo por acidente. Um
PNG termina no seu bloco IEND; qualquer coisa depois disso
foi anexada por alguma coisa. Comprimentos de bloco e CRCs têm de bater;
um JPEG tem de fechar com o marcador de fim de imagem
FFD9. Na linha de comando:
Bytes depois do fim declarado de um PNG
$ python3 -c "d=open('doc.png','rb').read(); i=d.rfind(b'IEND')+8; print(len(d)-i, 'bytes sobrando')"
2048 bytes sobrando
Cargas anexadas, somas de verificação quebradas e contêineres truncados significam, cada um, que o arquivo foi montado ou danificado por algo que não é um codificador normal — algo que merece explicação antes de o documento ser aceito.
7. O que a ausência de metadados significa
Menos do que você gostaria. Toda plataforma de mensagem relevante remove o EXIF no envio, como medida de privacidade; redes sociais, CDNs e ferramentas de captura de tela fazem o mesmo. Um arquivo pelado é, portanto, a condição normal para qualquer coisa que viajou pelo WhatsApp — o que, para documentos enviados por clientes em boa parte do mundo, é a maioria dos arquivos. A ausência desloca a pergunta ("por que uma captura recente de câmera não carrega absolutamente nada?"), ela nunca a responde. A postura útil: metadado presente é evidência para ler; metadado ausente é motivo para se apoiar nas verificações de estrutura e codificação acima, que sobrevivem à remoção.
Automatizando
A Tamperlens roda exatamente essas verificações em todo JPEG, PNG, WebP, HEIC e AVIF — o mesmo motor, o mesmo endpoint e o mesmo relatório dos PDFs. Dez famílias de sinais de imagem cobrem metadados de gerador, rastros de editor, divergências de dimensão e codificação, marcas de recompressão, anomalias de data, ausência de metadados, estrutura do contêiner, proveniência C2PA e contexto de captura, cada uma com uma gravidade, um detalhe em linguagem clara e a evidência bruta por trás.
O motor lê estruturas que o codificador escreveu; ele deliberadamente não decodifica pixel algum, não executa nada e não chama nenhum serviço de terceiros. Determinístico: os mesmos bytes produzem o mesmo relatório. Os arquivos são lidos em memória e nunca gravados em disco.
Verifique uma imagem agora, de graça
Arraste uma foto ou captura de tela para o verificador da página inicial — sem conta, nada armazenado, relatório completo. Quando quiser isso na sua esteira, uma chave de API com 25 documentos por mês é gratuita: veja o guia da API ou crie uma conta.
A Tamperlens reporta sinais de risco, não veredictos de autenticidade. Sinais podem ter causas benignas; combine-os com a sua própria lógica de decisão.
Leitura relacionada
- Como saber se um PDF foi editado A contraparte desta página em PDF: metadados, revisões, pares /ID e assinaturas.
- Guia das famílias de sinais em PDF As onze famílias, o que cada uma detecta, suas causas benignas e como a gravidade é decidida.
- Fraude em extratos bancários A visão de quem concede crédito: como são os extratos forjados e como filtrá-los.
- Guia rápido da API Autenticação, exemplos com curl, o JSON do relatório anotado, cotas e preços.