https://sherlock-files.ams3.digitaloceanspaces.com/profile_images/c29ee81a-d2d1-49d0-a8db-2df7dd9d7d9a.jpg

0xbrivan

Security Researcher

Software Engineer | Smart Contracts Security Researcher

Contact Me

High

45

Total

Medium

31

Total

$29.72K

Total Earnings

#272 All Time

20x

Payouts

gold

2x

1st Places

bronze

1x

3rd Places

regular

8x

Top 10

All

Sherlock

Code4rena

CodeHawks

Immunefi

Feb '25

THORWallet

THORWallet

0 USDC • 1 total finding • Code4rena • Abdessamed

#10

medium

Improper Transfer Restrictions on Non-Bridged Tokens Due to Boolean Bridged Token Tracking, Allowing a DoS Attack Vector

Dec '24

SecondSwap

SecondSwap

0.38 USDC • 2 total findings • Code4rena • Abdessamed

#65

high

Users can claim more that their actual allotment

medium

Incorrect listing type validation bypasses enforcement of minimum purchase amount

Nov '24

MANTRA DEX

MANTRA DEX

4,383.96 USDC • 11 total findings • Code4rena • Abdessamed

#4

high

Stable swap pools don't properly handle assets with different decimals, forcing LPs to receive wrong shares

high

Stableswap does disjoint swaps, breaking the underlying invariant

high

Stableswap pool can be skewed free of fees

high

Protocol allows creating broken tricrypto CPMM pools

high

Multi-token stableswap pools allow 0 liquidity for tokens, creating bricked pools

high

Farms can be created to start in past epochs

medium

`withdraw_liquidity` lacks slippage protection

medium

Protocol fees are mistakenly configured by protocol pools rather than being imposed

medium

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

medium

In edge cases, create_pool can either be reverted or allow user underpay fees.

medium

Spread calculation does not account for swap fees

Oct '24

Ethos Network Social Contracts

Ethos Network Social Contracts

45.37 USDC • 1 total finding • Sherlock • 0xbrivan

#6

medium

`profileIdByAddress` not cleared in `deleteAddressAtIndex`

Sep '24

Boost Core Incentive Protocol

Boost Core Incentive Protocol

32.19 USDC • 2 total findings • Sherlock • 0xbrivan

#21

high

Raffle winner unable to claim prize in `RAFFLE` incentive strategy

medium

Unnecessary check on `ManagedBudget::allocate` prevents allocation of Fee-On-Transfer tokens to the contract

Aug '24

Chakra

Chakra

11,822.1 USDT • 16 total findings • Code4rena • Abdessamed

gold

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

Inconsistent Handler Validation Behavior in Cairo ERC20Handler's Cross-Chain Callback

high

Anyone can manipulate user nonce (nonce_manager) in settlement contract

high

Forcing Starknet handlers to be whitlisted on the same chain allows exploit of `BurnUnlock` mode to drain handler funds

high

The LockMint and BurnUnlock modes cannot be used

high

SettlementSignatureVerifier is missing check for duplicate validator signatures

high

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

high

Invalid token address used in `ChakraSettlementHandler::cross_chain_erc20_settlement(...)` leading to invalid transaction creation and event emission

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

Permanent loss of user tokens on both chains if `BurnUnlock` mode fails because of flawed burning pattern

medium

A cross-chain message can be initiated with invalid parameters

medium

Settlement contract is mistakenly used for the handler contract when assigning ReceivedCrossChainTx struct

medium

Incorrect decimals Setting for ckrBTC Token May Lead to User Confusion and Inaccurate Transaction Amounts

medium

Does not check if to_chain and to_handler is whitelisted in cross_chain_erc20_settlement

medium

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

Fjord Token Staking

Fjord Token Staking

113.49 USDC • 2 total findings • CodeHawks • 0xbrivan2

#13

medium

[H-01] Auction tokens will be lost forever when auction ends without bids

medium

Owner of a cancelled Sablier stream will be elegible for a full amount reward claim, due to a revert in `FjordStaking::onStreamCanceled(...)`

Audit Comp | Acre

Audit Comp | Acre

11,416 USDC • 1 total finding • Immunefi • brivan

gold

medium

Finding not yet public.

Winnables Raffles

Winnables Raffles

257.95 USDC • 5 total findings • Sherlock • 0xbrivan

#9

high

Malicious users can exploit raffle cancellation to disrupt protocol functionality

high

Failure to update `_lockedETH` during refunds causes inaccurate revenue withdrawals

high

Lack of parameter validation in `propagateRaffleWinner` Leads to failed prize claims on mainnet

medium

Roles can not be revoked

medium

Admins can influence the odds of raffles

Tadle

Tadle

316.55 USDC • 10 total findings • CodeHawks • 0xbrivan2

#21

high

TokenManager - Unlimited withdraw

high

Taker of bid offer will loss assets without any benefit if he calls the DeliveryPlace::settleAskMaker() for partial settlement.

high

`DeliveryPlace::settleAskTaker` Has Incorrect Access Control

high

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

high

Malicious user can drain protocol by bypassing `ASK` offer abortion validation in `Turbo` mode

high

The `DeliveryPlace::settleAskTaker()` function mistakenly uses `makerInfo.tokenAddress` to update the `TokenBalanceType.PointToken` in the `userTokenBalanceMap` mapping, leading to a critical error.

high

listOffer maker can settle offer via settleAskMaker() in Turbo settle type.

low

Incorrect Check in closeBidOffer function

low

`PreMarket::createTaker` Should Update the `offerInfo.offerStatus` According to `amount usedPoints`

low

High risk of griefing attack during settlement period in Protected mode

Jul '24

TraitForge

TraitForge

210.71 USDC • 10 total findings • Code4rena • Abdessamed

#22

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

Number of entities in generation can surpass the 10k number

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

medium

There is no slippage check in the `nuke()` function.

medium

Forger Entities can forge more times than intended

medium

Pause and unpause functions are inaccessible

medium

Discrepancy between nfts minted, price of nft when a generation changes & position of `_incrementGeneration()` inside `_mintInternal()` & `_mintNewEntity()`

medium

Incorrect check against golden entropy value in the first two batches

Munchables

Munchables

432.92 USDC • 3 total findings • Code4rena • Abdessamed

#10

high

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

high

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

medium

Users can farm on zero-tax land if the landlord locked tokens before the LandManager deployment

TempleGold

TempleGold

183.18 USDC • 3 total findings • CodeHawks • 0xbrivan2

#17

medium

Not upadting `_totalAuctionTokenAllocation` when removing last auction config at cooldown leads to wrong accounting of `_totalAuctionTokenAllocation` and permanent lock of auction tokens

low

Auction tokens cannot be recovered for the first ever spice auction

low

TempleGold tokens cannot be recovered when a `DaiGoldAuction` ends with 0 bids

Apr '24

DYAD

DYAD

62.98 USDC • 7 total findings • Code4rena • Abdessamed

#66

high

Attacker can make 0 value deposit() calls to deny user from redeeming or withdrawing collateral

high

Design flaw and mismanagement in vault licensing leads to double counting in collateral ratios and positions collateralized entirely with kerosine

high

Kerosene collateral is not being moved on liquidation, exposing liquidators to loss

high

Users can get their Kerosene stuck until TVL becomes greater than Dyad's supply

high

User can get their Kerosene stuck because of an invalid check on withdraw

medium

Incorrect deployment / missing contract will break functionality

medium

No incentive to liquidate when CR <= 1 as asset received < dyad burned

Mar '24

Ondo Finance

Ondo Finance

8.28 USDC • Code4rena • Abdessamed

#17

RadicalxChange

RadicalxChange

1.18 USDC • 1 total finding • Sherlock • 0xbrivan

bronze

high

The highest bidder can cancel his bid, leading to funds loss of other bidders when closing the auction

PoolTogether

PoolTogether

132.61 USDC • 2 total findings • Code4rena • Abdessamed

#21

high

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

medium

Lack of Slippage Protection in `withdraw`/`redeem` Functions of the Vault

Feb '24

AI Arena

AI Arena

3.71 USDC • 2 total findings • Code4rena • Abdessamed

#143

high

Malicious user can stake an amount which causes zero curStakeAtRisk on a loss but equal rewardPoints to a fair user on a win

high

Players have complete freedom to customize the fighter NFT when calling `redeemMintPass` and can redeem fighters of types Dendroid and with rare attributes

Dec '23

stake.link

stake.link

250.11 USDC • 1 total finding • CodeHawks • 0xbrivan2

#16

medium

A user can lose funds in `sdlPoolSecondary` if tries to add more sdl tokens to a lock that has been queued to be completely withdrawn

Revolution Protocol

Revolution Protocol

44.03 USDC • 1 total finding • Code4rena • Abdessamed

#57

high

Incorrect amounts of ETH are transferred to the DAO treasury in `ERC20TokenEmitter::buyToken()`, causing a value leak in every transaction