ChainSwap Hack
Incident Overview
The attacker's wallet:
https://etherscan.io/address/0x941a9e3b…e88a9c#tokentxns
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.
Incident Report
Protocol Information
Market Context at Time of Hack
What the Attacker Needed to Succeed
Understanding the prerequisites for this type of attack helps auditors identify protocols that are most at risk and helps developers build better defenses.
What Auditors Should Check
If you're auditing a protocol with similar architecture to ChainSwap, these are the critical security checks that could have prevented this incident (July 2021).
- Verify all logic paths related to Other are guarded by proper access controls and input validation
- Review privileged functions (owner, admin, governance) for potential abuse vectors - centralization risks should be documented and bounded with timelocks or multi-sigs
Master these auditing techniques with hands-on labs and real exploit scenarios in the Smart Contract Hacking course.
Free TrialSources & References
Learn to Prevent the Next ChainSwap
The ChainSwap hack is one of many attacks that skilled auditors are trained to detect before deployment. Master real exploit patterns and defense techniques with hands-on Web3 security training.