https://sherlock-files.ams3.digitaloceanspaces.com/profile_images/defaults/default_avatar_3.png

joicygiore

Security Researcher

Contact Me

High

47

Total

Medium

29

Total

$26.26K

Total Earnings

#326 All Time

33x

Payouts

silver

1x

2nd Places

bronze

1x

3rd Places

regular

10x

Top 10

All

Sherlock

Cantina

CodeHawks

Jul '25

Mellow Flexible Vaults

Mellow Flexible Vaults

2.67 USDC • 2 total findings • Sherlock • joicygiore

#41

high

Threshold in `Consensus::checkSignatures()` can be bypassed via duplicate signatures

medium

Incorrect Permission Check in `ShareManager::updateChecks()`

DeBank

DeBank

93.35 USDC • Sherlock • joicygiore

#31

May '25

primev-validator-registry

primev-validator-registry

0.18 USDC • 1 total finding • Cantina • joicygiore

#6

high

Finding not yet public.

ammalgam-contracts

ammalgam-contracts

114.56 USDC • 1 total finding • Cantina • joicygiore

#18

high

Finding not yet public.

alchemix-v3

alchemix-v3

270.63 USDC • 4 total findings • Cantina • joicygiore

#33

high

Finding not yet public.

high

Finding not yet public.

high

Finding not yet public.

medium

Finding not yet public.

Apr '25

mighty-contracts

mighty-contracts

10.9 USDC • 1 total finding • Cantina • joicygiore

#76

high

Finding not yet public.

mezo-monorepo

mezo-monorepo

42.06 USDC • 1 total finding • Cantina • joicygiore

#46

medium

Finding not yet public.

liquidity-book-vaults

liquidity-book-vaults

11.59 USDC • 1 total finding • Cantina • joicygiore

#61

medium

Finding not yet public.

Feb '25

Core Contracts

Core Contracts

221.25 usdc • 30 total findings • CodeHawks • joicygiore

#94

high

Faulty Gauge Weight Update Formula: Voting Power Delta Not Considered Leading to Arithmetic Underflow and Vote Weight Inconsistency

high

Users Can Overwrite Existing Locks in veRAACToken Resulting in Permanent Loss of Funds

high

Multiple issues from unnecessary balance increase calculation in DebtToken.mint

high

Reward manipulation vulnerability in StabilityPool

high

Incorrect Reward Claim Logic in FeeCollector::claimRewards Causes Denial of Service

high

RToken's transfer function lead to loss of funds due to incorrect math

high

Attackers can get most of RAACToken rewards by withdrawing dust amount from StabilityPool multiple times

high

Boost Miscalculation Leads to Excess Distribution

high

Attackers can double voting power and veToken amount by locking and increasing

high

Ineffective Time-Weighted Average Implementation in Fee Distribution

high

Gauge stakers won't get any reward due to round-down in user weight calculation

high

Multiple calls to `BaseGauge::notifyRewardAmount()` override existing reward rate, causing loss of rewards for stakers

medium

Incorrect accounting in `veRAACToken::emergencyWithdraw` and `veRAACToken::withdraw` due to missing `totalLocked` update

medium

Incorrect DebtToken totalSupply Scaling Breaks Interest Rate Calculations

medium

There is no logic checking for RAACNFT price staleness before minting it

medium

`RToken::calculateDustAmount` are incorrectly calculated, leading to not be able to transfer the accrued dust amount

medium

Treasury Contract Deposit Function Can Be Frontrun To Deny Protocol Operations

medium

Owner Can Change Vote Results After Voting Ends by Updating Quorum Numbers for New proposals

medium

Emergency revoke in RAACReleaseOrchestrator will freeze revoked RAAC tokens in orchestrator

medium

Inconsistent Scaling in RToken Transfer Functions

medium

`RAACReleaseOrchestrator::emergencyRevoke()` fails to update `categoryUsed`, leading to token lockup and incorrect accounting

medium

The `TimelockController::executeEmergencyAction()` function does not update the `_operations` mapping, which can lead to an operation being executed twice.

low

Emergency withdraw functionality in veRAACToken takes longer than expected

low

Improper Lock State Updates: Misreported Locked Token Data infects Governance Participation, rewards distribution and Harms Protocol Trust.

low

Incorrect Initialization of minBoost in BaseGauge Constructor Breaks Core Contract Functionality

low

`FeeCollector::updateFeeType` wrong fee share validation leads to impossible update for some fee types

low

`DebtToken::burn`'s Return Values are wrong

low

`DebtToken::burn()` event parameters and return values ​​are incorrect

low

`collateralLiquidated` value is always 0 when emitted in the `LiquidationFinalized` event

low

Precision Loss Issue in FeeCollector Contract

Jan '25

infrared-contracts

infrared-contracts

121.9 USDC • 1 total finding • Cantina • joicygiore

#49

medium

Finding not yet public.

lifi-contracts

lifi-contracts

750 USDC • Cantina • joicygiore

#4

Dec '24

InterPol

InterPol

97.83 USDC • 1 total finding • Cantina • joicygiore

#20

medium

Finding not yet public.

Nov '24

Project

Project

13.64 USDC • 1 total finding • CodeHawks • joicygiore

#20

low

Lack of Validation for `tierConfigs[i].minted` Value in New Tiers During DAO Membership Update

Oct '24

tensor-monorepo

tensor-monorepo

2,058.38 USDC • 2 total findings • Cantina • joicygiore

#8

high

Finding not yet public.

medium

Finding not yet public.

Sep '24

infinitypools

infinitypools

5,640.02 USDC • 2 total findings • Cantina • joicygiore

#8

high

Finding not yet public.

high

Finding not yet public.

Liquid Staking

Liquid Staking

493.81 USDC • 3 total findings • CodeHawks • joicygiore

#21

high

No LSTs transfer on node operator withdrawals resulting in stuck funds and loss for node operators

medium

Remove splitter will always revert if there are some rewards left on splitter contract

low

Low Findings : L01 - L04

Staking

Staking

802.39 USDC • CodeHawks • joicygiore

#24

Aug '24

Fjord Token Staking

Fjord Token Staking

0.19 USDC • 1 total finding • CodeHawks • joicygiore

#20

medium

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

Tadle

Tadle

185.84 USDC • 10 total findings • CodeHawks • joicygiore

#35

high

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

high

TokenManager - Unlimited withdraw

high

Native token withdrawal fails until manually approved

high

`DeliveryPlace::settleAskTaker` Has Incorrect Access Control

high

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

high

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

high

Fund Withdrawal Flaw in preMarket Allows Users to Avoid Settlement Obligations

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`.

low

`listOffer` Unsafely References Fungible Identifiers

low

When the `DeliveryPlace::settleAskMaker()` function calls `tokenManager.addTokenBalance()` to update the user balance, the `TokenBalanceType` parameter uses an operation, resulting in a balance update error

Jul '24

ArkProject: NFT Bridge

ArkProject: NFT Bridge

17.73 USDC • 2 total findings • CodeHawks • joicygiore

#44

medium

Starknet tokens deposited with use_withdraw_auto can never be withdrawn

medium

There is No `msg.value` check in `depositTokens`, causing potential token stuck

Zaros Part 1

Zaros Part 1

563.58 USDC • 7 total findings • CodeHawks • joicygiore

#14

high

Inadequate Checking of `isIncreasing` when trader adjusts position size

high

Incorrect logic for checking isFillPriceValid

high

Market Disruption and Financial Loss Post-Liquidation

high

`LiquidationBranch::checkLiquidatableAccounts()` executes `for` loop with wrong values, causing array out of bounds to be recovered, the program will not work as expected

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

medium

Incorrect liquidatable checking for market order creation

MakerDAO Endgame

MakerDAO Endgame

384.69 USDC • Sherlock • joicygiore

#78

Deepr

Deepr

1,265.22 USDC • Sherlock • joicygiore

#4

Findings not publicly available for private contests.

May '24

Beanstalk: The Finale

Beanstalk: The Finale

1,742.26 USDC • 4 total findings • CodeHawks • joicygiore

#15

high

`LibChainlinkOracle::getTokenPrice` will always return instantaneuous prices

high

LibUsdOracle will compromise Beanstalk peg due to wrong price and DoS

medium

The declaration and use of `LibTractor::BLUEPRINT_TYPE_HASH` are inconsistent with the structure `struct Blueprint`, and the standard is confusing. It is recommended to unify the standard

low

`BeanL1RecieverFacet#recieveL1Beans()` would never work

Gamma - Locked Staking Contract

Gamma - Locked Staking Contract

4,679.48 USDC • 1 total finding • Sherlock • joicygiore

silver

medium

`Lock::_notifyreward()` Malicious users use Lightning Loans to quickly accumulate rewarding tokens `reward.cumulatedreward` . In the end, the reward of the user cannot withdraw the reward

Elfi

Elfi

45.91 USDC • 2 total findings • Sherlock • joicygiore

#25

high

`PositionMarginProcess::updateAllPositionFromBalanceMargin()` error, users can update `position.initialMarginInUsdFromBalance` in all positions by depositing a small amount of funds

high

`AccountFacet::batchUpdateAccountToken()` lacks calling permission. Anyone can call this method to add any number of tokens to the account.

Kwenta x Perennial Integration Update

Kwenta x Perennial Integration Update

217.32 USDC • Sherlock • joicygiore

bronze

Apr '24

TITLES Publishing Protocol

TITLES Publishing Protocol

5.27 USDC • 3 total findings • Sherlock • joicygiore

#47

high

`Edition::mintBatch()-0x904868b2`, the attacker can mint token for free

medium

`Edition::mint()` does not check and process user input, `_refundExcess()` is invalid, and an attacker can tail the transaction and consume the ETH in the contract to mint tokens for free

medium

`Edition::mintBatch()-0x1f7fdffa` design error, batch minting tokens does not work as expected

Zivoe

Zivoe

349.75 USDC • 3 total findings • Sherlock • joicygiore

#33

high

liquidity providers can maliciously burn tokens, causing the final result of `ZivoeITO::claimAirdrop()` to deviate significantly from expectations.

high

Every time you call `ZivoeRewards::depositReward()` to deposit a reward, after the reward is vested, there will almost always be some dust left behind, and the amount will expand infinitely.

high

Anyone can call `ZivoeRewardsVesting::depositReward()` to deposit the corresponding token, lower the `rewardRate` and postpone `periodFinish` indefinitely

Mar '24

Axis Finance

Axis Finance

2,049.92 USDC • 3 total findings • Sherlock • joicygiore

#7

high

`Auctioneer::auction()` using wrong lotId value to get `Routing storage routing` failed to save data as expected.

high

Calling `AuctionHouse::claimProceeds()` will modify `Auction.Status`, causing `AuctionHouse::claimBids()` to revert and the buyer cannot withdraw the token.

high

Repeated calculation of `routing.funding` resulted in `AuctionHouse::claimProceeds()::prefundingRefund` error, and the seller could not normally get the proceeds (quote tokens) and refund (base tokens)

Feb '24

Perpetual

Perpetual

3,833.80 USDC • 1 total finding • Sherlock • joicygiore

#8

high

Attackers can lock market funds, prevent normal execution of transactions, and steal funds in the maker

Jan '24

Flat Money

Flat Money

41.10 USDC • 1 total finding • Sherlock • joicygiore

#18

medium

Infinite Minting `PointsModule::FMP`

JOJO Exchange Update

JOJO Exchange Update

133.69 USDC • 1 total finding • Sherlock • joicygiore

#8

medium

`JUSDBankStorage::getTRate()`,`JUSDBankStorage::accrueRate()` are calculated differently, and the data calculation is biased, Causes the `JUSDBank` contract funciton result to be incorrect