TECRA Hack
Incident Overview
The exploiter's address:
https://etherscan.io/address/0xb19b7f59…e9c299
The transaction behind the exploit:
https://etherscan.io/tx/0x81e9918e…631154
The attacker:
- approved a big number of tokens to the Uniswap pool
- bought 101 TCR from the pool
- used the loophole to burn the TCR owned by the pool, increasing the TCR price
- used the bought TCR to take away a lot of USDT
Wrong implementation:
function burnFrom(address from, uint256 amount) external {
require(_allowances[msg.sender][from] >= amount, ERROR_ATL);
Correct one:
require(_allowances[from][msg.sender] >= amount, ERROR_ATL);
The actual token implementation allows any account A to burn tokens from any other account B if account A approves that number of tokens to B.
The part of the stolen funds was deposited into Tornado Cash mixer, and the rest holds on the exploiter's address:
https://bloxy.info/txs/transfers_from/0xb19b7f59…e9c299?currency_id=1
Incident Report
Protocol Information
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 TECRA, these are the critical security checks that could have prevented this incident (February 2022).
- 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
-
01
Source 1 https://archive.is/gfc3F
- 02
Learn to Prevent the Next TECRA
The TECRA 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.