FutureBase.Finance Rug Pull

Reported loss $4K
Ethereum
Rugpull

What happened

FutureBase.Finance (FBASE) is a token whose renounceOwnership() function does not give up ownership. The function is onlyOwner and adds 100,000,000 tokens to the caller's balance (_vOwned[_msgSender()] = _vOwned[_msgSender()].add(feetokens)), while _owner is left unchanged and _totalSupply is not increased. The initial supply was 100,000 tokens, so the owner could credit itself a balance one thousand times larger than everything that existed at launch.

Etherscan shows the deployer 0x854e48c1…06f7b0 added liquidity at 03:20 UTC on 2020-12-22 (100,000 FBASE and 50 ETH, tx 0xfd6d5756…f72712), called renounceOwnership() at 04:51 UTC (tx 0xdf787578…268902), and about a minute later swapped 100M FBASE for 56.7317 WETH through Uniswap V2 (tx 0x8cce4238…73c223). De.Fi's REKT database lists the incident as an exit scam / rug pull with 4,272 USD lost.

How it happened

  1. The deployer holds the whole initial supply: initialize sets _vOwned[_msgSender()] = initialSupply with initialSupply = 100000000000000 raw units (100,000 tokens at 9 decimals).
  2. The contract defines its own renounceOwnership(): function renounceOwnership() public virtual onlyOwner { _vOwned[_msgSender()] = _vOwned[_msgSender()].add(feetokens); }, with feetokens = 100000000 * 10 ** DECIMALS. The function body never writes _owner, so the owner stays in control, and it credits the caller 100,000,000 tokens without touching _totalSupply.
  3. The deployer added 100,000 FBASE and 50 ETH to a Uniswap V2 pool at 03:20 UTC on 2020-12-22, which created the FBASE/WETH pool the later swap drew on.
  4. At 04:51 UTC the deployer called renounceOwnership() (transaction succeeded). Under the code above this credits the caller's balance with 100,000,000 FBASE.
  5. At 04:52 UTC the deployer sold 100M FBASE for 56.7317 WETH in a single swapExactTokensForETH call on Uniswap V2.

Protocol details

Classification Token
Protocol Type Exit Scam/Rugpull
Affected asset / contract FBASE

Build your security review skills

Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.