Este é um texto técnico que aponta exatamente onde está o erro na modelagem de ameaças do TSE, e porque essa filiação foi possível. Spoiler: o problema é de IAM, não de “hacker”.
Por Yasodara Cordova*
Engenheira e consultora especializada em cibersegurança, privacidade e identidades digitais. Com mais de 15 anos de experiência, atua na criação de infraestruturas digitais seguras e inclusivas. Integra o conselho de investimentos do Co-Develop Fund, foi chefe de pesquisa na Unico e participou do conselho de segurança do TikTok. Também trabalhou com o Banco Mundial e desenvolveu pesquisas em Harvard.
Em fevereiro de 2024, subi no palco do SXSW com um slide que mostrava que o presidente da república (na época, o Lula) estava filiado ao partido do seu principal adversário político por quase seis meses, sem que ninguém no TSE soubesse. Quem não era brasileiro, na platéia, ficou incrédulo. Os brasileiros caíram na gargalhada.

O argumento que eu fiz é técnico, e não político. Além disso, é um problema de arquitetura, não de feature. O sistema de filiação partidária brasileiro confunde autenticação com autorização, e essa confusão tem consequências concretas pra integridade de infraestrutura dos partidos. Em agosto de 2026, o sistema fez exatamente a mesma coisa. O presidenciável é diferente e também os partidos envolvidos são diferentes: mesmo vetor, mesmo resultado. Normal, é um comportamento do sistema. Independentemente da motivação política de quem realizou a operação, o sistema permitiu que uma credencial administrativa válida produzisse um efeito jurídico sobre um terceiro sem prova de que esse terceiro autorizou a operação.
É a mesma falha que documentei no contexto de benefício consignado, de KYC falsificado em fintechs, do caso BRB/PicPay: confiança baseada em contrato e credencial, que qualquer insider com acesso ativo atravessa numa boa. Vou destrinchar os dois casos, o que o TSE consertou entre eles, o que deixou aberto, e por que o IP de Belo Horizonte é o dado mais irrelevante dessa história toda.
Leia mais aqui:

Cibersegurança e privacidade como prevencão à corrupção e roubo em escala: o que aprendemos com o caso Master e seus genéricos
·
27 de jun.
E vamos de linha do tempo:
- Julho de 2023: alguém com credenciais válidas do PL acessa o sistema Filia do TSE e registra Lula como filiado ao partido. A filiação fica ativa por quase seis meses. O TSE descobre depois de ser comunicado pela imprensa, não por monitoramento interno.
- Janeiro de 2024: o caso vem a público. O TSE cancela o login responsável, encaminha à PF e anuncia uma correção: a partir de então, operadores do Filia precisariam autenticar via e-Título com biometria cadastrada, um segundo fator baseado no aplicativo da Justiça Eleitoral.
- Agosto de 2026: alguém com credenciais válidas do Missão acessa o Filia e registra Flávio Bolsonaro como filiado ao partido. O registro bloqueia o prazo de registro de candidatura presidencial no TSE. O tribunal declara que “não houve hackeamento, mas uso indevido da ferramenta por alguém que possuía as credenciais da legenda.”
A correção de 2024 não impediu o incidente de 2026. Pra entender por quê, é preciso entender o que o TSE consertou e o que deixou intacto. Então vamos lá.
Sempre leia o manual de instruções: o que a documentação técnica diz
O manual técnico do Sistema de Filiação Partidária (versão 1.5, STI/TSE, Resolução TSE 23.596/2019) define três perfis de acesso: Administrador, Operador e Consulta. A tabela de permissões é objetiva: administrador e operador têm permissão de cadastrar, alterar, desfiliar e excluir registros. É o CRUD completo. Pra consulta, corretamente, não tem nenhuma permissão de escrita.
O acesso ao módulo externo do Filia começa no presidente nacional de cada partido, credenciado pelo TSE, que pode delegar a representantes cadastrados no SGIP3 (sistema de membros partidários) com cargo de Presidente, Vice-Presidente ou Delegado. Esses administradores criam Operadores. Pelo que eu entendi, operadores têm permissão de escrita irrestrita sobre o cadastro de filiados. 😩
Aqui é que o bicho pega: a permissão de escrita não é baseada no conteúdo da operação. Um operador com acesso ativo pode cadastrar qualquer título de eleitor com situação “regular” no sistema ELO. Não existe verificação de consentimento do titular, nem tem alerta pra divergências entre campos. Também não tem segregação de função pra operações sobre figuras públicas, muito menos rate limiting por operador. A única validação de entrada é que título de eleitor, nome civil, UF, município, zona e seção coincidam com o cadastro ELO.
Parece suficiente, vou explicar porque não é.
O CPF não é validado de forma independente nesse fluxo. O caso Flávio confirmou isso na prática: o relatório técnico do Missão identificou “divergência entre o CPF informado e o CPF atrelado ao título de eleitor”, e o registro foi aceito mesmo assim. Dado com divergência detectada, filiação efetivada. Validação existia, mas não era bloqueante, era só logging.
Autenticação versus autorização: e lá vamos nós de novo
A correção de 2024 adicionou MFA ao processo de autenticação do operador. Isso é correto e necessário, não é cosmético. Mas o vetor de ataque em ambos os casos é exatamente a ausência de autorização baseada no titular da operação.
(colando aqui aquele meu quadrinho predileto, já presente em outros posts)
Entre proteção e vigilância: o desafio da verificação de idade
·
25 de agosto de 2025

Aprenda nesse post a diferença entre autorização, autenticação e verificação de idade.
A distinção é importante pra quem projeta sistemas de controle de acesso:
→ Autenticação responde: quem está realizando esta ação?
→ Autorização responde: esta entidade tem permissão pra realizar esta ação específica sobre este recurso específico?
O Filia pós 2024 melhorou a resposta à primeira pergunta. A segunda pergunta continua sem resposta estruturada no sistema. Em termos de modelo, o Filia opera em RBAC puro, o famoso Role-Based Access Control. O papel de “Operador” concede permissão de escrita sobre o objeto “registro de filiação” sem qualquer restrição baseada no conteúdo do objeto. RBAC puro é suficiente pra sistemas onde os recursos são homogêneos e todos os operadores têm interesse legítimo em todas as instâncias. Não é suficiente pra um sistema onde escrever um registro cria vínculo jurídico entre o partido e uma pessoa física, sem verificação de que essa pessoa manifestou intenção. Em outras palavras, o dono precisa autorizar.
O modelo correto aqui seria ABAC com “claims” do titular, ou algum equivalente funcional que permita que qualquer operação de filiação tem prova verificável de que o filiado autorizou a vinculação. Queremos aqui o famoso consentimento do titular, e que seja passível de prova. O Missão, ironicamente, já implementou exatamente isso pro fluxo de filiação direta (selfie com documento via e-Título). Construiu o controle certo no canal certo, e deixou o fluxo administrativo interno sem equivalente…
Vamos ao relatório técnico do missão:
O relatório divulgado pelo Missão tem detalhes que vão além da narrativa política. Vou comentar a parte técnica.
O registro foi feito em duas tentativas. A primeira em 2 de agosto às 9h05, com CPF divergente do título. A segunda em 12 de agosto, na modalidade sem contribuição financeira. O sistema aceitou as duas sem alertas. Houve duas tentativas de pagamento via Pix de R$ 4.789,68 que foram recusadas (o fluxo de contribuição financeira tem validação de saída pelo Pix, mas o registro de filiação foi efetivado independentemente do pagamento). O endereço cadastrado foi “Rua dos Bandidos, nº 666, Bairro Miliciano, Rio de Janeiro”, que não existe em nenhuma base pública de logradouros e foi aceito silenciosamente.
Mas o dado mais revelador é este: quando o Missão tentou desfazer a operação, o sistema retornou HTTP 403, “Você não tem permissão para acessar este recurso.” O partido que criou o registro não conseguiu remover o registro que ele mesmo criou.
Isso é consequência do design de estados do Filia. O manual técnico especifica que a exclusão de registros só está disponível pra relações do tipo “Interno” quando ainda não processadas pela Justiça Eleitoral. Uma vez que o registro migra pra relação “oficial”, o partido perde a capacidade de exclusão no módulo externo. Apenas o módulo interno, operado pelo cartório eleitoral, pode agir. O que é bom, porque o cartório eleitoral pode impedir que haja uma deleção não justificada de filiado, e é ruim porque o partido pode ficar sem o contole de deleção dos filiados. E porque? Porque o design presume que registros processados são legítimos.
A gente chama isso de permissão assimétrica: INSERT sem capacidade de DELETE no próprio registro após processamento. Não existe fluxo de contestação rápida para fraude. A arquitetura foi construída pra um mundo sem adversários internos, que é exatamente o modelo de ameaça errado pra infraestrutura eleitoral.
O IP de Belo Horizonte
O relatório técnico do Missão também identificou o IP de origem da requisição: 2804:14c:5bd5:8b29:1ef3:c3f8:cb63:8cec, que é um endereço IPv6 no bloco alocado a provedores brasileiros, geolocalizado em Belo Horizonte, bairro Santo André.
Essa informação dominou o debate político, mas…. Sinto dizer que ela não prova nada sobre a localização física de quem fez a operação.
Um endereço IPv6 de saída pode corresponder a: localização real do dispositivo; servidor VPN com ponto de presença em BH; dispositivo comprometido em BH sendo operado remotamente; endpoint de saída de rede corporativa com NAT64, etc etc. Sejamos criativos pois: o próprio relatório do Missão reconhece que é possível alterar configuração de IP de um servidor de modo que a localização associada ao acesso não corresponda ao local físico. O que o IP prova é que o Filia registra o endereço de saída da requisição HTTP, informação equivalente ao campo REMOTE_ADDR de qualquer servidor web. Isso é necessário mas longe de suficiente pra atribuição de autoria. A investigação da PF vai precisar de correlação com registros do provedor de internet, metadados de sessão do Filia, e dados do e-Título se o MFA foi apresentado corretamente. A geolocalização do IP é um ponto de partida, não uma conclusão. Qualquer declaração sobre “de onde veio” baseada só no IP é especulação, não forensics.
Então, vamos aos fatos:
A parada já tinha acontecido, e o padrão se vê porque o Filia não é um sistema isolado, mas infraestrutura pública digital crítica. Uma filiação fraudulenta processada em período eleitoral pode bloquear candidatura presidencial (como aconteceu), ou registrar alguém em partido com consequências pra elegibilidade futura, sem que o titular saiba ou consinta. É disso que estou falando quando a gente fala “infraestrutura pública digital para democracias”. Esse é o critério central pra dimensionar controles em segurança de sistemas: quando o impacto de uma operação não autorizada é alto, os controles precisam ser proporcionalmente robustos.
E sejamos honestas: nenhum banco abre conta com CPF divergente do nome, ou mantém cadastro sem monitoramento de anomalia por seis meses, ou não deveria. Banco no Brasil não pode deixar o titular sem fluxo de contestação documentado, pois toma multa. Então, vou batizar a próxima sessão de “consultoria de graça”.
❤️ Minha consultoria de graça ❤️
O que seria proporcional:
- Consentimento verificável do titular como pré-requisito de qualquer operação de filiação por via administrativa. TSE precisa exigir pro fluxo administrativo interno dos partidos e ser bem taxativo: zero filiação efetivada sem prova de intenção do titular, seja via app da JE, seja via challenge-response enviado ao e-Título cadastrado do filiado.
- Validação bloqueando, não só logging. CPF divergente do título tem que impedir o cadastro. Endereço sem correspondência em base pública tem que exigir confirmação explícita.
- Fluxo de contestação com SLA definido e suspensão cautelar automática. Quando uma entidade credenciada identifica um registro indevido e o sistema retorna 403, tem que existir um canal de escalada com prazo máximo de resposta e mecanismo de suspensão cautelar do registro enquanto a contestação é processada. O que existe hoje é: ligue pra imprensa, espere a imprensa ligar pro TSE, o presidente do TSE age manualmente. Está tosco.
- Monitoramento de anomalia em tempo real com alertas automáticos. O caso Lula ficou ativo por seis meses porque não havia nenhum monitoramento. Tem lista de pessoas públicas que podem ser utilizadas pra isso. Eu me pegoimaginando o que não deve ter de Anitta filiada à partido por ai…
E, pra finalizar: nenhuma dessas frentes é pesquisa de ponta ou inovação. São decisões de design e de prioridade de roadmap, que algum time de cibersegurança deveria ter modelado. Já tem e-título, o que é uma coisa fantástica. A integração com ELO também já existe. Milagrosamente, já tem log que registrou o IP. O que falta? Um threat model que inclua o adversário interno com credenciais válidas, que é exatamente o vetor que produziu os dois incidentes.
Isso aí é DPI, a famosa infraestrutura pública digital, mas se fosse só infraestrurura seria o equivalente a uma estrada de terra. É bom porque testa essa infraestrutura sobre pressão, pena que a corrida eleitoral já está rolando. Aqui fica o recado pro TSE, seria legal se lessem antes de 2028: o modelo de autorização do Filia vai ser revisado pra incluir consentimento verificável do titular, ou esperamos o terceiro incidente pra chegar lá?
(desculpem mas escrevi esse post com o fígado. Prometo que no próximo serei boazinha)
AHHHH
O incidente mostra que os partidos também não têm controle interno de acesso (quem tem senha, como é revogada, etc.). O post não aprofunda esse lado mas vale dizer que o TSE não pode resolver sozinho se os partidos não tiverem políticas mínimas de segurança. Para os partidos, é bom lembrar que sempre pode rolar um:
- operador mal-intencionado
- operador com credencial roubada
- operador coagido
- sistema comprometido que usa credenciais válidas
Cada um desses exige controles diferentes. O bagulho é doido.






