https://sherlock-files.ams3.digitaloceanspaces.com/profile_images/eaa22008-1fed-40e6-9b9b-f8446cdf0fa1.png

Huntoor

Security Researcher

Hunting Bugs Everywhere

Contact Me

High

34

Total

Medium

4

Solo

27

Total

$68.97K

Total Earnings

#121 All Time

14x

Payouts

gold

2x

1st Places

silver

1x

2nd Places

bronze

1x

3rd Places

All

Sherlock

Code4rena

Cantina

CodeHawks

Immunefi

Hats Finance

Jan '25

Liquid Ron

Liquid Ron

568.45 USDC • 1 total finding • Code4rena • IlIlHunterlIlI

#6

high

The calculation of `totalAssets()` could be wrong if `operatorFeeAmount` > 0, this can cause potential loss for the new depositors

infrared-contracts

infrared-contracts

49,701.76 USDC • 7 total findings • Cantina • IlIlHunterlIlI

gold

high

Finding not yet public.

high

Finding not yet public.

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.

Dec '24

QuantAMM

QuantAMM

11,368.69 op • 19 total findings • CodeHawks • 0xhuntoor

gold

high

Critical: Malicious user can delete all Users Deposited Liquidity.

high

Fee Evasion via LP Token Transfer Resets Deposit Value

high

Slight miscalculation in maxAmountsIn for Admin Fee Logic in UpliftOnlyExample::onAfterRemoveLiquidity Causes Lock of All Funds

high

Loss of Fees for Router `UpliftOnlyExample` due to Division Rounding in Admin Fee Calculation, Causing Unfair Fee Distribution

high

Owner fee will be locked in `UpliftOnlyExample` contract due to incorrect recipient address in `UpliftOnlyExample::onAfterSwap`

high

Donations are sanwichable to steal funds from LP

high

fees sent to QuantAMMAdmin is stuck forever as there is no function to retrieve them

high

Incorrect uplift fee calculation leads to LPs incurring more fees than expected

medium

quantAMMSwapFeeTake used for both getQuantAMMSwapFeeTake and getQuantAMMUpliftFeeTake.

medium

`setUpdateWeightRunnerAddress` could break the protocol

medium

“Uplift Fee” Incorrectly Falls Back to Minimum Fee Due to Integer Division

medium

Transferring deposit NFT doesn't check if the receiver exceeds the 100 deposit limit

medium

Users transferring their NFT position will retroactively get the new `upliftFeeBps`

medium

Last withdrawer will donate fees to empty pool allowing MEV and having always stuck funds in the pool

medium

in `UpliftOnlyExample`, Immutable UpdateWeightRunner Address Prevents Seamless Contract Migration

medium

Moving Average Length Validation Prevents Admin Override for Rules Requiring Historical Data

low

missing implementation for a function to change upliftFee

low

Protocol Fees Diminished Due to Admin Fee Payment on Liquidity Removal

low

`minWithdrawalFeeBps` are not added to `upliftFeeBps` causing loss of fees and allowing MEV actions

Audit Comp | Lombard

Audit Comp | Lombard

194 USDC • 1 total finding • Immunefi • IlIlHunterlIlI

#10

low

Finding not yet public.

Alchemix Transmuter

Alchemix Transmuter

782.99 op • 3 total findings • CodeHawks • BugPull

#4

medium

Incorrect Total Assets Calculation in _harvestAndReport Leading to Share Value Manipulation and Irredeemable Assets

medium

not adding `claimable` balance to the total assets in `_harvestAndReport` can cause losses.

medium

Inflated `totalAssets` in `StrategyMainnet`, `StrategyArb`, and `StrategyOp` Contracts

SecondSwap

SecondSwap

161 USDC • 3 total findings • Code4rena • BugPull

#22

high

Users can claim more that their actual allotment

high

In `transferVesting`, the `grantorVesting.releaseRate` is calculated incorrectly, which leads to the sender being able to unlock more tokens than were initially locked.

medium

Underflow in `claimable` DOSing `claim` Function

Oku's New Order Types Contract Contest

Oku's New Order Types Contract Contest

556.71 OP • 7 total findings • Sherlock • BugPull

#7

high

Cancel doesn't remove orders mappings, allowing attacker to modify it to extract funds again

high

in oracleLess, attacker can create two orders in same block to steal funds

high

cross function reentrency to cause loss of funds to user by malicious `target`

high

users that gave approvals to `stopLimit` contract can be drained

high

Attacker can use malicious token with hook in `oracleLess` to cause loss of funds to users

medium

attacker can dos the time sensetive `fillStopLimitOrder::stopLimit`

medium

wrong logical operator in `PythOracle` Forcing Stale prices only

Oct '24

Flow

Flow

172.56 USDC • 1 total finding • CodeHawks • 0xhuntoor

#8

low

`SablierFlowBase` Lacks `EIP-165` Compliance for `EIP4906` Interface Support

Gamma Brevis Rewarder

Gamma Brevis Rewarder

131.06 OP • 1 total finding • Sherlock • Hunter

bronze

high

Loss of rewards to users due to wrong check and inbuilt logic

Sep '24

Flayer

Flayer

1,895.55 USDC • 14 total findings • Sherlock • BugPull

#5

high

relisting previously liquidated NFT will cause loss of funds to new owner

high

reserving a previously liquidated Token will cause loss of funds to new owner

high

`Listings::reserve()` doesn't delete reserved listings causing integration issue

high

Voters lose their tokens due to misconfiguration in `cancel` function

high

Malicious Whale can cause Loss of Fees of LP Providers

high

User Initializing a Pool will have his funds stuck

high

Owner of Bridged ERC1155 Royalties can't claim them

high

Attacker can frontrun large fee deposits from `fillListing`

medium

Malicious user can prevent `lockerManager` from executing `CollectionShutdown` function

medium

Malicious user can bypass execution of `CollectionShutdown` function

medium

EdgeCase in `CollectionShutdown` leading to funds being stuck.

medium

Malicious Whale can manipulate `totalsupply` to liquidate or illiquidate a liqudiateable listing

medium

Broken core contract functionality `UniswapImplementation::setFeeExemption` making `exemptionFee` is never useable

medium

User extra funds during Pool initializtion would be stuck in `UniswapImplementation`

Aug '24

Midas - Instant Minter/Redeemer

Midas - Instant Minter/Redeemer

490.81 USDC • 2 total findings • Sherlock • Hunter

#9

medium

Corruptible Upgradability Pattern

medium

Variation from The link pointing to invariants and the actual implementation

Jul '24

Munchables

Munchables

536.04 USDC • 3 total findings • Code4rena • BugPull

#5

high

in `farmPlots()` an underflow in edge case leading to freeze of funds (NFT)

high

[H-01] Miscalculation in `_farmPlots` function could lead to a user unable to unstake all NFTs

high

Invalid validation in _farmPlots function allowing a malicious user repeated farming without locked funds

Fenix

Fenix

2,400 USDC • 1 total finding • Hats • IlIlHunterlIlI

silver

medium

in `setVoteDelay::vote` Users opted to vote for Killed Gauages will be forced to voting Delays.

MagicSea - the native DEX on the IotaEVM

MagicSea - the native DEX on the IotaEVM

6.01 USDC • 3 total findings • Sherlock • Hunter

#55

high

in `BribeRewarder::_modify()` the check of the ownership of the `tokenId` with `msg.sender` as the passed parameter will make `voter::vote()` always revert

high

unchecked (finished `lockDuration` of `mlumStaking` positions) during `vote()` opening up the ability to double vote with same funds in the same period.

medium

Pools should be compatible with weird `ERC20` behaviours, `MasterChefV2` is incompatibile with Rebasing tokens leading to bad consequences.