
Na última sexta-feira, nosso sistema de monitoramento detectou um ataque ao contrato inteligente da coin98 (0x8aaf408e06feed6a6a6182ea3c464035748b9b31 — o contrato vítima) na BSC. Imediatamente enviamos uma mensagem direta ao proprietário do projeto pelo Twitter, mas não obtivemos resposta. Como a vulnerabilidade ainda existia naquele momento, decidimos não torná-la pública. Então, algumas horas depois, descobrimos que o proprietário do projeto havia criado um novo contrato que corrigiu a vulnerabilidade. Sendo assim, é seguro para nós resumirmos a vulnerabilidade e a correção aqui.
Transação de ataque e a causa raiz
A transação identificada pelo nosso sistema de monitoramento interno chamou nossa atenção. Após uma investigação cuidadosa, confirmamos que ela se deve ao controle de acesso do parâmetro route (que representa o roteador de fato) na função swapExactTokensForTokens, conforme a seguir:

Este contrato confiou cegamente no route e então invocou a função swapExactTokensForTokens do roteador. Antes disso, ele aprova todos os tokens pertencentes ao contrato vítima para o route. No entanto, o route pode ser fornecido pelo atacante. Nesse caso, o atacante pode transferir todos os tokens da vítima para si mesmo e, em seguida, trocá-los por WBNB para obter lucro.
A seguir está uma das transações de ataque.

A correção silenciosa da vulnerabilidade
Enviamos uma mensagem direta ao proprietário do projeto no Twitter na última sexta-feira, mas não obtivemos resposta. Em seguida, verificamos novamente o contrato hoje e descobrimos que um novo contrato inteligente (0x83f25d16bdf91f51120032f264dad0e1ab1c8227) foi implantado. Este novo contrato possui uma lista de permissões para o route:

Conclusão
Já vimos muitos casos em que o parâmetro passado é cegamente confiado pelo contrato inteligente. Isso DE FATO cria uma grave falha de segurança.
NÃO CONFIE EM NENHUM PARÂMETRO QUE ESTEJA FORA DO SEU CONTROLE!
Sobre a BlockSec
A BlockSec é uma empresa pioneira em segurança blockchain, fundada 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 de contratos inteligentes e cadeias 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 navegarem 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 proeminentes, incluindo Matrix Partners, Vitalbridge Capital e Fenbushi Capital.
Site oficial: https://blocksec.com/
Conta oficial no Twitter: https://twitter.com/BlockSecTeam



