Kleeka Inu Honeypot
What happened
De.Fi's REKT database lists Kleeka Inu (Kleeka) as an Exit Scam/Honeypot and says the contract owner could disable the transfer function, which restricted users in selling their tokens. The verified source at 0x5e14b18d…d1cf7f on BNB Smart Chain shows the mechanism: transferFrom, the function a router uses to pull tokens from a seller, requires allow[_from] == true, and only the deployer is set to true at construction. Plain transfer has no such check.
The owner address is also hard-coded in the onlyOwner modifier and can switch any holder's flag and overwrite any balance.
How it happened
- The constructor sets the deployer as the only allowed address:
balances[msg.sender] = totalSupply;andallow[msg.sender] = true;. Theallowmapping ismapping(address => bool) public allow;, so every other address defaults tofalse. transferFrom(address _from, address _to, uint256 _value)containsrequire(allow[_from] == true);. A sale through a DEX router pulls the tokens withtransferFrom(holder, pair, amount), so_fromis the holder, whose flag isfalse, and the call reverts even when the balance and the allowance are sufficient.transferonly hasrequire(_to != address(0));andrequire(balances[msg.sender] >= _value);, so direct wallet-to-wallet transfers are not affected by the flag.- The owner can change who is allowed:
function addAllow(address holder, bool allowApprove) external onlyOwner { allow[holder] = allowApprove; }. The modifier ismodifier onlyOwner() {require(msg.sender == address(0xf560Dc23a6C4F4Ff35A5942335c1c9A72Cc1Ee47));_;}, a hard-coded address that equals the deployer in the deployment record;transferOwnershipupdates theownervariable but the modifier does not read it. - The owner can also rewrite balances:
function mint(address miner, uint256 _value) external onlyOwner { balances[miner] = _value; }sets an address's balance to any value without touchingtotalSupply. - What happened is limited to the listing: De.Fi's REKT database lists the token as an Exit Scam/Honeypot. No transaction, loss figure or liquidity record was opened, so the code shows how sells could be blocked, not which holders were affected or whether
addAllowormintwas ever called.
Protocol details
Build your security review skills
Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.