Análise Técnica · Prova Digital

Banco Master: o que 484 PDFs do inquérito revelam sobre a pasta que circula num Drive público

O sigilo caiu na noite de 10 de setembro. Às 00:58 do dia 11 havia um link aberto no X. Baixamos e examinamos os 484 arquivos sem abrir nenhum — e o problema não era o que se esperava.

·25 min de leitura
Rafael Chiara, fundador da Cyberlex
Rafael Chiara
Fundador da Cyberlex

Ler a versão sem tecniquês

Na noite de 10 de setembro, o STF retirou o sigilo da Petição 15.556 e de outros catorze procedimentos do caso Banco Master. Menos de três horas depois, às 00:58 do dia 11, circulava no X um link para uma pasta pública do Google Drive com os autos organizados em três subpastas. Baixamos os 484 arquivos e os examinamos sem abrir nenhum. A conclusão de segurança foi tranquilizadora. A de integridade, não.

Há uma pergunta que quase ninguém faz antes de clicar: de onde veio este arquivo? No caso de um acervo processual de quase um gigabyte, montado por alguém que não se identifica e distribuído por uma rede social, a pergunta deixa de ser retórica.

Este texto responde três coisas: como a pasta apareceu e o que dá para dizer sobre sua procedência; o que uma varredura completa encontrou (e o que ela não pode garantir); e por que o achado mais relevante não tem nada a ver com malware.

A linha do tempo

A decisão de André Mendonça foi tomada no fim da noite de quinta-feira, 10 de setembro de 2026, atendendo a pedido do presidente do STF, Edson Fachin, e antecedendo a sessão extraordinária marcada para o dia 15. Foram liberados quinze procedimentos: a petição principal e outros catorze vinculados, entre eles a Pet 15.556 — a que resultou na prisão de Daniel Vorcaro e na apreensão dos aparelhos celulares.1 No dia seguinte, 11 de setembro, mais trinta e oito processos tiveram o sigilo retirado, a pedido da Vice-Procuradoria-Geral da República e por iniciativa do próprio ministro, chegando a cinquenta e três no total.

Às 00:58 do dia 11, horário de Brasília, uma publicação no X trazia o link de uma pasta do Google Drive com o material. Todos os 484 arquivos da pasta têm data de modificação em 11 de setembro.

Linha do tempo: decisão na noite de 10 de setembro, link publicado no X às 00:58 do dia 11, 484 arquivos com data de modificação em 11 de setembro, download e varredura em 13 de setembro Da decisão ao link público: poucas horas O intervalo entre tornar um processo público e ele virar uma pasta anônima de Drive é curto — e é nesse intervalo que o cuidado desaparece. 10 de setembro, à noite Mendonça retira o sigilo Pet 15.556 + 14 procedimentos 11 de setembro, 00:58 Link do Drive no X pasta aberta, sem login 11 de setembro 484 arquivos modificados data de modificação de toda a pasta 13 de setembro Download e varredura 823 MiB, sem abrir nenhum PDF poucas horas O que a linha do tempo diz — e o que ela não diz Diz que alguém baixou os autos recém-abertos e os republicou em poucas horas. Isso é compatível com pressa de quem quer divulgar, e também com qualquer outra intenção — a linha do tempo, sozinha, não distingue as duas. Não diz quem montou a pasta, nem por quê. O que se pode fazer é o que fizemos: tratar a origem como desconhecida e verificar o conteúdo antes de usar.
Linha do tempo: decisão na noite de 10 de setembro, link publicado no X às 00:58 do dia 11, 484 arquivos com data de modificação em 11 de setembro, download e varredura em 13 de setembro Da decisão ao link público: poucas horas O intervalo entre um processo virar público e virar pasta anônima de Drive é curto. 10 de setembro, à noite Mendonça retira o sigilo Pet 15.556 + 14 procedimentos poucas horas 11 de setembro, 00:58 Link do Drive no X pasta aberta, sem login 11 de setembro 484 arquivos modificados data de toda a pasta 13 de setembro Download e varredura 823 MiB, sem abrir nenhum PDF O que a linha do tempo diz — e o que ela não diz Diz que alguém baixou os autos recém-abertos e os republicou em poucas horas. Isso é compatível com pressa de quem quer divulgar, e com qualquer outra intenção. Não diz quem montou a pasta, nem por quê. O que se faz é verificar antes de usar.

A leitura honesta desse encadeamento é curta. Alguém com acesso ao sistema do STF baixou os autos recém-abertos e os republicou em poucas horas. Isso é compatível com pressa de quem quer divulgar — e é compatível com qualquer outra intenção. A linha do tempo, sozinha, não distingue as duas, e é exatamente por isso que a procedência precisa ser tratada como desconhecida até prova em contrário.

Estrutura da pasta e o que ela não é

A pasta raiz contém três subpastas:

A nomenclatura é a do sistema de peças do STF, o que confirma que a origem primária são os autos eletrônicos. Mas há um ponto que define tudo o que vem depois: esta pasta não é o registro oficial. Os blocos de 25 foram unidos com o iLovePDF, um serviço de terceiro. Isso significa que o arquivo passou por uma reexportação fora da cadeia do tribunal e que nenhum hash daqui bate com o hash do e-STF. Fora isso, a cadeia de produção dos arquivos é inteiramente coerente com a origem declarada, sem nenhuma peça destoante.4 Para leitura, serve. Para juntar aos autos como prova de conteúdo, não — e essa distinção é a mesma que já tratei a respeito de hash e integridade.

Vale registrar também que a abertura não foi integral: Mendonça manteve sob sigilo trechos relativos a diligências em curso e a procedimentos paralelos. Um acervo baixado de terceiro nunca é, por construção, um acervo completo — e aqui não é mesmo.

Como se baixa um acervo assim sem se expor

O método importa tanto quanto o resultado, então vale explicitá-lo.

Listagem sem login. O Google Drive expõe a visão pública de uma pasta em drive.google.com/embeddedfolderview?id=<pasta>. Dela extraímos 484 identificadores únicos com os nomes correspondentes, gravados num manifesto. Isso evita a armadilha mais comum: gdown --folder tem limite fixo de cinquenta arquivos por pasta, e a opção --remaining-ok apenas silencia o erro em vez de baixar o resto — quem usasse o atalho teria levado cinquenta dos 416 sem perceber a falta.

Download por identificador, arquivo a arquivo. Três conexões em paralelo, gravando em .part e renomeando apenas se o arquivo começar com %PDF-. A primeira rodada, via gdown.download(id=…), trouxe 196 arquivos antes de passar a falhar; a segunda, com curl --fail contra drive.usercontent.google.com, completou os 288 restantes. Resultado final: 484 de 484, zero falhas.

Validação antes de qualquer análise. Contagem por subpasta, manifesto conferido contra o disco, e verificação de que todo arquivo começa com %PDF- e termina com %%EOF nos últimos 1024 bytes. O diretório com os originais foi deixado somente leitura.

Nenhum arquivo ou hash foi enviado a serviço externo — nada de subir o PDF no VirusTotal, que tornaria público um documento que pode conter dado pessoal de terceiros. E, principalmente: nenhum PDF foi aberto em visualizador em momento algum. Todas as ferramentas usadas apenas fazem análise sintática.

Cinco passos: preferir a fonte oficial, isolar o download, não abrir antes de examinar, registrar hashes, e conferir se o conteúdo bate com o nome do arquivo Como abrir uma pasta de origem desconhecida sem se expor A regra que organiza tudo: nenhum arquivo é aberto antes de ser examinado — e o exame não precisa abrir nada. 1 Prefira a fonte Os autos públicos estão no tribunal. A pasta de terceiro é conveniência, não é fonte. 2 Isole Baixe numa máquina ou pasta descartável, sem acesso ao resto do trabalho. 3 Não abra Examine antes. As ferramentas de exame só leem a estrutura — não executam nada. 4 Registre Hash de cada arquivo e lista do que veio. É o que prova depois o que você tinha em mãos. 5 Confira Antes de citar, veja se o conteúdo bate com o nome. Aqui, três vezes não batia. O erro que quase todo mundo comete no passo 3 Abrir o PDF “só para ver o que é”. Se houvesse algo armado, é exatamente nesse clique que ele funcionaria — e o leitor de PDF é um dos programas mais visados justamente porque todo mundo abre PDF sem pensar. Examinar primeiro não custa tempo: a varredura dos 484 arquivos rodou sem que nenhum deles fosse aberto em visualizador. E o que o exame encontrou, nos dois sentidos Nenhum código ativo em 484 arquivos: nem JavaScript, nem abertura automática de programa, nem anexo que se execute sozinho. A pasta, do ponto de vista de segurança, estava limpa. Mas o passo 5 revelou três defeitos de conteúdo que teriam passado despercebidos — e que, para quem escreve a partir desses documentos, são mais perigosos do que o vírus que não estava lá.
Cinco passos: preferir a fonte oficial, isolar o download, não abrir antes de examinar, registrar hashes, e conferir se o conteúdo bate com o nome do arquivo Como abrir uma pasta de origem desconhecida Nenhum arquivo é aberto antes de ser examinado — e o exame não abre nada. 1 Prefira a fonte A pasta de terceiro é conveniência, não fonte. 2 Isole Máquina ou pasta descartável, sem acesso 3 Não abra Examine antes. As ferramentas de exame só leem a estrutura — não executam nada. 4 Registre Hash de cada arquivo e lista do que veio. É o que prova depois o que você tinha em mãos. 5 Confira Antes de citar, veja se o conteúdo bate com o nome. Aqui, três vezes não batia. O erro comum no passo 3 Abrir “só para ver o que é”. Se houvesse algo armado, é nesse clique que funcionaria. E o leitor de PDF é alvo justamente porque todo mundo abre PDF sem pensar. O que o exame encontrou Nenhum código ativo em 484 arquivos. Mas o passo 5 revelou três defeitos de conteúdo — mais perigosos, para quem escreve, do que o vírus que não estava lá.

A varredura

Rodamos sobre os 484 arquivos, sem exceção: pdfid para a contagem de marcadores em bytes brutos; pdf-parser -a -O para localizar palavras-chave em dicionários, inclusive dentro de object streams; pdfinfo para metadados; e, nos arquivos que acusaram algum marcador, um localizador próprio que aponta o deslocamento exato de cada ocorrência, o objeto em que está, se ela cai dentro dos dados de um stream e se o nome estava ofuscado em hexadecimal.2

Duas escolhas metodológicas merecem nota, porque é nelas que varreduras superficiais falham.

A primeira: o pdfid lê bytes brutos e não enxerga dentro de object streams — um PDF pode esconder o dicionário malicioso ali e passar limpo. Por isso o -O do pdf-parser, que expande esses containers, e uma checagem independente com pypdf percorrendo todos os 71.784 objetos dos dezessete arquivos que usam a estrutura. Nenhuma chave encontrada.

A segunda: o filtro sugerido em receitas comuns usa $2 > 0 no awk, mas o pdfid imprime 0(2) quando há nomes ofuscados em hexadecimal, e a comparação numérica converteria isso em zero — silenciando justamente o caso mais suspeito. Trocamos por $2 != "0". Resultado: nenhuma contagem com ofuscação hexadecimal.

O que foi encontrado

arquivos (pdfid) em dicionário (pdf-parser -a -O) /JavaScript 0 0 /Launch 0 0 /RichMedia 0 0 /XFA 0 0 /JS 22 0 /AA 25 0 /EmbeddedFile 6 6 /OpenAction 18 18 /AcroForm 267 267

Os 31 /JS e os 37 /AA são todos falso positivo. Cada ocorrência foi localizada individualmente: estão dentro dos dados de streams comprimidos — JPEG (DCTDecode) ou FlateDecode. São bytes de imagem que, por coincidência, formam a sequência de caracteres que a ferramenta procura. Nenhuma delas existe como chave de dicionário, que é o único lugar onde teriam efeito.

Comparação entre a sequência /JS encontrada dentro dos dados de uma imagem comprimida e o que seria um JavaScript real, declarado como chave de dicionário com OpenAction Por que o alarme disparou 68 vezes — e nenhuma valia A ferramenta procura a sequência de letras “/JS” no arquivo inteiro. Onde ela aparece decide tudo. Onde os 68 alarmes estavam dentro dos dados de uma imagem comprimida obj 1630 << /Subtype /Image /Filter /DCTDecode >> stream …‰·Æ /JS ü½ûK¢‡Ø… endstream São três bytes que, por coincidência, formam “/JS” no meio de um JPEG. Não são código. Onde teria de estar para ser real como chave de um dicionário, fora de qualquer imagem obj 42 << /S /JavaScript /JS (app.launchURL\(…\)) >> /OpenAction 42 0 R Nenhum arquivo dos 484 tem isso. Zero em dicionário, zero dentro de object streams. A lição de método Um alarme de ferramenta é ponto de partida, não conclusão. Quem publica “PDFs do inquérito têm JavaScript” lendo só a contagem do scanner comete o mesmo erro de quem lê um ícone sem saber qual programa o desenhou: confunde o indício com o fato.
Comparação entre a sequência /JS encontrada dentro dos dados de uma imagem comprimida e o que seria um JavaScript real, declarado como chave de dicionário com OpenAction O alarme disparou 68 vezes — nenhuma valia A ferramenta procura “/JS” no arquivo inteiro. Onde aparece decide tudo. Onde os 68 alarmes estavam dentro dos dados de uma imagem obj 1630 << /Subtype /Image /Filter /DCTDecode >> stream …‰·Æ /JS ü½ûK¢‡Ø… endstream São três bytes que, por coincidência, formam “/JS” no meio de um JPEG. Não são código. Onde teria de estar para ser real como chave de dicionário, fora de imagem obj 42 << /S /JavaScript /JS (app.launchURL(…)) >> /OpenAction 42 0 R Nenhum dos 484 arquivos tem isso. Zero em dicionário, zero em object stream. A lição de método Um alarme de ferramenta é ponto de partida, não conclusão. Quem publica “os PDFs têm JavaScript” lendo só a contagem do scanner confunde o indício com o fato.

Alguns casos são didáticos: em um bloco, o "JS" vinha do nome de uma fonte embutida (/HYJSAL+SegoeUI); em outro, de um link para tjsc.jus.br; em outro, de uma URL de SharePoint dentro de uma anotação. O --search do pdf-parser não diferencia maiúsculas e varre bytes de stream, então casa com tjsc, .json e base64 sem nenhum problema. Nenhum objeto casou com "JavaScript" ou "Launch" em nenhum dos 484 arquivos. O pdfinfo confirma: JavaScript: no nos 484, Encrypted: no nos 484.

Os dezoito /OpenAction são todos destino de página (/XYZ em dezesseis, /FitH em dois) — abrir numa página específica, sem ação associada. Os 267 /AcroForm são campos de assinatura digital do e-STF, coerentes com o Form: AcroForm do pdfinfo. Dos 484 arquivos, 442 não apresentam marcador de alarme algum.3

Os anexos embutidos

Seis arquivos contêm treze anexos reais. Foram extraídos para inspeção, em diretório somente leitura, e identificados por tipo real em vez de extensão declarada:

Veredito: anexos inertes. Nenhum é aberto automaticamente — não há /OpenAction, /Launch ou JavaScript associado. Um leitor pode oferecer para abri-los se o usuário clicar no clipe, o que é comportamento normal.

Por que isso foi verificado, já que não havia nada

Vale ser explícito sobre o raciocínio de risco, porque a conclusão limpa não retroage para tornar o exame desnecessário.

O cenário tinha todos os ingredientes de um ataque de oportunidade: uploader anônimo, assunto de interesse nacional no pico da busca, e um público-alvo composto exatamente de jornalistas, advogados, assessores parlamentares e servidores — gente com acesso a informação sensível e com pressa. Baixa probabilidade, consequência alta. É a situação em que se verifica.

E o PDF é um formato com superfície de ataque larga. Pode carregar JavaScript executado na abertura, ação que dispara programa externo, arquivo embutido, formulário que envia dados, XFA, conteúdo multimídia. A isso se soma o histórico de vulnerabilidades dos próprios leitores, que continuam entre os alvos preferidos justamente porque todo mundo abre PDF sem pensar duas vezes.

Há ainda uma categoria que esta varredura não cobre, e convém dizê-lo em vez de deixar implícito: esteganografia. Dados escondidos dentro dos bytes de uma imagem não aparecem em nenhuma das ferramentas usadas aqui — que procuram estrutura, não conteúdo oculto. Um acervo pode estar perfeitamente limpo do ponto de vista de conteúdo ativo e ainda assim carregar informação embarcada em camadas de imagem, marcas d'água de rastreamento por variação imperceptível, ou identificadores individualizados que denunciem quem redistribuiu o quê. Detectar isso exige outro ferramental e outro tipo de análise, que fica para um texto específico.

O que a ausência de conteúdo ativo autoriza afirmar é estritamente isto: nestes 484 arquivos, nada é executado ao abrir. Não autoriza afirmar que a pasta é segura em todos os sentidos, nem que a próxima será.

O achado que importa: a pasta de blocos está corrompida

Aqui está o problema real, e ele não é de segurança.

Os três defeitos: 326-350.pdf é cópia byte a byte de 251-275.pdf deixando 58 páginas ausentes; 176-200 e 201-225 com nomes trocados; 1-25 com páginas fora de ordem O problema real não era vírus. Era o conteúdo. A pasta “para processamento de dados”, com 17 blocos, tem três defeitos. Quem usou esses arquivos trabalhou com um acervo errado. 1. Um bloco é cópia byte a byte de outro — e 58 páginas somem 251-275.pdf 69 páginas = 326-350.pdf mesmo SHA-256 Os dois arquivos têm hash idêntico: são o mesmo documento com nomes diferentes. Consequência: as peças 326 a 350 não estão em nenhum bloco. 58 páginas simplesmente não existem nessa pasta. 2. Dois blocos com os nomes trocados arquivo “176-200” contém peças 201–225 E o arquivo “201-225” contém as peças 176–200. Quem citar “peça 180” a partir do nome do arquivo vai citar o documento errado. 3. Um bloco com as páginas fora de ordem O arquivo 1-25.pdf tem as 791 páginas certas — o mesmo conjunto das peças 1 a 25 — mas em outra sequência. Nada falta, mas a ordem de leitura não corresponde à ordem dos autos. A pasta com as 416 peças separadas está íntegra Numeração de 1 a 416, sem lacuna. É a fonte a usar. Os defeitos estão só na pasta de blocos, que é justamente a que atrai quem vai processar o acervo em massa — alimentar um modelo de linguagem, rodar OCR, montar uma planilha. Ou seja: o erro estava exatamente onde causaria mais dano, e não seria percebido por quem confiasse no nome do arquivo.
Os três defeitos: 326-350.pdf é cópia byte a byte de 251-275.pdf deixando 58 páginas ausentes; 176-200 e 201-225 com nomes trocados; 1-25 com páginas fora de ordem O problema real não era vírus. Era o conteúdo. A pasta de 17 blocos tem três defeitos. Quem a usou trabalhou com acervo errado. 1. Um bloco é cópia de outro 251-275.pdf 69 páginas = 326-350.pdf mesmo SHA-256 Hash idêntico: é o mesmo documento com dois nomes diferentes. Consequência: as peças 326 a 350 não estão em nenhum bloco. 58 páginas não existem nessa pasta. 2. Dois blocos com nomes trocados arquivo “176-200” contém as peças 201–225 Citar “peça 180” pelo nome do arquivo é citar o documento errado. 3. Páginas fora de ordem O 1-25.pdf tem as 791 páginas certas, mas em outra sequência. Nada falta — só a ordem de leitura não corresponde à ordem dos autos. As 416 peças separadas estão íntegras Numeração 1 a 416, sem lacuna. É a fonte a usar. Os defeitos estão só na pasta de blocos — justamente a que atrai quem vai processar tudo em massa, e onde ninguém confere página por página.

Primeiro: um bloco é cópia byte a byte de outro. 326-350.pdf e 251-275.pdf têm o mesmo SHA-256 (90dc0737…), apesar de terem identificadores distintos no Drive. Baixamos os dois novamente para uma pasta separada e o hash se repetiu, o que descarta erro de transferência. A consequência é que as peças 326 a 350 — 58 páginas — não estão em nenhum bloco. Quem trabalhou só com essa subpasta tem um acervo com um buraco que não se anuncia.

Segundo: dois blocos estão com os nomes trocados. O arquivo chamado 176-200.pdf contém as peças 201 a 225, e o chamado 201-225.pdf contém as peças 176 a 200. A conferência foi feita por número de páginas (91 contra 114 esperadas, e vice-versa) e por comparação do texto da primeira e da última página contra as peças individuais correspondentes. Quem citar "peça 180" confiando no nome do arquivo citará o documento errado.

Terceiro: 1-25.pdf tem as 791 páginas corretas em ordem diferente. O conjunto de páginas confere com as peças 1 a 25; a sequência, não.

As 416 peças individuais, por outro lado, estão completas — numeração de 1 a 416 sem lacuna. São elas a fonte a usar.

O detalhe que transforma isso de curiosidade em risco editorial é para quem a subpasta defeituosa foi feita. Ela se chama "processamento de dados" e é a que atrai quem vai tratar o acervo em massa: rodar OCR, indexar, alimentar um modelo de linguagem, montar planilha de referências cruzadas. O erro está exatamente onde causa mais dano e onde é menos provável que alguém confira página por página.

Não atribuo intenção a isso. Mesclagem manual de dezessete blocos num serviço web é operação que erra com facilidade, e os três defeitos são compatíveis com descuido. Mas a diferença prática entre descuido e outra coisa é nenhuma para quem vai publicar a partir desses arquivos: em ambos os casos, o acervo está errado e o nome do arquivo mente.

O que fazer

Vá à fonte. Com o sigilo retirado, o caminho legítimo para obter os autos é o sistema do próprio tribunal. Documento obtido no STF tem origem verificável e cadeia rastreável até a juntada; PDF repassado por Drive de terceiro, não — e, como os blocos passaram por reexportação em serviço externo, nem o hash serve de ponte entre um e outro. A pasta é conveniência, não fonte.

Se for usar a pasta mesmo assim, trate-a como material de origem desconhecida: baixe em ambiente isolado, não abra nada antes de examinar, registre o hash de cada arquivo, e confira se o conteúdo bate com o nome antes de citar. Os três defeitos acima foram encontrados nesse último passo — o que quase ninguém faz.

Sobre o ambiente isolado, vale ser concreto em vez de decorativo. O padrão é máquina virtual: o download e qualquer abertura ocorrem num sistema convidado descartável, cujo estado se joga fora ao fim do trabalho, e cuja rede pode ser desligada. A opção gratuita de menor atrito é o VirtualBox, da Oracle, na série 7.2, que roda em Windows, macOS e Linux e já suporta hospedeiro ARM; para quem tem Windows Pro, o Hyper-V já está instalado, e no Mac o VMware Fusion voltou a ser gratuito para uso pessoal desde novembro de 2024. Um instantâneo tirado antes de abrir qualquer coisa transforma a VM em ambiente descartável de verdade: reverte-se em segundos.

Para o caso mais frequente — não analisar o arquivo, apenas ler um documento de procedência duvidosa — a ferramenta certa é o Dangerzone, da Freedom of the Press Foundation. Ele converte cada página em dados de pixel dentro de um contêiner sem acesso à rede e remonta um PDF a partir apenas dessa rasterização, o que descarta por construção todo conteúdo ativo, anexo e estrutura do original.

Convém não confundi-lo com o parágrafo anterior sobre varredura pública: o Dangerzone é processamento local. Os contêineres sobem na própria máquina, o isolamento é local, e a ausência de rede dentro do sandbox é justamente o que impede exfiltração caso o documento comprometa o conversor. Nada trafega para terceiros. O critério que separa as duas situações é a saída do dado do perímetro do analista — no serviço de multi-varredura, o arquivo sai e permanece; no Dangerzone, não sai. Passou por auditoria independente em dezembro de 2023, sem achados de risco alto.5

A ressalva de custódia é a de sempre e precisa ser dita ao cliente: o produto do Dangerzone é outro documento. Perde a camada de texto, salvo se solicitado OCR na conversão, perde assinaturas digitais e tem hash distinto. Para exame pericial e para indexação em IPED, trabalhe sobre o original numa VM descartável; a versão rasterizada serve para leitura, não para perícia.

Não suba os arquivos em serviço público de varredura. A expressão designa plataformas de multi-varredura por envio — VirusTotal à frente — em que a amostra enviada é incorporada ao acervo, compartilhada com os parceiros da indústria de antivírus e tornada acessível, por busca e download, a quem assina os planos corporativos. A própria política da plataforma admite que informação pessoal pode estar contida nas amostras e que ela será processada mesmo assim.6 Consulta por hash é segura e resolve a maior parte dos casos, porque transmite apenas o resumo criptográfico. Envio do arquivo, não — e num acervo processual com dados de terceiros não envolvidos, seria incidente de proteção de dados criado pelo próprio analista.

Não confunda scanner limpo com documento confiável. Um alarme de ferramenta é ponto de partida, não conclusão — e a recíproca também vale: a ausência de alarme diz respeito ao que aquela ferramenta procura, e nada além.

Por que a Cyberlex publica isto

Porque é o mesmo trabalho, com outro nome. Determinar a procedência de um arquivo, distinguir indício de fato, medir em vez de deduzir e registrar o que foi feito de modo que outro possa repetir — é isso que sustenta um parecer de assistência técnica e é isso que sustenta uma reportagem que vai ser contestada.

Redação de jornalismo investigativo lida com acervos de origem incerta com frequência crescente, sob prazo, sem estrutura técnica própria e com exposição reputacional alta se o material se revelar adulterado, incompleto ou plantado. Verificação de autenticidade, documentação de cadeia de custódia e análise de acervo são exatamente o tipo de serviço que se terceiriza — e que a Cyberlex presta com entregável defensável, em linguagem de indício técnico e com limitações explícitas.

Neste caso, o que o exame produziu foi uma resposta em dois tempos: não há nada armado nos arquivos, e há três defeitos que comprometeriam qualquer trabalho feito em cima da subpasta errada. As duas metades importam, e nenhuma delas apareceria para quem simplesmente clicou e abriu.

O dado sustenta exatamente o que sustenta. Nem uma palavra a mais.

Notas

  1. Decisão de André Mendonça de 10 de setembro de 2026, tomada no fim da noite de quinta-feira, atendendo a pedido do presidente do STF, Edson Fachin, e liberando quinze procedimentos — a petição principal e outros catorze vinculados, entre eles a Pet 15.556. Em 11 de setembro, outros trinta e oito procedimentos tiveram o sigilo retirado, a pedido da Vice-Procuradoria-Geral da República e por iniciativa do ministro, totalizando cinquenta e três. Permanecem sob sigilo trechos relativos a diligências em curso e a procedimentos paralelos.
  2. Ferramentas utilizadas: pdfid.py 0.2.10 e pdf-parser.py 0.7.14, da DidierStevensSuite (o pacote pdf-parser não existe no PyPI, ao contrário do que sugerem várias receitas em circulação); pdfinfo e pdftotext do poppler; pypdf. SHA-256 dos scripts registrados no relatório de trabalho. A varredura completa dos 484 arquivos terminou sem nenhum erro de leitura.
  3. Conferência cruzada entre pdfid e o localizador de bytes: 53 pares (arquivo, marcador) verificados, zero divergências — 31 ocorrências de /JS, 37 de /AA e 13 de /EmbeddedFile, todas localizadas com deslocamento, objeto e contexto. Dos 484 arquivos, 442 não apresentam nenhum marcador de alarme.
  4. A cadeia de /Producer é coerente com a origem declarada e não apresenta exceção: peças juntadas por partes e pela PF trazem o software de origem seguido de ; modified using iText 5.0.6, que é a assinatura do carimbo do e-STF; recibos de peticionamento eletrônico trazem iText 5.0.6 puro em 102 de 102; despachos e decisões monocráticas, onlyoffice; modified using iText 5.5.7. As trinta peças que não terminam no sufixo do carimbo já continham "iText" no Producer, comportamento esperado da biblioteca. Um Producer ilegível em dois arquivos é UTF-16 sem marca de ordem de bytes, e decodifica para Microsoft® Word 2019; modified using iTextSharp.LGPLv2.Core 3.4.11.0 — artefato de codificação, não anomalia. Os dezessete blocos trazem iLovePDF em 17 de 17.
  5. Dangerzone, software livre mantido pela Freedom of the Press Foundation (dangerzone.rocks), para Windows, macOS e Linux; usa contêineres com gVisor como limite de isolamento, sem acesso de rede no interior do processamento. Auditoria de segurança conduzida pela Include Security em dezembro de 2023: nenhum achado de risco alto, três de risco baixo e sete informativos. VirtualBox 7.2 em virtualbox.org, sob GPLv3 no pacote base — a Extension Pack tem licença própria e não é necessária para este uso.
  6. Política de privacidade do VirusTotal: as amostras são armazenadas no acervo e compartilhadas com parceiros da indústria antimalware, vinculados por contrato ao uso interno de segurança; o documento reconhece expressamente que informação pessoal pode constar das amostras e que será processada. Assinantes corporativos dispõem de busca e download sobre o acervo. Precedente conhecido: o envio automatizado de anexos por órgãos alemães, incluindo material sob Traffic Light Protocol, resultou em exposição de documentos confidenciais. Há modalidade de varredura privada, sob licença, em que a amostra não deixa a infraestrutura da plataforma nem é compartilhada — não é o fluxo padrão nem o gratuito.
Do dado bruto à narrativa que sustenta a sua peça.
Rafael Chiara, fundador da Cyberlex
Rafael Chiara
Fundador da Cyberlex

Após 20 anos de serviço público (TRF4, TJSC e Polícia Civil, como delegado), atua em assistência técnica à defesa, prova digital, cadeia de custódia e análise forense de dispositivos móveis.

Material técnico-educativo. O caso entra como fato público, a partir de autos com sigilo levantado, e as pessoas aparecem apenas como constam deles: este texto examina a procedência, a segurança e a integridade de uma cópia desses autos que circula em pasta aberta, não adere a nenhuma tese sobre o mérito da investigação nem sobre a conduta de qualquer pessoa nela mencionada, o autor não tem relação com as partes, e nada aqui é parecer jurídico nem técnico sobre caso concreto. A Cyberlex produz documentos técnicos de assistência ao advogado e ao cliente — parecer de assistência técnica, nota técnica e análise —, com linguagem de indício técnico e limitações explícitas, e não emite laudo pericial oficial nem exerce advocacia. A judicialização, quando necessária, cabe ao advogado constituído pelo cliente, com autonomia técnica e independência. Anomalias de custódia são sinalizadas com linguagem de incerteza, jamais asseridas como manipulação provada.

Leitura relacionada