https://sherlock-files.ams3.digitaloceanspaces.com/profile_images/d650efc2-a4e4-40e0-830c-f9fbb4ecd797.jpg

zhoo

Security Researcher

Contact Me

High

18

Total

Medium

31

Total

$35.86K

Total Earnings

#234 All Time

24x

Payouts

silver

2x

2nd Places

bronze

1x

3rd Places

regular

7x

Top 10

All

Sherlock

Code4rena

Dec '24

Oku's New Order Types Contract Contest

Oku's New Order Types Contract Contest

3.85 OP • 6 total findings • Sherlock • zhoo

#38

high

An attacker can create arbitrary orders for other users

high

An attacker can modify the orders of other users.

high

The precision loss within the adjustForDecimals() function will result in a reduced minAmountReceived for the user.

high

An attacker can perform a reentrancy attack in OracleLess::fillOrder() to steal tokens from the contract.

medium

OracleLess.pendingOrderIds array Dos attack.

medium

The logic for checking stale prices in PythOracle::currentValue() is implemented incorrectly (reversed).

Nov '24

MANTRA Chain

MANTRA Chain

1,034.01 USDC • 1 total finding • Code4rena • zhaojie

#9

medium

Resolver is not initialized in the protocol's keeper

Sep '24

Kakarot

Kakarot

616.72 USDC • 1 total finding • Code4rena • zhaojie

#15

medium

Reentrancy check in account_contract can be easily circumvented

Aug '24

Superposition

Superposition

0 USDC • Code4rena • zhaojie

#34

Jul '24

LoopFi

LoopFi

72.18 USDC • 2 total findings • Code4rena • zhaojie

#40

high

AuraVault inherits AccessControl BUT does not call the _setupRole() function in it's constructor to set the initial roles, this leads to a complete DOS of the important claim function rendering the contract unable to claim rewards

medium

Malicious actor can abuse the minimum shares check in `StakingLPEth` and cause DoS or locked funds for the last user that withdraws

May '24

Canto

Canto

7,330.48 USDC • 1 total finding • Code4rena • zhaojie

silver

medium

An attacker can DoS a coinswap pool

Mar '24

Acala

Acala

3,420.86 USDC • 2 total findings • Code4rena • zhaojie

bronze

high

Early user can break pool via inflation attack due to no minimum liquidity check in the incentive contract

medium

Incentive accumulation can be sandwiched with additional shares to gain advantage over long-term depositors

Abracadabra Mimswap

Abracadabra Mimswap

15.33 USDC • Code4rena • zhaojie

#24

PoolTogether

PoolTogether

1.47 USDC • 1 total finding • Code4rena • zhaojie

#29

high

Any fee claim lesser than the total `yieldFeeBalance` as unit of shares is lost and locked in the `PrizeVault` contract

Phat Contract Runtime

Phat Contract Runtime

15,225.87 USDC • 2 total findings • Code4rena • zhaojie

silver

medium

An attacker can crash the cluster system by sending an HTTP request with a huge timeout

medium

A cache that times out can be recovered.

Feb '24

HydraDX

HydraDX

302.93 USDC • 1 total finding • Code4rena • zhaojie

#12

medium

[M09] No slippage check in `remove_liquidity` function in omnipool can lead to slippage losses during liquidity withdrawal.

Jan '24

Salty.IO

Salty.IO

588.55 USDC • 7 total findings • Code4rena • zhaojie

#21

high

User can evade `liquidation` by depositing the minimum of tokens and gain time to not be liquidated

high

First depositor can break staking-rewards accounting

high

First Liquidity provider can claim all initial pool rewards

medium

DOS of proposals by abusing ballot names without important parameters

medium

SALT staker can get extra voting power by simply unstaking their xSALT

medium

Reusing a SALT that has already been used for voting can allow a malicious proposal to pass and compromise the protocol.

medium

Creation of token whitelisting proposals can be DOS'd

Curves

Curves

1,418.95 USDC • 6 total findings • Code4rena • zhaojie

#8

high

Attack to make ````CurveSubject```` to be a ````HoneyPot````

high

Unrestricted claiming of fees due to missing balance updates in `FeeSplitter`

high

Unauthorized Access to setCurves Function

medium

A subject creator within a single block can claim holder fees without holding due to unprotected reentrancy path

medium

onBalanceChange causes previously unclaimed rewards to be cleared

medium

Theft of holder fees when `holderFeePercent` was positive and is set to zero

Dec '23

Revolution Protocol

Revolution Protocol

1,220.27 USDC • 3 total findings • Code4rena • zhaojie

#5

medium

ERC20TokenEmitter will not work after a certain period of time

medium

Since buyToken function has no slippage checking, users can get less tokens than expected when they buy tokens directly

medium

The quorumVotes can be bypassed

Ethereum Credit Guild

Ethereum Credit Guild

6.82 USDC • 1 total finding • Code4rena • zhaojie

#86

medium

Malicious borrower can decrease Guild holders reward

Nov '23

ZetaChain

ZetaChain

3,338.94 USDC • 7 total findings • Code4rena • zhaojie

#8

high

Broken `NonceVoter` Allows Observer to Halt the Chain

medium

Possible index out of range in GetVoterIndex could cause ballot to never finalize due to panic

medium

An already executed InTxTracker can still be added

medium

Arbitrary destination gas limit for `CoinType_Zeta` cctxs results in paying lower gas fees

medium

Funds from reverted transaction may be lost/locked

medium

User not refunded for failed Zeta gas payment in cross chain transaction

medium

Limited Voting Options Allow Ballot Creation Spam

Canto Application Specific Dollars and Bonding Curves for 1155s

Canto Application Specific Dollars and Bonding Curves for 1155s

5.45 USDC • 1 total finding • Code4rena • zhaojie

#29

medium

No slippage protection for Market functions

Kelp DAO | rsETH

Kelp DAO | rsETH

119.47 USDC • 3 total findings • Code4rena • zhaojie

#33

high

The price of rsEHT could be manipulated by the first staker

high

Protocol mints less rsETH on deposit than intended

medium

Update in strategy will cause wrong issuance of shares

Oct '23

NextGen

NextGen

35.61 USDC • 2 total findings • Code4rena • zhaojie

#70

high

Attacker can drain all ETH from AuctionDemo when block.timestamp == auctionEndTime

medium

On a Linear or Exponential Descending Sale Model, a user that mint on the last `block.timestamp` mint at an unexpected price.

Ethena Labs

Ethena Labs

4.52 USDC • Code4rena • zhaojie

#40

Sep '23

Maia DAO - Ulysses

Maia DAO - Ulysses

25.68 USDC • Code4rena • zhaojie

#55

Aug '23

veRWA

veRWA

47.44 USDC • 1 total finding • Code4rena • zhaojie

#39

high

Delegated votes are locked when owner lock is expired

Jul '23

Tapioca DAO

Tapioca DAO

1,008.34 USDC • 1 total finding • Code4rena • zhaojie

#47

medium

The sending failure of _lzSend is not considered

Basin

Basin

17.52 USDC • Code4rena • zhaojie

#26