← Últimos artigos
💻 computer science

zkFuzz: Foundation and Framework for Effective Fuzzing of Zero-Knowledge Circuits

Este artigo apresenta o zkFuzz, um novo framework de fuzzing baseado em mutação fundamentado no Teste de Consistência de Restrições de Rastreamento (TCCT), que detecta efetivamente vulnerabilidades sub e super-restritas em circuitos de conhecimento zero ao superar as limitações das ferramentas existentes de análise estática e formal.

Autores originais: Hideaki Takahashi, Jihwan Kim, Suman Jana, Junfeng Yang

Publicado 2026-05-26
📖 5 min de leitura🧠 Leitura aprofundada

Autores originais: Hideaki Takahashi, Jihwan Kim, Suman Jana, Junfeng Yang

Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine que você está construindo um cofre mágico que prova que você conhece uma senha secreta sem nunca realmente mostrar a senha. É isso que os "circuitos de Conhecimento Zero (ZK)" fazem no mundo digital. Eles são os guardas de segurança para tecnologias que preservam a privacidade, como criptomoedas anônimas e sistemas de votação seguros.

No entanto, construir esses cofres é incrivelmente complicado. Se você cometer um erro minúsculo nos projetos, o cofre pode:

  1. Deixar qualquer um entrar (mesmo que não conheçam a senha).
  2. Trancar o verdadeiro dono (mesmo que ele tenha a senha correta).

O artigo apresenta uma nova ferramenta chamada ZKFUZZ para encontrar esses erros antes que agentes mal-intencionados o façam. Veja como funciona, explicado de forma simples:

O Problema: O "Projeto" vs. A "Realidade"

Nesses sistemas, os desenvolvedores escrevem um programa que faz duas coisas ao mesmo tempo:

  • O Cálculo: A matemática real para descobrir o segredo (como calcular uma rota em um mapa).
  • As Restrições: As regras que provam que a matemática foi feita corretamente (como uma lista de verificação para confirmar que a rota existe).

O problema é que essas duas partes frequentemente ficam dessincronizadas.

  • Sub-restrito: As regras são muito frouxas. Um hacker pode enganar o sistema para aceitar uma rota falsa.
  • Sobre-restrito: As regras são muito rígidas. O sistema rejeita uma rota perfeitamente válida por causa de uma regra minúscula e desnecessária.

As ferramentas existentes para encontrar esses erros são como verificadores de ortografia ruins. Eles chutam com base em padrões e gritam "ERRO!" para coisas que estão realmente bem (falsos positivos), ou ignoram completamente erros profundos e complexos.

A Solução: ZKFUZZ (O "Mutador Fuzzer")

Os autores criaram um novo framework chamado ZKFUZZ. Em vez de apenas ler o código, o ZKFUZZ age como um engenheiro de testes travesso que tenta quebrar o sistema de propósito.

Veja a analogia:
Imagine que você tem uma receita (o cálculo) e um teste de degustação (as restrições).

  • Ferramentas Antigas: Olham para a receita e dizem: "Isso parece suspeito porque usa sal." (Elas chutam com base em regras).
  • ZKFUZZ: Na verdade, cozinha o prato, mas depois muta a receita. Troca "açúcar" por "sal" ou altera o tempo de cozimento. Em seguida, serve esse prato mutado ao teste de degustação.
    • Se o teste de degustação disser: "Delícia!" para um prato que deveria ter gosto horrível (porque a receita foi alterada), o ZKFUZZ sabe que as regras estão muito frouxas (Sub-restrito).
    • Se o teste de degustação disser: "Nojo!" para um prato que deveria ser delicioso (porque a receita original estava correta), o ZKFUZZ sabe que as regras estão muito rígidas (Sobre-restrito).

O Segredo: "Aptidão" e "Focalização"

Encontrar um erro em um circuito ZK é como encontrar uma agulha em um palheiro do tamanho de um planeta. Os números envolvidos são tão enormes que um computador não pode simplesmente tentar todas as possibilidades.

O ZKFUZZ usa um Algoritmo Genético (como a evolução):

  1. Mutação: Cria milhares de versões levemente quebradas do programa.
  2. Pontuação de Aptidão: Avalia essas versões quebradas. Se uma versão quebrada chega perto de passar no teste (mesmo que falhe), ela recebe uma "boa pontuação". Isso diz ao sistema: "Você está ficando mais quente!"
  3. Focalização: Não chuta aleatoriamente. Sabe que erros frequentemente ocorrem em "casos extremos" (como quando os números são zero ou extremamente grandes). Especificamente, tenta alimentar o sistema com esses números complicados para ver se ele quebra.

Os Resultados: Pegando o Invisível

A equipe testou o ZKFUZZ em 452 circuitos do mundo real usados em projetos atuais.

  • A Pontuação: Encontrou 85 erros.
  • Os Zero-Days: 59 deles eram erros totalmente novos e desconhecidos (Zero-Days) que ninguém sabia que existiam.
  • O Impacto: 39 deles foram confirmados pelos desenvolvedores, e 14 já foram corrigidos. Isso inclui erros em grandes projetos como zkSync (uma plataforma de criptomoedas) e passport-zk-circuits (sistemas de identidade digital).
  • Sem Falsos Alarmes: Diferente de outras ferramentas, o ZKFUZZ não sinalizou nada como erro que não fosse realmente um erro.

Por Que Isso Importa

O artigo argumenta que as ferramentas anteriores estavam perdendo uma grande parte do problema. Elas apenas procuravam por "aleatoriedade" nas regras. O ZKFUZZ introduziu uma nova teoria chamada TCCT (Teste de Consistência Rastreio-Restrição), que verifica se o caminho real que o computador percorre corresponde às regras que ele deveria seguir.

Essa nova teoria pegou erros que ocorriam quando o computador "travava" ou parava inesperadamente, algo que as ferramentas anteriores ignoravam completamente.

Em Poucas Palavras

O ZKFUZZ é um "caçador de erros" inteligente e automatizado que quebra circuitos de Conhecimento Zero mutando seu código e alimentando-os com entradas complicadas. Ele encontrou dezenas de falhas de segurança críticas que outras ferramentas perderam, provando que, mesmo no mundo complexo da matemática da privacidade, um pouco de caos controlado é a melhor maneira de encontrar a verdade.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →