ChainSwap Hack

Reported loss $800K
BNB Chain Ethereum
Other

What happened

The attacker's wallet:

Token transfers 0x941a…8a9c

For cross-chain transfers, each token has its own proxy contract, with the implementation pointing to the Factory contract. The hacker used the Factory contract's receive() method. The attacker was required to pay a fee of 0.005 ETH in _chargeFee. There are no real authentication checks, and just one signature is necessary. To get around this, the attacker simply signed signatures with new addresses each time. In the _receive() function, the volume argument is subsequently sent to the attacker's address.

Protocol details

Classification Bridge / Bridge & Cross-Chain
Protocol Type Exploit/Other
Category Bridge Hack
Affected asset / contract ASAP
Implementation language Solidity
Protocol links Website @chain_swap

Build your security review skills

Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.