Banner
https://sherlock-files.ams3.digitaloceanspaces.com/twitter_images/b4b2322d-4a3d-48f5-9a4f-c42f1df944cc.jpg

thekmj

Literally a cat

Member of team PUSH0 with oot2k I have a server now: discord.gg/uAUJshSXh9

Contact Me

High

1

Solo

19

Total

Medium

4

Solo

35

Total

$141.93K

Total Earnings

#64 All Time

35x

Payouts

gold

6x

1st Places

silver

2x

2nd Places

bronze

2x

3rd Places

All

Sherlock

Code4rena

Cantina

CodeHawks

Hats Finance

Feb '25

MetaLend Ronin Lending Protocol

MetaLend Ronin Lending Protocol

Collaborative Audit • Sherlock • thekmj

Jan '25

napier-v2

napier-v2

47,408.34 USDC • 1 total finding • Cantina • thekmj

gold

high

Finding not yet public.

Aave v3.3

Aave v3.3

439.92 USDC • Sherlock • thekmj

#50

Allora v0.8.0 Update

Allora v0.8.0 Update

7,982.97 USDC • Sherlock • thekmj

#4

Findings not publicly available for private contests.

Dec '24

story-protocol

story-protocol

9,429.68 USDC • 6 total findings • Cantina • thekmj

#27

high

Finding not yet public.

high

Finding not yet public.

medium

Finding not yet public.

medium

Finding not yet public.

medium

Finding not yet public.

medium

Finding not yet public.

Nov '24

Euro Dollar

Euro Dollar

4,900 USDC • 1 total finding • Hats • thekmj

gold

high

`InvestToken`: Whitelisted investors can inflate USDE to infinity by arbitraging previous and current price differences

Oct '24

Covalent - EWM Light Client

Covalent - EWM Light Client

6,682.79 USDC • Sherlock • PUSH0

gold

Findings not publicly available for private contests.

Avantis v1.5: Cross-Asset Leverage

Avantis v1.5: Cross-Asset Leverage

699.35 OP • Sherlock • thekmj

#12

Findings not publicly available for private contests.

predict.fun lending market

predict.fun lending market

9,828.83 USDC • 2 total findings • Sherlock • PUSH0

gold

medium

Collateral can already be seized even when negRiskMarket is not fully resolved

medium

Lender can deny a repayment by getting themselves on the USDC blacklist

Sep '24

Royco Protocol

Royco Protocol

474.28 USDC • 3 total findings • Cantina • thekmj

#17

high

Finding not yet public.

high

Finding not yet public.

high

Finding not yet public.

Jul '24

MakerDAO Endgame

MakerDAO Endgame

657.58 USDC • Sherlock • thekmj

#67

MagicSea - the native DEX on the IotaEVM

MagicSea - the native DEX on the IotaEVM

16,200.97 USDC • 8 total findings • Sherlock • PUSH0

#6

high

Wrong call order for `setTopPoolIdsWithWeights`, resulting in wrong distribution of rewards

high

Bribe rewards are lost if a pool receives no votes during an epoch

high

Unlocked positions can still vote

medium

Bribes can be denied by filling up a farm with fake bribes until `MAX_BRIBES_PER_POOL` limit

medium

Incorrect access control for `_requireOnlyOperatorOrOwnerOf()`. Anyone can call `MlumStaking.addToPosition()` for other users, with various impacts.

medium

Users can artificially create a voting ballot with 2 weeks `lockDuration`, effectively bypassing the 3-month limit

medium

Down Rebasing Tokens will cause bankrun in MlumStaking and MasterChefV2

medium

New staking positions still gets the full reward amount as with old stakings, diluting rewards for old stakers

May '24

Terrace

Terrace

9,404.87 USDC • Sherlock • PUSH0

gold

Findings not publicly available for private contests.

Apr '24

Arcadia - Aerodrome integrations

Arcadia - Aerodrome integrations

1,446.42 USDC • 1 total finding • Sherlock • PUSH0

silver

medium

Max exposure cap can be bypassed on assets using WrappedAerodromeAM.sol

Mar '24

vVv Vesting & Staking

vVv Vesting & Staking

57.57 USDC • Sherlock • thekmj

#21

Feb '24

Perpetual

Perpetual

11,350.47 USDC • 4 total findings • Sherlock • PUSH0

bronze

high

LP can instantly arbitrage and drain any Maker by updating the Pyth price

medium

OracleMaker's price with spread does not take into account the new position

medium

USDT/USDC depeg event will pit both makers at a highly risky position due to arbitrage

medium

No slippage check for deposit/withdraw in either Makers

Jan '24

Arcadia

Arcadia

4,084.31 USDC • 2 total findings • Sherlock • PUSH0

#4

medium

`CREATE2` address collision against an Account will allow complete draining of lending pools

medium

L2 sequencer down will push an auction's price down, causing unfair liquidation prices, and potentially guaranteeing bad debt

Covalent

Covalent

4,593.97 USDC • 5 total findings • Sherlock • PUSH0

gold

medium

New staking between reward epochs will dilute rewards for existing stakers. Anyone can then front-run `OperationalStaking.rewardValidators()` to steal rewards

medium

Frontrunning validator freeze to withdraw tokens

medium

No cooldown in `recoverUnstaking()`, opens up several possible attacks by abusing this functionality.

medium

`validatorMaxStake` can be bypassed by using `setValidatorAddress()`

medium

No option to change validator address without also transferring unstakings, leads to lost rewards when a validator has taken more than 300 unstakings (even if through normal usage)

Salty.IO

Salty.IO

69.54 USDC • 1 total finding • Code4rena • thekmj

#82

medium

Chainlink price feed uses BTC, not WBTC. In case of depegging, oracles will become easier to manipulate.

Dec '23

Footium Update

Footium Update

88.52 USDC • Sherlock • thekmj

#16

Oct '23

NextGen

NextGen

109.14 USDC • Code4rena • thekmj

#56

Ethena Labs

Ethena Labs

6.46 USDC • Code4rena • thekmj

#39

ENS

ENS

1,846.79 USDC • 1 total finding • Code4rena • thekmj

silver

medium

Some tokens enable the direct draining of all approved `ERC20Votes` tokens

Aug '23

Cooler Update

Cooler Update

397.03 USDC • 1 total finding • Sherlock • thekmj

#7

medium

`emergency_shutdown` role is not enough for emergency shutdown.

Sparkn

Sparkn

80.25 USDC • 4 total findings • CodeHawks • thekmj

#30

medium

Blacklisted STADIUM_ADDRESS address cause fund stuck in the contract forever

low

If a winner is blacklisted on any of the tokens they can't receive their funds

low

Potential DOS due to Gas Exhaustion Due to Large Array Iteration in `_distribute` Function

low

Using basis points for percentage is not precise enough for realistic use-cases

veRWA

veRWA

186.84 USDC • 1 total finding • Code4rena • thekmj

#23

high

If governance removes a gauge, user's voting power for that gauge will be lost.

Jul '23

Beedle - Oracle free perpetual lending

Beedle - Oracle free perpetual lending

17.98 USDC • 2 total findings • CodeHawks • thekmj

#132

high

Fee on transfer tokens will cause users to lose funds

gas

Use smaller data types for `lenderFee` and `borrowerFee` for better storage packing

Beam

Beam

78.49 USDC • Sherlock • thekmj

#24

Jun '23

Unitas Protocol

Unitas Protocol

81.25 USDC • 1 total finding • Sherlock • thekmj

#18

medium

Protocol does not check for price staleness from the XOracle, which is problematic if the price feeder goes down.

May '23

Iron Bank

Iron Bank

117.53 USDC • 2 total findings • Sherlock • thekmj

#9

medium

PriceOracle will use the wrong price if the Chainlink registry returns price outside min/max range

medium

Chainlink oracle may return stale data

Venus Protocol Isolated Pools

Venus Protocol Isolated Pools

1,202.71 USDC • 3 total findings • Code4rena • thekmj

#13

high

Incorrect `blocksPerYear` constant in `WhitepaperInterestRateModel`

medium

Exchange Rate can be manipulated

medium

Potential Unjust Liquidation After Exiting Market

Footium

Footium

0.01 USDC • 1 total finding • Sherlock • thekmj

#32

medium

Unsafe ERC20 transfer: tokens that don't revert on failed transfers may disable claims

Apr '23

Rubicon v2

Rubicon v2

699.75 USDC • 3 total findings • Code4rena • thekmj

#18

high

Placeholder

medium

Potential infinite loop in `_borrowLimit` function

medium

A liquidated position possibly cannot be closed

Jan '23

RabbitHole Quest Protocol contest

RabbitHole Quest Protocol contest

49.82 USDC • 2 total findings • Code4rena • thekmj

#44

high

Bad implementation in minter access control for `RabbitHoleReceipt` and `RabbitHoleTickets` contracts

medium

DOS risk if enough tokens are minted in Quest.claim can lead, at least, to transaction fee lost

Cooler

Cooler

48.03 USDC • 2 total findings • Sherlock • thekmj

#27

high

Rollable loans can be indefinitely rolled, opening up room for a griefing attack that will permanently lock funds.

high

Unsafe ERC20 usage: If one of the token is a non-revert on transfer, the other token can be stolen.

Notional Update

Notional Update

1,204.75 USDC • 1 total finding • Sherlock • thekmj

bronze

high

`getEmergencySettlementBPTAmount()`: Wrong usage of `IERC20.totalSupply()` on BPT tokens