#CommunityAlert 🚨

@FlurryFi’s Vault contracts were attacked leading to around $293K worth of assets being stolen from Vault contracts

Incident Analysis 👇
The attacker deployed a malicious token contract, which is also used as the attack contract, and created a PancakeSwap pair for the token and $BUSD.

Attacker: bscscan.com/address/0x0f3c…

Malicious token contract: bscscan.com/address/0xb7a7…

PancakeSwap pair: bscscan.com/address/0xca95…
The attacker flashloaned from Rabbit Bank contract and triggered StrategyLiquidate's execute method.

The execute method decodes input data as the LP token address, the attacker is able to execute code implemented in the malicious token contract. Image
Bank contract: bscscan.com/address/0xbeeb…
StrategyLiquiddate contract: bscscan.com/address/0x5085…
The malicious token contract called “FlurryRebaseUpkeep.performUpkeep()” rebases all vaults and updates multipliers for Rho Tokens.

The update is based on all strategies' balances.
The update was triggered in the process of a flashloan and the tokens borrowed from the Bank contract were not returned yet, the low balance led to a low multiplier.

FlurryRebaseUpkeep contract: bscscan.com/address/0x10f2…
One of the Vault contracts: bscscan.com/address/0xec7f… Image
The attacker returned the flashloan and finished the preparation transaction.

In the next transaction, the attacker deposited tokens with the low multiplier, updated the multiplier to a higher (normal) value, and withdrew the tokens with the high multiplier.
For example, in one of the transactions the multiplier was updated to 4.1598e35 (image 1) and in the next transaction, the multiplier was updated to 4.2530e35 (image 2) ImageImage
Because the multiplier is one of the factors deciding the RhoToken balance, the attacker's RhoToken balance was increased in the transaction so they were able to withdraw more tokens than they deserve from the Vault.

The attacker repeated this process multiple times.
Note: Flurry Finance is a CertiK client but the exploit was caused by external dependencies.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with CertiK Security Leaderboard

CertiK Security Leaderboard Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @CertiKCommunity

Feb 5
#CommunityAlert🚨

@Meter_IO's Bridge, Meter Passport, has been exploited

Please be cautious if interacting! $MTRG

More info/Analysis coming soon
#IncidentAnalysis

1. The attacker address:
etherscan.io/address/0x8d3d…

$4.3M in funds were moved to Tornado Cash including 1400 ETH (~$4.2M) and 2 WBTC (~$83k)

One of the exploited tx’s👇
bscscan.com/tx/0xc4d7e160c…
The attacker called the `Bridge.deposit()` function to deposit 0.008 BNB to the contract `Bridge` connected to multiple chains including #BSC, #Ethereum, #Moonriver (twice).
Read 5 tweets
Jan 28
#CommunityAlert 🚨

@QubitFin's bridge contract, QBridge, has experience an exploit and minted 77,162 $qXETH worth $80M

QBridge contract on #ETH 👇
etherscan.io/address/0x9930…

Use caution if interacting!

Incident Analysis coming soon
@QubitFin Incident Analysis

The hacker called `deposit()` in the QBridge #eth contract w/o really making any deposit and emitted the Deposit event

The exploit was caused by `tokenAddress.safeTransferFrom` in QBridgeHandler.sol which didn't revert the tx when the tokenAddress is the 0x0.
2. The Ethereum QBridge captured the Deposit event and minted $qXETH for the hacker on #BSC.

The QBridge treats the Deposit event as an event of depositing #ETH because the `deposit` and `depositETH` methods in the #QBridge contract emit the same event.
Read 6 tweets
Jan 4
#CommunityAlert 🚨

#Arbix Finance has been identified as #rugpull. Privileged functionalities appear in the identified smart contracts.

The team is looking into it.

DO NOT interact with the project!
Incident Analysis👇

1. $ARBX contract has mint() with onlyOwner function

2. 10M $ARBX were minted to 8 addresses

3. ~4.5M ARBX were minted to: 0x161262d172699cf0a5e09b6cdfa5fee7f32c183d

4. The 4.5M ARBX were then dumped
The funds deposited by users ($10M) were directed to unverified pools via the depositor contract

The hacker drained all assets from the pools

Depositor address: tinyurl.com/2p983z9d

1 of the unverified pools: tinyurl.com/yp4dj38v

Hacker address: tinyurl.com/4x98ef26
Read 5 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(