https://sherlock-files.ams3.digitaloceanspaces.com/profile_images/ee15da25-d4e3-4f9d-a5ea-def173e5cc32.png

KannAudits

Security Researcher

Contact Me

High

83

Total

Medium

2

Solo

82

Total

$138.62K

Total Earnings

#69 All Time

73x

Payouts

gold

2x

1st Places

silver

6x

2nd Places

bronze

2x

3rd Places

All

Sherlock

Code4rena

Cantina

CodeHawks

Jul '25

succinct-network

succinct-network

13.63 USDC • 1 total finding • Cantina • 0x37

#31

medium

Finding not yet public.

DeBank

DeBank

320.84 USDC • Sherlock • IvanFitro

#12

Jun '25

DODO Cross-Chain DEX

DODO Cross-Chain DEX

331.98 USDC • 4 total findings • Sherlock • IvanFitro

#18

high

claimRefund() can be frontruned, allowing an attacker to steal the tokens if it is called by a bot.

medium

GatewayTransferNative.sol :: withdrawToNativeChain() if the native token is used to perform a swap during the cross-chain withdrawal, the transaction will always revert.

medium

GatewayTransferNative.sol :: withdrawToNativeChain() if the input token is the native token (ZETA), users will avoid paying fees.

medium

GatewaySend.sol :: onRevert() if a native token is used and the cross-chain transaction reverts, the tokens will be permanently locked in the contract.

May '25

aave-aptos

aave-aptos

34,293.09 GHO • 2 total findings • Cantina • 0x37

gold

high

Finding not yet public.

medium

Finding not yet public.

Index.Fun Beta Smart Contract Security Audit – Q2 2025

Index.Fun Beta Smart Contract Security Audit – Q2 2025

Collaborative Audit • Sherlock • 0x37

Aquarius

Aquarius

1,114.09 USDC • 2 total findings • Cantina • 0x37

#19

high

Finding not yet public.

medium

Finding not yet public.

Apr '25

ZKP2P V2

ZKP2P V2

2,170.80 OP • Sherlock • 0xKann

#4

Findings not publicly available for private contests.

mezo-monorepo

mezo-monorepo

3,516.84 USDC • 8 total findings • Cantina • 0x37

#5

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.

medium

Finding not yet public.

medium

Finding not yet public.

Axion Update

Axion Update

Collaborative Audit • Sherlock • 0x37

liquidity-book-vaults

liquidity-book-vaults

1,527.27 USDC • 7 total findings • Cantina • 0x37

#6

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.

medium

Finding not yet public.

medium

Finding not yet public.

Mar '25

liquity-bold

liquity-bold

27,792.2 USDC • 2 total findings • Cantina • 0x37

silver

medium

Finding not yet public.

medium

Finding not yet public.

PinLink: RWA-Tokenized DePIN Marketplace

PinLink: RWA-Tokenized DePIN Marketplace

19.81 USDC • Sherlock • 0xKann

#38

PinLink: RWA-Tokenized DePIN Marketplace

PinLink: RWA-Tokenized DePIN Marketplace

70.13 USDC • Sherlock • IvanFitro

#16

Feb '25

Usual Labs

Usual Labs

244.28 USDC • Sherlock • 0xKann

#23

Usual Labs

Usual Labs

864.84 USDC • Sherlock • IvanFitro

#14

Blend V2 Audit + Certora Formal Verification

Blend V2 Audit + Certora Formal Verification

1,076.86 USDC • 1 total finding • Code4rena • 0x37

#14

medium

Attackers can maliciously inflate total_supply temporarily to exceed utilization rate limit and push the pool towards 100% util rate, potentially causing a loss of lender funds

Virtuals Protocol

Virtuals Protocol

2,825.42 USDC • 2 total findings • Code4rena • Fitro

bronze

medium

VirtualGenesisDAO.sol :: earlyExecute() proposals can be executed two times.

medium

Genesis.sol :: onGenesisSuccess() users may lose their unclaimed agentTokens if a second launch occurs before they’ve claimed their rewards from the first

Rova

Rova

1,178.25 USDC • 1 total finding • Sherlock • IvanFitro

silver

medium

Launch.sol :: updateParticipation() uses `refundCurrencyAmount` instead of `request.tokenAmount` to update the user's position, leading to incorrect accounting.

defi-app-contracts

defi-app-contracts

1,435.99 USDC • 3 total findings • Cantina • 0x37

#6

high

Finding not yet public.

high

Finding not yet public.

medium

Finding not yet public.

Jan '25

Liquid Ron

Liquid Ron

0.02 USDC • 1 total finding • Code4rena • Fitro

#11

high

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

daao-contracts

daao-contracts

68.65 USDC • 2 total findings • Cantina • Kann

#47

high

Finding not yet public.

medium

Finding not yet public.

silo-contracts-v2

silo-contracts-v2

11,530.44 USDC • 4 total findings • Cantina • 0x37

#6

high

Finding not yet public.

medium

Finding not yet public.

medium

Finding not yet public.

medium

Finding not yet public.

reserve-index-dtf

reserve-index-dtf

753.43 USDC • 1 total finding • Cantina • 0x37

#4

medium

Finding not yet public.

Aave v3.3

Aave v3.3

197.69 USDC • Sherlock • 0xKann

#61

Aave v3.3

Aave v3.3

5,423.33 USDC • Sherlock • 0x37

#10

Aave v3.3

Aave v3.3

45.22 USDC • Sherlock • IvanFitro

#94

FlatMoney v2 Update

FlatMoney v2 Update

2,426.15 USDC • Sherlock • 0x37

#4

Findings not publicly available for private contests.

Dec '24

QuantAMM

QuantAMM

28.09 op • 2 total findings • CodeHawks • ivanfitro

#67

high

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

medium

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

Tally ARB Staker

Tally ARB Staker

30.29 USDC • Sherlock • IvanFitro

#32

Flex Perpetuals

Flex Perpetuals

62.48 USDC • 1 total finding • Code4rena • 0xKann

#4

medium

Missing slippage protection in `AerodromeDexter.sol` `swapExactTokensForTokens()`

SecondSwap

SecondSwap

4.66 USDC • 2 total findings • Code4rena • 0xKann

#51

medium

Creator of one vesting plan can affect vesting plans created by other users.

medium

Incorrect listing type validation bypasses enforcement of minimum purchase amount

SecondSwap

SecondSwap

0.38 USDC • 1 total finding • Code4rena • Fitro

#65

medium

Incorrect listing type validation bypasses enforcement of minimum purchase amount

Chainlink Payment Abstraction

Chainlink Payment Abstraction

1,987.07 USDC • Code4rena • Fitro

bronze
InterPol

InterPol

405 USDC • 1 total finding • Cantina • 0xKann

#8

medium

Finding not yet public.

Oku's New Order Types Contract Contest

Oku's New Order Types Contract Contest

25.72 OP • 5 total findings • Sherlock • 0x37

#22

high

Malicious users can drain funds

high

Malicious users can steal funds from contracts

high

Order performers can drain funds from contracts

high

Malicious users can steal other users' funds via approval.

medium

Cancel order can be dos in OracleLess

Autonomint Colored Dollar V1

Autonomint Colored Dollar V1

3,079.01 OP • 34 total findings • Sherlock • 0x37

silver

high

Missing lastEventTime update in liquidate()

high

Incorrect liqIndex in sendForLiquidation function

high

Option expiry time does not work

high

odosAssembledData can be manipulated

high

Borrowers can earn more profit via manipulating the strikePrice

high

downsideProtected does not work for borrowers

high

Abond holders can lose their liquidation gain

high

Missing totalAvailableLiquidationAmount update when cds owner withdraw.

high

Lack of access control for function updateDownsideProtected()

high

USDT token can be drain via manipulating the usdt/usda price

high

cds owners can withdraw more than expected via manipulating excessProfitCumulativeValue

high

Lack of lastEthPrice sync between different chains

high

Missing usdaCollectedFromCdsWithdraw update in withdrawUserWhoNotOptedForLiq

high

Incorrect usdaToTransfer calculation when cds owners withdraw

high

Incorrect deducted cds deposit amount in withdrawUser

high

Liquidated position by liquidation type 2 can be withdrawn

high

Some liquidated collateral will be locked

high

Possible failure to sync global data

medium

Borrowers can manipulate volatility to pay less option fees

medium

Borrowers will get more normalizedAmount than expected.

medium

Lack of Ether refund to users

medium

Borrowers can pay less borrow interest because of `lastEventTime` early update in _withdraw

medium

Liquidation may be reverted when LTV is high

medium

Missing lastEthprice update in depositTokens

medium

Incorrect totalVolumeOfBorrowersAmountinWei update in withdraw()

medium

Lack of transfer Ether from the treasury to borrowLiquidation

medium

Non-functional wrapper in BorrowLiquidation

medium

Incorrect margin calculation in liquidationType2

medium

Incorrect short position sizeDelta calculation

medium

sUSD will be locked in the borrowLiquidation

medium

One part of protocol profit will be locked in the treasury

medium

cds owners may fail to withdraw

medium

Lack of access control for executeSetterFunction function.

medium

Missing cds deposit amount in swapCollateralForUSDT

Oku's New Order Types Contract Contest

Oku's New Order Types Contract Contest

0.48 OP • 2 total findings • Sherlock • IvanFitro

#60

high

AutomationMaster.sol :: generateOrderId() can produce the same orderId for different orders.

high

OracleLess.sol :: cancelOrder() users can steal funds from the contract by first canceling an order and then modifying it.

Lambo.win

Lambo.win

0 USDC • 1 total finding • Code4rena • 0xKann

#36

high

Minting zero tokens when underlyingToken is not Ether in cashIn()

Lambo.win

Lambo.win

0.3 USDC • 2 total findings • Code4rena • Fitro

#35

high

Minting zero tokens when underlyingToken is not Ether in cashIn()

medium

Since the cost of launching a new pool is minimal, an attacker can maliciously consume VirtualTokens.

Nov '24

Ethos Network Financial Contracts

Ethos Network Financial Contracts

279.18 USDC • 1 total finding • Sherlock • 0xKann

#17

high

Reward Redistribution for Previous Vouchers on Vouch Increase

TermMax

TermMax

4,888.17 USDC • 3 total findings • Cantina • 0x37

silver

high

Finding not yet public.

high

Finding not yet public.

high

Finding not yet public.

Nouns DAO - Auction Streams

Nouns DAO - Auction Streams

17.87 USDC • Sherlock • IvanFitro

#52

Superfluid Locker System

Superfluid Locker System

121.22 USDC • 1 total finding • Sherlock • IvanFitro

#4

high

FluidLocker.sol :: _getUnlockingPercentage() always returns the same percentage, regardless of the unlockPeriod, causing users with longer unlock periods to pay the same amount of taxes as those with shorter periods.

Concrete

Concrete

10,675.37 USDC • Code4rena • 0x37

silver
Concrete

Concrete

89.51 USDC • Code4rena • Fitro

#64

Debita Finance V3

Debita Finance V3

1,749.26 USDC • 14 total findings • Sherlock • 0x37

#5

high

Auction can not work well with TaxTokensReceipt because of TaxTokensReceipt's transfer limitation

high

BuyOrder can not work well with TaxTokensReceipt

high

wantedToken NFT will be locked in buyOrder

medium

Incentivized token may be locked in the DebitaIncentive contract

medium

Lenders or borrowers may lose their expected bribe rewards

medium

Lend offer can be deleted multiple times

medium

Lend offer can be deleted multiple times

medium

Borrowers need to pay more interest than expected because of precision loss

medium

Lenders may lose some interest when borrowers extend their loan.

medium

Borrowers may fail to extend their loan in some cases.

medium

Incorrect feeOfMaxDeadline calculation in extendLoan

medium

Borrowers may fail to extend loans because of the incorrect minFEE

medium

Lenders or borrowers may fail to claim collateral after the auction is finished

medium

buyOrder can be deleted twice

Telcoin Update #2

Telcoin Update #2

5.98 USDC • Sherlock • IvanFitro

#47

Project

Project

137.47 USDC • 1 total finding • CodeHawks • ivanfitro

#10

medium

NativeMetaTransaction.sol :: executeMetaTransaction() failed txs are open to replay attacks.

Oct '24

Usual V1

Usual V1

4,367.29 USDC • 2 total findings • Sherlock • 0x37

gold

high

Lack of update rewards in removeOriginalAllocation

high

Incorrect withdraw fee calculation in withdraw

Ethos Network Social Contracts

Ethos Network Social Contracts

45.37 USDC • 1 total finding • Sherlock • 0x37

#6

medium

Compromised address can still invite users and do some key operations

Ethos Network Social Contracts

Ethos Network Social Contracts

45.37 USDC • 1 total finding • Sherlock • IvanFitro

#6

medium

EthosAttestation.sol :: archiveAttestation()/restoreAttestation() deleted addresses from the profile can still archive and restore attestations.

Kleidi

Kleidi

393.19 USDC • 1 total finding • Code4rena • 0x37

#9

medium

Wrong handling of call data check indices, forcing it sometimes to revert

AXION

AXION

1,714.77 USDC • 5 total findings • Sherlock • 0x37

silver

high

Improper liquidity calculation in V3AMO's _addLiquidity()

high

Improper price check can cause _unfarmBuyBurn dos

high

Not compatible getReward with Aerodrome

medium

Improper calculation order cause the serious precision loss

medium

Approval operation will be reverted if usd token is USDT in Ethereum

Ramses Exchange

Ramses Exchange

3,781.82 USDC • 1 total finding • Code4rena • 0x37

#4

medium

The fee for the protocol in the function RamsesV3Pool::flash() if not calculated correctly

Sep '24

Boost Core Incentive Protocol

Boost Core Incentive Protocol

32.19 USDC • 2 total findings • Sherlock • IvanFitro

#21

high

clawback() cannot be called, preventing the owner from withdrawing the funds from the contract.

medium

ManagedBudget.sol :: allocate() will always revert when using Fee-on-Transfer (FoT) tokens.

Flayer

Flayer

1,170.75 USDC • 12 total findings • Sherlock • 0x37

#14

high

Lack of delete `_listings[_collection][_tokenId]` in reserve

high

Incorrect index return in _createCheckpoint

high

Users may lose their ERC721 token if they unlockProtectedListing token with _withdraw = false

high

users can sandwich rewards because of unused donateThresholdMax

high

The initial liquidity provider will lose their position

high

Incorrect compound factor calculation

high

Missing update `_isLiquidation` in relist

high

The liquidation list owner may receive some tax refund

high

Borrowers can avoid paying borrowing interest via adjustPosition

high

Users' voting token in CollectionShutdown will be locked when we cancel this shutdown flow

medium

Refund does not work in initializeCollection

medium

Fail to start one shut down flow if the collection was shut down before.

Aug '24

Velar Artha PerpDEX

Velar Artha PerpDEX

3,143.31 USDC • 2 total findings • Sherlock • 0x37

#4

high

Traders may decrease their trading loss via mint/burn

medium

Penalized funding received token will be locked in the contract

Chakra

Chakra

116.6 USDT • 6 total findings • Code4rena • 0x37

#26

high

Malicious actors can manipulate the `cross_chain_callback` callback

high

Anyone can manipulate user nonce (nonce_manager) in settlement contract

high

SettlementSignatureVerifier is missing check for duplicate validator signatures

high

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

high

handler's `receive_cross_chain_callback()` will always set the tx_status to `SETTLED` on source chain & burn the tokens (MintBurn Mode) even when the msg fails on destination

medium

SettlementSignatureVerifier's required_validators is not updated, resulting in a low or high number of signatures being required

Phi

Phi

0.31 USDC • 1 total finding • Code4rena • Fitro

#53

medium

Refunds sent to incorrect addresses in certain cases

Winnables Raffles

Winnables Raffles

31.84 USDC • 2 total findings • Sherlock • IvanFitro

#23

high

WinnablesTicketManager.sol :: withdrawETH() if a raffle is canceled and refundPlayers() is called, not all the funds from the next ticket sales can be withdrawn, resulting in some of the funds being permanently stuck in the contract.

medium

WinnablesPrizeManager.sol :: withdrawToken() if the raffle token is LINK, it can be stolen, resulting in the winner receiving nothing and the admin collecting the profits from ticket sales without any cost.

Tadle

Tadle

0.02 USDC • 4 total findings • CodeHawks • ivanfitro

#163

high

Incorrect set up and logic of `referralInfoMap` in `SystemConfig::updateReferrerInfo` function

high

TokenManager - Unlimited withdraw

high

Native token withdrawal fails until manually approved

low

[Low-01] Missing Access Control in `CapitalPool::approve()` Function Allows any User to call it to set Allowance Amount `TokenContract` to `type(uint256).max`.

Jul '24

TraitForge

TraitForge

151.04 USDC • 4 total findings • Code4rena • Fitro

#32

high

`mintToken()`, `mintWithBudget()`, and `forge()` in the `TraitForgeNft` Contract Will Fail Due to a Wrong Modifier Used in `EntropyGenerator.initializeAlphaIndices()`

high

The maximum number of generations is infinite

high

Incorrect Percentage Calculation in NukeFund and EntityForging when `taxCut` is Changed from Default Value

high

Wrong minting logic based on total token count across generations

Munchables

Munchables

0.39 USDC • 1 total finding • Code4rena • Fitro

#48

high

Single plot can be occupied by multiple renters

Apr '24

Teller Finance

Teller Finance

88.45 USDC • 1 total finding • Sherlock • IvanFitro

#25

high

LenderCommitmentGroup_Smart :: burnSharesToWithdrawEarnings() If a malicious lender burns their shares sequentially in small amounts can extract extra rewards at the expense of other lenders.

Beanstalk Part 2

Beanstalk Part 2

171.61 USDC • 1 total finding • CodeHawks • ivanfitro

#8

low

LibUnripeConvert.sol :: getBeanAmountOut() incorrectly calculates the amount of BEAN.

Mar '24

Revert Lend

Revert Lend

13.23 USDC • 1 total finding • Code4rena • Fitro

#68

medium

V3Oracle susceptible to price manipulation

PoolTogether

PoolTogether

1.47 USDC • 1 total finding • Code4rena • Fitro

#29

high

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

Feb '24

Althea Liquid Infrastructure

Althea Liquid Infrastructure

7.18 USDC • 1 total finding • Code4rena • Fitro

#34

high

Holders array can be manipulated by transferring or burning with amount 0, stealing rewards or bricking certain functions

AI Arena

AI Arena

0.23 USDC • 1 total finding • Code4rena • Fitro

#179

medium

DoS in `MergingPool::claimRewards` function and potential DoS in `RankedBattle::claimNRN` function if called after a significant amount of rounds passed.

Jan '24

MorpheusAI

MorpheusAI

9.33 USDC • 1 total finding • CodeHawks • ivanfitro

#24

low

The `editPool()` lacks a sanity check on the `payoutStart` parameter leading to incorrect or unfair reward distributions

Telcoin Platform Audit

Telcoin Platform Audit

371.15 USDC • 2 total findings • Sherlock • IvanFitro

#6

high

StakingRewardsManager.sol :: topUp() The tokens to fund the staking contracts are sended to an incorrect contracts.

high

CouncilMember.sol :: Burning a NFT impossibilities minting new NFTs (DOS).

Truflation

Truflation

90.28 USDC • 1 total finding • Sherlock • IvanFitro

#9

high

TrufVesting.sol :: claim() In the initialReleasePeriod an attacker can steal all the funds from the contract.

Oct '23

NextGen

NextGen

25.24 USDC • 1 total finding • Code4rena • Fitro

#81

medium

Auction payout goes to AuctionDemo contract owner, not the token owner

Ethena Labs

Ethena Labs

4.52 USDC • Code4rena • Fitro

#40

Jul '23

Foundry DeFi Stablecoin CodeHawks Audit Contest

Foundry DeFi Stablecoin CodeHawks Audit Contest

11.01 USDC • 1 total finding • CodeHawks • ivanfitro

#78

gas

Wrong comment DecentralizedStableCoin.sol