Meteor Honeypot
What happened
Meteor (METEOR, contract 0xfb1f5ec0…a80e70 on BNB Smart Chain) overrides the internal _approve so that only one hard-coded address, 0xB0fA09bc…68c854 (also the deployer and on-chain owner), gets a real allowance. For every other holder approve succeeds but stores an allowance of 0, so a router transferFrom that sells their tokens reverts on the allowance check. Buys do not need an allowance.
De.Fi's REKT database lists METEOR as an Exit Scam/Honeypot on 2021-04-12 and describes the owner as able to disable transfers so users could not sell.
How it happened
- The deployer receives the whole supply:
_balances[msg.sender] = _totalSupply;. _approvebranches on the token owner:if (owner == address(0xB0fA09bc7EAE1c8a694cE0021ed255823768c854)) { _allowances[owner][spender] = amount; ... } else { _allowances[owner][spender] = 0; emit Approval(owner, spender, 0); }. The hard-coded address equals the deployer shown in meta.json.- A holder who approves the router does not revert:
approvecalls_approve, which stores 0 and emitsApproval(owner, spender, 0). - To sell, the router calls
transferFrom, which runs_approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "BEP20: transfer amount exceeds allowance"));. The stored allowance is 0, sosubreverts for any positive amount and undoes the balance move made by_transferearlier in the same call.increaseAllowancealso routes through_approveand cannot raise the allowance. - Buys do not use
transferFromfrom the buyer, so they are unaffected. The hard-coded address can approve normally and so keeps a working exit path. - The contract also has
function mint(uint256 amount) public onlyOwner, which lets the owner create supply.
Protocol details
Evidence
- report @Token_Sniffer incident report twitter.com
- report De.Fi REKT database listing for METEOR twitter.com
- address Meteor (BEP20Token) verified source on BscScan bscscan.com
- analysis Sourcify repository entry for Meteor repo.sourcify.dev
- analysis Scam explained: BSC no-approval (cryptot3ddybear) cryptot3ddybear.gitlab.io
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.