Back to Blog

Nossa Breve Análise da Vulnerabilidade da Ferramenta de Profanidade

Code Auditing
21 de setembro de 2022
5 min read

A Wintermute foi explorada com uma perda de mais de 160M. A causa raiz é que a chave privada do projeto Wintermute foi comprometida devido a uma vulnerabilidade na ferramenta Profanity, que foi utilizada pela Wintermute para gerar a chave privada e a conta Ethereum.

Neste blog, descreveremos a causa raiz da vulnerabilidade no Profanity e como ela pode ser explorada.

O Endereço Ethereum

O endereço Ethereum é gerado a partir do hash Keccak-256 da chave pública e é representado como números hexadecimais. A chave pública é gerada a partir da chave privada usando multiplicação de curva elíptica, que é irreversível. Podemos obter uma chave pública a partir de uma chave privada. No entanto, não podemos obter a chave privada a partir de uma chave pública sem força bruta. Note que o comprimento da chave privada é de 256 bits. Dada uma chave pública, você precisa de no máximo 2^256 cálculos para encontrar a chave privada correspondente.

Em resumo, a relação entre a chave privada/pública e o endereço Ethereum é mostrada na figura a seguir.

A Causa Raiz da Vulnerabilidade

O objetivo do Profanity é encontrar um endereço Ethereum especial, por exemplo, onde os cinco primeiros números do endereço sejam zero. Para isso, o Profanity utiliza o seguinte método.

A implementação detalhada pode ser ligeiramente diferente.

Note que o comprimento da private_key é de 256 bits (2^256 valores diferentes). No entanto, há uma vulnerabilidade na geração da chave privada. Especificamente, a semente (no passo 1) tem apenas 32 bits, e o processo desde a semente no passo 1 até a private_key no passo 2 é determinístico.

Qual é o impacto de segurança aqui?

Como Explorar

Digamos que temos um endereço Ethereum com muitos ativos valiosos. Se pudermos obter sua chave privada, podemos assumir o controle desta conta e transferir todos os ativos. No entanto, como discutido anteriormente, precisaríamos fazer força bruta em todo o espaço 2^256 para encontrar a chave privada, o que é praticamente impossível.

Mas e se o endereço Ethereum foi gerado pela ferramenta Profanity? Podemos usar força bruta para localizar a chave privada com uma dificuldade muito menor. Precisamos apenas especificar a semente de 0 a 2^32-1 e repetir o mesmo processo até localizar a chave privada que pode gerar a mesma chave pública (e o endereço Ethereum). Como precisamos de no máximo 2^32 * loop_threashold cálculos, isso é viável em algumas horas ou dias/semanas com um cluster de GPU poderoso.

No entanto, este ainda é um algoritmo otimizado. Você pode consultar o artigo da Slowmist para mais detalhes.

Conclusão

Tornar um projeto DeFi seguro não é uma tarefa fácil. Além da auditoria de código, acreditamos que a comunidade deve adotar uma abordagem proativa para monitorar o status do projeto e bloquear o ataque antes mesmo que ele ocorra.

Sobre a BlockSec

A BlockSec é uma empresa pioneira em segurança blockchain estabelecida em 2021 por um grupo de especialistas em segurança de renome mundial. A empresa está comprometida em aprimorar a segurança e a usabilidade para o emergente mundo Web3, a fim de facilitar sua adoção em massa. Para isso, a BlockSec oferece serviços de auditoria de segurança para contratos inteligentes e chains EVM, a plataforma Phalcon para desenvolvimento seguro e bloqueio proativo de ameaças, a plataforma MetaSleuth para rastreamento e investigação de fundos, e a extensão MetaSuites para construtores web3 que navegam com eficiência no mundo cripto.

Até o momento, a empresa atendeu mais de 300 clientes ilustres, como MetaMask, Uniswap Foundation, Compound, Forta e PancakeSwap, e recebeu dezenas de milhões de dólares americanos em duas rodadas de financiamento de investidores de destaque, incluindo Matrix Partners, Vitalbridge Capital e Fenbushi Capital.

Site oficial: https://blocksec.com/

Conta oficial no Twitter: https://twitter.com/BlockSecTeam

Sign up for the latest updates
Perdas de ~5,57 milhões USD: exploração de falhas no X100 Freezer e no NEM | Boletim semanal da BlockSec
Security Insights

Perdas de ~5,57 milhões USD: exploração de falhas no X100 Freezer e no NEM | Boletim semanal da BlockSec

Este relatório semanal aborda dois incidentes de segurança na Ethereum e na BNB Chain no período de 19/10/2026–25/10/2026. Ele examina uma tomada de controle da governança do X100 Freezer financiada por um empréstimo-relâmpago e uma falha na liquidação de impostos que afetou um pool de liquidez de um token NEM na BNB Chain. As perdas estimadas no escopo do relatório totalizam aproximadamente 5,57 milhões USD: cerca de 4,75 milhões USD da transação representativa do X100 e cerca de 820 mil USD do incidente no pool do NEM. O total exclui as extrações subsequentes do X100 relatadas separadamente.

Perdas de ~3,87 milhões USD: ataques à Autheo Network e à UNCX | Resumo semanal da BlockSec
Security Insights

Perdas de ~3,87 milhões USD: ataques à Autheo Network e à UNCX | Resumo semanal da BlockSec

Este relatório semanal aborda 3 incidentes de segurança no período de 12/10/2026–18/10/2026, com perdas totais estimadas em aproximadamente 3,87 milhões USD. A Autheo Network sofreu um comprometimento de chave privada com perdas de cerca de 1,76 milhões USD, a Qubic Wallet perdeu cerca de 1,30 milhões USD devido à geração de seeds fracas, e os contratos Smart Token Vesting V2 da UNCX Network sofreram um erro contábil de cerca de 807 mil USD nas redes Ethereum, BNB Chain, Base e Robinhood Chain. A análise em destaque da UNCX explica como um cálculo incorreto do total de cotas misturou parcelas de vesting criadas com diferentes proporções entre tokens e cotas, permitindo saques acima do devido de pools compartilhados.

~US$ 542 mil perdidos: ataque ao MakerDaoBot | Boletim semanal da BlockSec
Security Insights

~US$ 542 mil perdidos: ataque ao MakerDaoBot | Boletim semanal da BlockSec

O relatório cobre 1 incidente no Ethereum (05–11/10/2026), com perda estimada de US$ 542 mil. Um adaptador malicioso obteve acesso aos saldos MakerDAO via função desprotegida do MakerDaoBot, liquidou 4 leilões ETH-A e converteu 200 ETH-A em WETH, depois enviados como ETH ao atacante.

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit