Recentemente, foi identificado um padrão que merece atenção. Através da comparação de dados anormais, suspeita-se que seja uma variação de um tipo de "ataque de cunhagem inicial".
Primeiro, observe o fenômeno nos dados: após investir 0.001 BNB para comprar, recebe-se 1000 tokens (equivalente a $0.3), mas ao retirar, na verdade, obtém-se 15.000.000 de tokens (valor de $450). Essa diferença de rendimento de 1500 vezes já ultrapassa qualquer desvio normal de slippage ou erro matemático, indicando que há algo mais por trás.
A técnica de ataque mais provável é a chamada direta à função mint. Alguns contratos de tokens de baixa qualidade não implementam verificações de permissão na sua concepção, permitindo que qualquer pessoa chame diretamente a função de cunhagem:
```solidity function mint(address to, uint amount) public { _mint(to, amount); } ```
Assim, o atacante só precisa comprar um pouco de tokens (deixando o endereço registrado), e depois chamar diretamente a função de cunhagem para criar tokens para si mesmo. Por fim, pode usar esses tokens criados do nada para adicionar ou remover liquidez, tudo isso parecendo uma operação normal.
Outra possibilidade é uma vulnerabilidade na taxa de transferência. Alguns tokens aplicam uma taxa de transferência elevada (por exemplo, 20%), onde, na prática, ao transferir 100 tokens de A para B, B recebe 80, e 20 são destruídos. Mas, se o atacante se tornar um provedor de liquidez, o pool pode gerar tokens extras devido a bugs no cálculo da taxa, ao transferir para ele.
Além disso, é preciso ficar atento a ataques de sincronização de saldo. O atacante, após adicionar liquidez, pode secretamente aumentar seu saldo de tokens em outro lugar, e ao remover a liquidez, consegue retirar mais valor do que realmente possui.
Todos esses métodos envolvem distorcer a lógica do contrato para agir de má-fé. A prevenção fundamental depende da qualidade da auditoria do contrato de tokens e de uma implementação adequada do controle de permissões.
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
7 gostos
Recompensa
7
5
Republicar
Partilhar
Comentar
0/400
BlockImposter
· 01-04 21:48
1500x? Caramba, estes números são ridículos, com certeza uma vulnerabilidade de mint ou um bug de impostos a fazerem estragos
----
Mais um contrato de merda com verificações de permissão mal feitas, já deviam ter feito esses desenvolvedores aprenderem a programar na blockchain
----
Este esquema é brutal, criar tokens e depois retirar liquidez na mão, os comuns nem percebem
----
Tantas falhas na taxa de transferência? Parece que a maioria dos projetos nem pensou nisso
----
Resumindo, a auditoria é mesmo fundamental, pena que a maioria das novas moedas simplesmente são lançadas sem mais nem menos
----
Nunca tinha pensado na vulnerabilidade de ataque de sincronização de saldo, por isso é que sempre há alguém ganhando dinheiro sem motivo aparente
----
Código do contrato assim, colocado como público? Alguém realmente tem coragem de escrever assim ou sou eu que sou ingênuo?
----
Lembre-se dessas táticas, na próxima vez que olhar um projeto, primeiro verifique o controle de permissões antes de investir
----
Caramba, então aqueles que sobem 10x assim que lançam provavelmente já foram hackeados? Ou sou eu que sou muito ruim e não percebi
Ver originalResponder0
FalseProfitProphet
· 01-04 21:47
Ai, mais uma vulnerabilidade na função mint, já vi esse truque muitas vezes, é o padrão de um mercado que vai à falência
Diferença de 1500 vezes? Basta fazer mint para criar moedas, até a auditoria do contrato pode ser dispensada
Ver originalResponder0
WagmiWarrior
· 01-04 21:45
哎呦,1500倍?Isso só pode acontecer com um contrato tão ruim, a verificação de permissões é só fachada
---
A função mint é pública, isso é realmente inacreditável, é um absurdo
---
Portanto, contratos de pequenas moedas são toda uma formalidade, já deviam ter sido revogados
---
Nunca tinha ouvido falar do bug na taxa de transferência, que desenvolvedor tão insano teria essa ideia
---
Com tantos bugs nos contratos, mineração de liquidez é realmente uma aposta, quem diz que há rendimento está a brincar
---
Não admira que recentemente haja tantas denúncias de shitcoins, afinal, todos estão a usar esses truques
---
Se o controle de permissões não foi feito corretamente, como ousam lançar, esse desenvolvedor está a sério?
---
1500 milhões de tokens do nada, isso não é uma máquina de imprimir dinheiro, é uma ironia
---
Por isso, as novas moedas ainda precisam de um relatório de auditoria, senão é como brincar com fogo
---
A combinação de taxa de transferência e vulnerabilidade de permissões vai acabar por prejudicar muitos investidores pequenos
Ver originalResponder0
MEVHunterNoLoss
· 01-04 21:37
Caramba, 1500x? Que contrato tão mau será esse, nem verifica de permissões?
Ver originalResponder0
RunWhenCut
· 01-04 21:22
Cheng, este conjunto outra vez? A Mint não tem autoridade para verificar, é realmente incrível, à primeira vista, é um contrato de lixo gerado aleatoriamente por um indiano
---
1500 vezes? Irmão, isto não é uma brecha, isto é roubar dinheiro abertamente
---
O imposto de transferência é ainda mais absurdo, e assim que o bug da piscina aparece, transforma-se diretamente numa máquina de imprimir dinheiro, e parece que há novos truques todas as semanas
---
Auditoria? Revisão P, a maioria dos projetos reluta em gastar dinheiro, está bem?
---
Por isso é que só comprei tokens que já foram avaliados mais de duas vezes, e não toco nos outros, por mais alto que seja o APY
Recentemente, foi identificado um padrão que merece atenção. Através da comparação de dados anormais, suspeita-se que seja uma variação de um tipo de "ataque de cunhagem inicial".
Primeiro, observe o fenômeno nos dados: após investir 0.001 BNB para comprar, recebe-se 1000 tokens (equivalente a $0.3), mas ao retirar, na verdade, obtém-se 15.000.000 de tokens (valor de $450). Essa diferença de rendimento de 1500 vezes já ultrapassa qualquer desvio normal de slippage ou erro matemático, indicando que há algo mais por trás.
A técnica de ataque mais provável é a chamada direta à função mint. Alguns contratos de tokens de baixa qualidade não implementam verificações de permissão na sua concepção, permitindo que qualquer pessoa chame diretamente a função de cunhagem:
```solidity
function mint(address to, uint amount) public {
_mint(to, amount);
}
```
Assim, o atacante só precisa comprar um pouco de tokens (deixando o endereço registrado), e depois chamar diretamente a função de cunhagem para criar tokens para si mesmo. Por fim, pode usar esses tokens criados do nada para adicionar ou remover liquidez, tudo isso parecendo uma operação normal.
Outra possibilidade é uma vulnerabilidade na taxa de transferência. Alguns tokens aplicam uma taxa de transferência elevada (por exemplo, 20%), onde, na prática, ao transferir 100 tokens de A para B, B recebe 80, e 20 são destruídos. Mas, se o atacante se tornar um provedor de liquidez, o pool pode gerar tokens extras devido a bugs no cálculo da taxa, ao transferir para ele.
Além disso, é preciso ficar atento a ataques de sincronização de saldo. O atacante, após adicionar liquidez, pode secretamente aumentar seu saldo de tokens em outro lugar, e ao remover a liquidez, consegue retirar mais valor do que realmente possui.
Todos esses métodos envolvem distorcer a lógica do contrato para agir de má-fé. A prevenção fundamental depende da qualidade da auditoria do contrato de tokens e de uma implementação adequada do controle de permissões.