Simulador de votação do TSE expõe trechos de código da urna

Tribunal afirma que uso da tecnologia visa aproximar experiência real e descarta riscos de segurança ao processo eleitoral.
Simulador de Votação exibe código do app da urna eletrônica; TSE afirma intenção

O Simulador de Votação disponibilizado pelo Tribunal Superior Eleitoral (TSE) para treinamento dos eleitores na internet passou a carregar um arquivo público com partes do aplicativo VOTA, o mesmo programa responsável por conduzir a votação na urna eletrônica. A estrutura foi identificada na terça-feira (6) pelo engenheiro de software Igor Alonge, que descompilou os arquivos da plataforma e publicou os achados na rede social X.

Ao analisar o arquivo vota_web_wasm.wasm, que possui cerca de 7,7 MB e traz a indicação de versão “10.23.0.1 – DESENVOLVIMENTO”, o especialista encontrou trechos que vão além da interface visual vista pelo usuário. A ferramenta reúne a lógica do boletim de urna, o registro interno dos votos e rotinas do terminal do mesário. Esses elementos não eram apresentados na tela da página de treino e não ficavam disponíveis ao público geral.

De acordo com os relatos técnicos, o caso não indica vulnerabilidade ou fragilidade na urna eletrônica nem no processo eleitoral. O simulador existe desde 2014 no site da Justiça Eleitoral e já disponibilizava seu código para que pesquisadores pudessem avaliar o funcionamento.

Anúncios

Estrutura técnica e análise do arquivo

Em vez de recriar a interface da urna em uma linguagem comum de páginas web, a equipe técnica compilou parte do aplicativo de votação original em WebAssembly, formato executado pelos navegadores com desempenho semelhante ao de programas nativos. Alonge pontuou que a análise se refere ao simulador, e não ao software lacrado utilizado nas urnas no dia do pleito.

Na reconstrução realizada pelo desenvolvedor, foram identificadas pastas do aplicativo VOTA contendo módulos do terminal do eleitor, terminal do mesário, rotinas de abertura e encerramento de seção e geração do boletim. O pacote também continha pastas compartilhadas com dados da eleição, Registro Digital do Voto (RDV), relatórios, gravação de resultados e logs.

Entre os fluxos descritos pelo engenheiro em suas publicações, constam regras para biometria, comportamento de diferentes modelos de urna e tratamento de interrupções. No código avaliado, caso a leitura biométrica do eleitor falhe, o terminal solicita a validação do mesário. Nas versões físicas de 2020 e 2022, o leitor utilizaria a primeira imagem da digital, enquanto modelos de 2013 e 2015 capturariam três amostras para salvar a de maior detalhe.

O profissional também apontou uma rotina denominada tornaNaoVotouParcial, que descartaria votos confirmados em casos de interrupção, marcando a situação como “não votou”. Posteriormente, o desenvolvedor relacionou o comportamento à Resolução TSE nº 23.669, vigente em 2022, explicando que o descarte total se aplicava a quem não havia confirmado nenhum voto e que, nos registros para 2026, passa a constar voto nulo por suspensão.

Avaliação de especialistas

Profissionais de segurança destacam que o acesso ao código não representa comprometimento aos equipamentos. “Na minha visão não é um problema, especialmente quando a documentação ao redor do código já referenciava bastante coisa, mas nada ‘montado’ e legível”, afirmou Igor Alonge. O engenheiro pontuou que “foi justamente por meio das documentações que o TSE disponibiliza que fui capaz de reconstruir tudo; além disso, a documentação com os arquivos disponibilizados (logs, boletim da urna, etc) ajudaram a validar o quanto, por baixo dos panos, o simulador provavelmente carrega do mesmo código que roda na urna real”.

O pesquisador de segurança Rodrigo Laneth ressaltou a importância da transparência no desenvolvimento de softwares institucionais. “Todos os componentes da urna eletrônica deveriam ser públicos. De acordo com as melhores práticas de engenharia de software, a segurança de um sistema não deve depender de que os detalhes sobre seu funcionamento, incluindo o código-fonte, sejam mantidos em segredo. Há pouquíssimos elementos que realmente precisam ser secretos, como, por exemplo, chaves criptográficas privadas”, declarou.

Laneth frisou ainda que “a versão do VOTA que veio a público, distribuída no simulador de votação do site do TSE, não contém, ao que pude analisar, qualquer chave criptográfica, o que é o esperado de um software desenvolvido de acordo com as boas práticas da indústria. O acesso ao código-fonte das urnas é previsto para um conjunto de entidades fiscalizadoras, como partidos políticos, Forças Armadas, Polícia Federal e universidades credenciadas, além dos participantes do Teste Público de Segurança dos Sistemas Eleitorais (TPU). Esse acesso é credenciado e supervisionado, ocorrendo, de acordo com o próprio TSE, em ambiente preparado para inspeção e nunca foi público no sentido de qualquer pessoa poder obtê-lo e analisá-lo livremente”. Para o especialista, “a surpresa é que, com todo esse histórico de restrição, tenha vindo a público uma versão de um componente tão central ao sistema de votação e que, presume-se, pelos indícios existentes no próprio arquivo, compartilha uma parte substancial do código com a versão carregada nas urnas”.

O professor e pesquisador Diego Aranha, docente na Universidade Estadual de Campinas e vinculado à Universidade de Aarhus, na Dinamarca, também avaliou a repercussão. “Obviamente eu não sei se foi intencional ou acidental, mas isso é problema do TSE”, disse. “Até onde eu entendo, parte do software de votação terminou publicada porque foi possível descompilar o código do simulador e recuperar código-fonte equivalente das partes compartilhadas. Não é o software de votação inteiro, há mecanismos de segurança que dependem do hardware da urna que obviamente não existem no simulador”.

Aranha declarou que “LLMs tornaram software secreto efetivamente obsoleto. É uma idéia que já envelhecia mal, especialmente para software de interesse público, mas agora ficou escancaradamente velha. Basta que uma única pessoa faça uma cópia do cartão de carga das urnas em uma eleição futura que teremos código-fonte equivalente do software de votação inteiro”. Segundo ele, “é por esse motivo que o software já deveria ter sido publicado faz tempo. Vale lembrar que qualquer presunção de segredo do software de votação já caía por terra após a invasão de 2018, o que falta é o TSE cumprir a promessa antiga de publicar o código-fonte. Espero que o TSE responda de maneira construtiva e não procure punição contra os envolvidos, dado o histórico do Tribunal em hostilizar pesquisadores de segurança independentes”.

Posicionamento oficial do TSE

O TSE explicou que o simulador original utilizava tecnologias como Java e Javascript/HTML5, o que tornava a manutenção onerosa, já que a urna real é programada em C++. Segundo o órgão, “em 2026 a equipe técnica optou por utilizar a tecnologia WebAssembly. Essa tecnologia permite o uso de software escrito em C++ para integração à plataforma web em navegadores”.

O tribunal complementou: “Com isso, foi possível reutilizar parte do código-fonte do software da urna para a criação do simulador de votação atualmente disponível na internet. Isso foi feito visando a uma reprodução mais fidedigna da experiência de uso da urna por meio do simulador, tais como as telas de votação renovadas, barra de progresso da votação, intérprete de Libras em mais telas, uso ampliado da sintetização de voz, etc. Essa abordagem também será usada futuramente para um simulador específico para o treinamento de mesários”.

Sobre a possibilidade de descompilação, a corte informou que “é de conhecimento da equipe técnica do TSE que a tecnologia WebAssembly permite que um binário seja desmontado. Foi justamente isso que o Igor Alonge fez. Ciente disso, a equipe técnica buscou restringir o reuso do código-fonte da urna àquilo que era estritamente necessário para o funcionamento do simulador”. O órgão acrescentou que os dados de candidatos e eleitores no sistema de treino são integralmente fictícios.

O tribunal destacou ainda que Igor Alonge se colocou à disposição para retirar os códigos de seu repositório no GitHub caso fosse solicitado, mas a Justiça Eleitoral informou que não fará o pedido por não enxergar ameaça ao processo. Por fim, o TSE reiterou que o código-fonte oficial permanece acessível para fiscalização e auditoria por entidades credenciadas e cidadãos por meio das resoluções normativas e dos testes públicos de segurança.

Com informações de: Tecmundo

Anúncios

Compartilhe:

Facebook
Twitter
WhatsApp