Bull Honeypot
What happened
Bull (symbol BullTerrier) at 0xf997b7d9…54fee6 on BNB Smart Chain is a BEP20 token with a recipient lock in its transfer functions. transferFrom stores the recipient of the first call that arrives while newun is unset, and from then on both transfer and transferFrom revert with please wait for any transfer to that stored address. If the captured address is the liquidity pool, holders cannot sell through it.
The owner can reassign newun with transfernewun. De.Fi's REKT database lists the token as an Exit Scam/Honeypot and describes it as the contract owner being able to disable the transfer function, which restricted users in selling their tokens; no loss figure is given.
How it happened
What the code allows:
- The constructor mints the whole supply,
1000000000000000000raw units with 8 decimals (10 billion tokens), to the deployer, who isowner. newunstarts as the zero address. The firsttransferFromcall with a non-zerofromhitsif(from != address(0) && newun == address(0)) newun = to;, so the recipient of that call is stored asnewunand the transfer itself goes through. This is the call a router makes when it pulls tokens from the owner to add liquidity, so the pool would be the stored address in that case; the code itself does not name it.- Every later
transferFromtakes theelse require(to != newun, "please wait");branch, andtransferstarts withrequire(to != newun, "please wait");. Any transfer whose recipient isnewunreverts, including a holder's sell into a stored pool address. Balances are untouched because the revert comes before the debit. Transfers out ofnewun, such as buys, are not checked. - Nothing exempts the owner or any other address from this check.
- The owner can call
transfernewun(address _newun)(onlyOwner). Pointing it at an unused address lifts the block for the real pool; setting it to the zero address re-arms the capture so that the nexttransferFromstores a new recipient. clearCNDAOlets the owner send the contract's own native-coin balance to itself.
De.Fi's REKT database lists the token as an Exit Scam/Honeypot. No transaction showing the first transferFrom, a failed sell, or any call to transfernewun was opened.
Protocol details
Evidence
- report @Token_Sniffer incident report twitter.com
- report De.Fi REKT database listing for BullTerrier (text as recorded in meta.json; Token Sniffer tweet link returned 404 via fxtwitter) twitter.com
- address BscScan verified source, Bull (BullTerrier) bscscan.com
- analysis Sourcify repository entry repo.sourcify.dev
- analysis Scam explained: BSC stealthy LP block (cryptot3ddybear) cryptot3ddybear.gitlab.io
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.