https://sherlock-files.ams3.digitaloceanspaces.com/twitter_images/1d52910c-5978-46bc-b583-2a27d1db68a6.jpg

Drynooo

Security Researcher

Web3 Security Researcher.

Contact Me

High

29

Total

Medium

1

Solo

35

Total

$97.22K

Total Earnings

#99 All Time

29x

Payouts

gold

1x

1st Places

silver

2x

2nd Places

bronze

1x

3rd Places

All

Sherlock

Code4rena

Jun '25

Symbiotic Relay

Symbiotic Relay

3,905.57 USDC • 3 total findings • Sherlock • Drynooo

#4

medium

PAIRING_CHECK_GAS_LIMIT hardcoding causes KeyRegistry and Settlement to not work on zksync

medium

Functions such as getOperators may revert because the gas reaches the gas limit.

medium

The getOperatorVotingPower function does not check if the vault is registered and may return incorrect data.

Chainlink Rewards

Chainlink Rewards

22,797.63 USDC • Code4rena • Drynooo

bronze

May '25

Usual ETH0

Usual ETH0

3,910 USDC • 1 total finding • Sherlock • Drynooo

gold

medium

There could be a slight drop in the price of wstETH, leading to more money for user redeem and ultimately undercollateralization

LEND

LEND

3.20 USDC • 4 total findings • Sherlock • Drynooo

#103

high

There is no reset accrued in the claimLend function, resulting in users being able to reclaim rewards repeatedly

high

In the supply function, not using the latest exchangeRate results in an error in the protocol ledger

medium

The protocol was unable to transfer USDT because of the wrong interface.

medium

Incorrect Borrowing Capacity Calculation Leading to Denial of Service for Borrowing

LayerEdge - Staking

LayerEdge - Staking

7.19 USDC • 1 total finding • Sherlock • Drynooo

#7

medium

Users may not be able to call the unstake function, resulting in a lockup of funds

Apr '25

Burve

Burve

3,408.66 USDC • 4 total findings • Sherlock • Drynooo

#4

high

Vertex calculates the vault fee for closure, but the final fee is not borne by the user, which will cause the attacker to make the liquidity provider lose all of their funds

high

In the addValueSingle function, there is an error in the order in which taxes are assigned, which will result in a partial loss of the tax that the user gets.

medium

There is a problem with the internal call order of removeValue/removeValueSingle, which will cause liquidity providers to lose their profits.

medium

The value of each closure is not the same, and the same ValueToken cannot be used for all cids

Mar '25

Symmio, Staking and Vesting

Symmio, Staking and Vesting

48.59 USDC • 3 total findings • Sherlock • Drynooo

#12

medium

Using initializer Modifier Prevents Child Contract initialize Function from Being Called

medium

_resetVestingPlans Function’s amount Check Prevents Adjusting Vesting Plans

medium

Reward Vesting Time Can Be Extended Indefinitely by Small Deposits

Feb '25

Yieldoor

Yieldoor

77.74 USDC • 3 total findings • Sherlock • Drynooo

#11

high

feeRecipient Address Cannot Be Assigned, Causing 100% Fee Loss

high

Incorrect tickUpper in collectFees Causes Revert, Disabling Core Protocol Functions

medium

Withdrawal Failure in Leverager.withdraw() Due to Incorrect Repayment Calculation

Jan '25

Aave v3.3

Aave v3.3

1,076.25 USDC • Sherlock • Drynooo

#29

Dec '24

SecondSwap

SecondSwap

60 USDC • 5 total findings • Code4rena • Drynooo

#39

high

Users can claim more that their actual allotment

medium

Incorrect listing type validation bypasses enforcement of minimum purchase amount

medium

Incorrect referral fee calculations

medium

Rounding error in stepDuration calculations.

medium

Underflow in `claimable` DOSing `claim` Function

Nov '24

Nouns DAO - Auction Streams

Nouns DAO - Auction Streams

429.57 USDC • Sherlock • Drynooo

#12

Superfluid Locker System

Superfluid Locker System

691.51 USDC • 2 total findings • Sherlock • Drynooo

silver

high

The _getUnlockingPercentage function will always return 2000 due to a precision miscalculation, which will result in the user having to suffer an 80% penalty.

high

When calculating in the _getUnlockingPercentage function, 540 was mistakenly used instead of 540 days for calculation. As a result, users can unlock all their funds earlier without paying penalties.

Chainlink

Chainlink

51,772.72 USDC • Code4rena • Drynooo

silver

Oct '24

Kleidi

Kleidi

575.9 USDC • 1 total finding • Code4rena • Drynooo

#6

medium

Gas griefing/attack via creating the proposals

Aug '24

Chakra

Chakra

50.96 USDT • 3 total findings • Code4rena • Drynooo

#34

high

Malicious actors can manipulate the `cross_chain_callback` callback

high

There is no refund mechanism in `ChakraSettlement.processCrossChainCallback` or `ChakraSettlementHandler.receive_cross_chain_callback` function

high

In Starknet already processed messages can be re-submitted and by anyone

Midas - Instant Minter/Redeemer

Midas - Instant Minter/Redeemer

195.62 USDC • 1 total finding • Sherlock • Drynooo

#11

medium

The lack of check conditions leads to the loss of contract functions.

Winnables Raffles

Winnables Raffles

0.76 USDC • 1 total finding • Sherlock • Drynooo

#38

medium

Since the status parameter is not used, this will result in the owner being unable to set the permission of any address to false.

Jul '24

Munchables

Munchables

87.45 USDC • 4 total findings • Code4rena • Drynooo

#34

high

Malicious User can call `lockOnBehalf` repeatedly extend a users `unlockTime`, removing their ability to withdraw previously locked tokens

high

Single plot can be occupied by multiple renters

high

Failure to Update Dirty Flag in transferToUnoccupiedPlot Prevents Reward Accumulation On Valid Plot

medium

When `LockManager.lockOnBehalf` is called from `MigrationManager`, the user's `reminder` will be set to 0, resulting in fewer received `MunchableNFTs`

Jun '24

eBTC Zap Router

eBTC Zap Router

1,912.82 USDC • 1 total finding • Code4rena • Drynooo

#5

medium

Incorrect Comparison Logic in Post-Operation Checks

Vultisig

Vultisig

591.87 USDC • 1 total finding • Code4rena • Drynooo

#9

medium

Vultisig should be burnable

May '24

Midas

Midas

656.97 USDC • 1 total finding • Sherlock • Drynooo

#4

high

Malicious users can bypass the blacklist.

Munchables

Munchables

450.41 USDC • 4 total findings • Code4rena • Drynooo

#7

high

Malicious User can call `lockOnBehalf` repeatedly extend a users `unlockTime`, removing their ability to withdraw previously locked tokens

high

Single plot can be occupied by multiple renters

high

Failure to Update Dirty Flag in transferToUnoccupiedPlot Prevents Reward Accumulation On Valid Plot

medium

When `LockManager.lockOnBehalf` is called from `MigrationManager`, the user's `reminder` will be set to 0, resulting in fewer received `MunchableNFTs`

Napier Finance - LST/LRT Integrations

Napier Finance - LST/LRT Integrations

1,099.68 USDC • 4 total findings • Sherlock • Drynooo

#5

high

Funds may not be withdrawn due to a check error

medium

The _stake function in the PufETHAdapter contract will revert

medium

Wrong checking causes the swapETHForYt function to revert with a high probability

medium

In the RsETHAdapter contract, _stake may revert

Apr '24

Zivoe

Zivoe

1,310.50 USDC • 7 total findings • Sherlock • Drynooo

#9

high

Incorrect calculations can result in user losses

high

An attacker can extend the user's reward release time

high

Division may cause a lot of reward tokens to be locked in the contract

high

_totalSupply update errors will cause user reward calculation errors.

high

claimRewards may fail to execute

medium

Adding liquidity may fail

medium

Users can make the protocol issue more rewards through flash loans. And these rewards can be claimed through slippage.

Mar '24

PoolTogether

PoolTogether

444.19 USDC • 1 total finding • Code4rena • Drynooo

#11

medium

Funds locked due to missing transfer check

Feb '24

Rio Network

Rio Network

111.60 USDC • 3 total findings • Sherlock • Drynooo

#25

high

Epoch not increasing may cause the protocol to get stuck

medium

Failure of user withdrawal may cause the rebalance function to get stuck.

medium

The deposit may fail due to precision issues.

Jan '24

Salty.IO

Salty.IO

26.71 USDC • 3 total findings • Code4rena • Drynooo

#105

high

When borrowers repay USDS, it is sent to the wrong address, allowing anyone to burn Protocol Owned Liquidity and build bad debt for USDS

medium

Remove Liquidity has missing reserve1 DUST check, which can make reserve1 to be less than DUST

medium

Impossible to change managed wallets with `proposeWallets` after first rejection

Dec '23

Olympus RBS 2.0

Olympus RBS 2.0

1,502.09 USDC • 2 total findings • Sherlock • Drynooo

#11

high

getBunniTokenPrice function calculation error

medium

Wrong function used to get totalSupply

Oct '23

The Wildcat Protocol

The Wildcat Protocol

10.29 USDC • 1 total finding • Code4rena • Drynooo

#65

high

Borrower has no way to update `maxTotalSupply` of `market` or close market.