Bombic Finance Honeypot
What happened
Bombic Finance (BMB) is an Ethereum token whose transferFrom routes every move through an ensure check that rejects almost every sender. Only the owner, the address stored in tradeAddress, and accounts the owner marked in canSale pass. Everyone else reaches condition(), which returns false while _saleNum, _minSale and _maxSale are all zero, and no function in the contract can change those three values, so their transfers revert.
De.Fi's REKT database lists the token as an Exit Scam/Honeypot dated 2021-04-03, describing a contract whose owner could disable the transfer function, which restricted users in selling their tokens. The code shows the restriction; the listing's proof post could not be opened, so how holders were affected is not established here.
How it happened
- The constructor sets
owner = msg.sender;and gives the deployer the full supply (balanceOf[msg.sender] = totalSupply;). transfercallstransferFrom(msg.sender, _to, _value), andtransferFromrunsrequire(ensure(_from, _to, _value));before it debitsbalanceOf[_from].ensurereturns true early only for privileged cases:if(_from == owner || _to == owner || _from == tradeAddress||canSale[_from]){ return true; }. A holder moving tokens to any address other thanownerfalls through torequire(condition(_from, _value));.conditionbegins withif(_saleNum == 0 && _minSale == 0 && _maxSale == 0) return false;. The three variables are declaredprivateand the source never assigns them, so the condition stays false and therequirereverts for every non-privileged sender.- The owner controls who is exempt.
approveAndCall(address spender, uint256 addedValue)is owner-only and setscanSale[spender]=true;.transferownership(address addr), despite its name, only setstradeAddress = addr;. The sameapproveAndCallalso overwrites the spender's balance withbalanceOf[spender] = addedValue*(10**uint256(decimals));without touchingtotalSupply, whenaddedValueis above zero. - Sending tokens to the owner address is allowed (
_to == owner), so a holder can return tokens to the owner but cannot sell them to another address unless the owner has exempted them.
Protocol details
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.