https://sherlock-files.ams3.digitaloceanspaces.com/twitter_images/a7bfb703-70f5-4878-99eb-fdb05201fbc9.jpg

Tigerfrake

Security Researcher

Cash flow is 👑

Contact Me

High

26

Total

Medium

36

Total

$12.12K

Total Earnings

#490 All Time

28x

Payouts

bronze

1x

3rd Places

regular

5x

Top 10

regular

14x

Top 25

All

Code4rena

CodeHawks

Jan '25

Liquid Ron

Liquid Ron

0 USDC • 1 total finding • Code4rena • Tigerfrake

#12

medium

Incorrect Logic in onlyOperator Modifier Leading to Denial-of-Service for Authorized Operators Across Critical Functions

Part 2

Part 2

702.42 usdc • 5 total findings • CodeHawks • tigerfrake

#20

high

Incorrect Credit Capacity Validation in `VaultRouterBranch.redeem` Enables Locked Collateral Drainage

high

Vaults weth reward is not distributed correctly

medium

Lack of credit capacity update from VaultRouterBranch::deposit causes DOS in CreditDelegationBranch::depositcreditformarket

medium

Mismatched slippage precision during deposit results in incorrect assertion of min-shares minted

low

`initiateSwap` allows users to initiate swap even when the vault is paused

Ignite

Ignite

170.68 usdc • CodeHawks • tigerfrake

#15

Nov '24

MANTRA DEX

MANTRA DEX

1,348.43 USDC • 7 total findings • Code4rena • Tigerfrake

#9

high

Protocol allows creating broken tricrypto CPMM pools

high

Logical error in `validate_fees_are_paid` can cause a DoS or allow users to bypass fees if `denom_creation_fee` includes multiple coins including `pool_creation_fee` and the user attempts to pay all fees using only `pool_creation_fee`

high

User cannot claim rewards or close_position, due to vulnerable division by zero handling

high

Farms can be created to start in past epochs

medium

Wrong simulation function used in reverse operation path

medium

Penalty fees can be shared among future farms or expired farms, risks of exploits

medium

Single sided liquidity can't be used to lock LP tokens in the farm manager

Oct '24

Dria

Dria

192.63 USDC • 3 total findings • CodeHawks • tigerfrake

#12

high

Subtraction in `variance()` will revert due to underflow

medium

BuyerAgent Batch Purchase Failure Due to Asset Transfer or Approval Revocation

low

Ownership transfer grants former Swan contract owner continued `operator` privileges

Superposition

Superposition

2,278.38 USDC • 4 total findings • Code4rena • Tigerfrake

bronze

high

Users are incorrectly refunded when liqudity is insufficient

medium

_onTransferReceived() does not work as intended

medium

Tokens are pulled from users without verifying pool status contrary to requirement

medium

Incorrect slippage handling in `swap_internal()`

Sep '24

Staking

Staking

3,585.59 USDC • CodeHawks • tigerfrake

#4

Aug '24

Chakra

Chakra

1,470.15 USDT • 9 total findings • Code4rena • Tigerfrake

#8

high

settlement.cairo doesn't process callback correctly leading to CrossChainMsgStatus marked as SUCCESS even if it failed on destination chain

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

A cross-chain message can be initiated with invalid parameters

medium

inconsistency in sender address when creating cross chain messages on Starknet can lead to loss of funds

medium

Does not check if to_chain and to_handler is whitelisted in cross_chain_erc20_settlement

medium

Missing `ERC20Method` validation at destination allows non-transfer tx to be handled as transfers.

medium

Excessive Authority Granted to Managers in the `ckr_btc.cairo` Contract Presents Significant Management Risks

Superposition

Superposition

1.26 USDC • 4 total findings • Code4rena • Tigerfrake

#32

high

Users are incorrectly refunded when liqudity is insufficient

medium

_onTransferReceived() does not work as intended

medium

Tokens are pulled from users without verifying pool status contrary to requirement

medium

Incorrect slippage handling in `swap_internal()`

Phi

Phi

38.16 USDC • 3 total findings • Code4rena • Tigerfrake

#28

high

Signature replay in `createArt` allows to impersonate artist and steal royalties

medium

`PhiFactory:claim` Potentially Causing Loss of Funds If `mintFee` Changed Beforehand

medium

Attacker can DOS user from selling shares of a credId

Tadle

Tadle

134.34 USDC • 7 total findings • CodeHawks • tigerfrake

#43

high

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

high

Formulaic Error Rounds Down Causing Total Loss Of Funds For Bid Takers During Abort

low

Incorrect Check in closeBidOffer function

low

Validation of `collateralRate` in `PerMarkets::createOffer` function

low

CreateOffer allows eachTradeTax to be 100% ( 10000 bp ) violating code assumptions

low

Missing validation in `PreMarkets.abortBidTaker()` leading to funds lock.

low

The user will be able to close Bid Offer even in case if marketplace is not in BidSettling

Jul '24

TraitForge

TraitForge

0.01 USDC • 4 total findings • Code4rena • Tigerfrake

#88

high

The maximum number of generations is infinite

high

Number of entities in generation can surpass the 10k number

medium

Forger Entities can forge more times than intended

medium

Pause and unpause functions are inaccessible

Zaros Part 1

Zaros Part 1

288.44 USDC • 7 total findings • CodeHawks • tigerfrake

#25

high

Incorrect logic for checking isFillPriceValid

high

Wrong parameter passed in `TradingAccount::deductAccountMargin` function that results in excess margin withdrawal

medium

An Uninitialized Variable In The `MarketConfiguration::update` Function Causes The `PrepMarket::getIndexPrice` Function To Revert

low

UpgradeBranch.sol does not use _disableInitializers()

low

Trading accounts can exceed the maximum number of allowed open positions.

low

Settlement fills liquidatable Market Orders

low

Potential `EIP712` violation in multiple cases

May '24

Predy

Predy

838.43 USDC • 5 total findings • Code4rena • Tigerfrake

#8

high

Reallocation depends on the slot0 price, which can be manipulated.

medium

incorrect price for negative ticks due to lack of rounding down

medium

`updateIRMParams` does not call `applyInterestForToken` before updating `irmParams` which leads to incorrect calculation of interest rate for subsequent trades.

medium

Vaults can become immune from liquidation by setting `vault.recipient` to a blacklisted quote token address

medium

Chainlink's `latestRoundData` might return stale or incorrect results

Apr '24

Renzo

Renzo

1.48 USDC • 1 total finding • Code4rena • Tigerfrake

#54

medium

Lack of slippage and deadline during withdraw and deposit

NOYA

NOYA

482.66 USDC + NOYA stars • 8 total findings • Code4rena • Tigerfrake

#26

high

In Dolomite, when opening a borrow position, the holding position in the Registry will never be updated due to the removePosition flag being set to true

high

It is possible to open insolvent position is Silo connector, due to missing check in borrow function

medium

The `TVLHelper.sol#getTVL` function is DOSed by the `under collateralized connector`, and as a result, many parts of the protocol may be DOS.

medium

Missing calls to `_updateTokenInRegistry` leads to incorrect state of tokens in registry

medium

Incorrect modifier condition

medium

Stale price can be used in `getValueFromChainlinkFeed` function

medium

Noya is not compatible with tokens whose balance changes outside of transfers causing funds to get stuck in the contract

medium

Registry deletes liquidity positions without verifying complete withdrawal.

DYAD

DYAD

4.87 USDC • 1 total finding • Code4rena • Tigerfrake

#104

medium

No incentive to liquidate small positions could result in protocol going underwater

Mar '24

Ondo Finance

Ondo Finance

8.28 USDC • Code4rena • Tigerfrake

#17

Smart Wallet

Smart Wallet

36.34 USDC • Code4rena • Tigerfrake

#14

Revert Lend

Revert Lend

398.02 USDC • 1 total finding • Code4rena • Tigerfrake

#32

high

V3Utils.execute() does not have caller validation, leading to stolen NFT positions from users

Feb '24

Spectra

Spectra

19.59 USDC • Code4rena • Tigerfrake

#22

Althea Liquid Infrastructure

Althea Liquid Infrastructure

7.18 USDC • 1 total finding • Code4rena • Tigerfrake

#34

high

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

Jan '24

MorpheusAI

MorpheusAI

2.82 USDC • 1 total finding • CodeHawks • tigerfrake

#27

low

Any User can mint any amount of WStETH in the WStETHMock.sol and StETHMock.sol

Decent

Decent

0.09 USDC • 1 total finding • Code4rena • Tigerfrake

#56

high

Anyone can update the address of the Router in the DcntEth contract to any address they would like to set.

Salty.IO

Salty.IO

11.69 USDC • Code4rena • Tigerfrake

#111

Curves

Curves

3.82 USDC • Code4rena • Tigerfrake

#111

Dec '23

The Standard

The Standard

58.75 USDC • 2 total findings • CodeHawks • tigerfrake

#33

medium

Anyone can call the burn function in SmartVaultV3.sol

low

`costInEuros` calculation will incur precision loss due to division before multiplication

stake.link

stake.link

39.20 USDC • 1 total finding • CodeHawks • tigerfrake

#24

low

Accidental `renounceOwnership()` call can disrupt key operations in multiple contracts.