Banner
https://sherlock-files.ams3.digitaloceanspaces.com/twitter_images/45b2da2c-3f28-4236-adba-9fe7786ad2ee.jpg

shaka

Security Researcher

🔍ΞVM Security Researcher

Contact Me

High

44

Total

Medium

4

Solo

50

Total

$36.13K

Total Earnings

#241 All Time

29x

Payouts

silver

3x

2nd Places

regular

11x

Top 10

regular

19x

Top 25

All

Sherlock

Code4rena

Cantina

CodeHawks

Jan '25

Liquid Ron

Liquid Ron

0 USDC • 1 total finding • Code4rena • shaka

#12

medium

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

Aug '24

Tadle

Tadle

0.00 USDC • 1 total finding • CodeHawks • shaka

#175

high

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

Jul '24

TraitForge

TraitForge

0.81 USDC • 6 total findings • Code4rena • shaka

#80

high

The maximum number of generations is infinite

high

Number of entities in generation can surpass the 10k number

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

`Golden God` Tokens can be minted twice per generation

May '24

Euler-v2

Euler-v2

1,000 USDC • Cantina • shaka

#31

Mar '24

Axis Finance

Axis Finance

353.02 USDC • 3 total findings • Sherlock • shaka

#16

high

`Auctioneer.auction` stores always the `Routing` data for new auctions using `lotId` 0

medium

DoS for EMPAM `refundBid`

medium

Settlement of batch auction can exceed the gas limit

Mento

Mento

1,000 USDC • Sherlock • shaka

silver
Revert Lend

Revert Lend

281.43 USDC • 4 total findings • Code4rena • shaka

#36

medium

Repayments and liquidations can be forced to revert by an attacker that repays miniscule amount of shares

medium

V3Vault is not ERC-4626 compliant

medium

Lack of safety buffer in `_checkLoanIsHealthy` could subject users who take out the max loan into a forced liquidation

medium

Users can lend and borrow above allowed limitations

Feb '24

Rio Network

Rio Network

1,206.07 USDC • 4 total findings • Sherlock • shaka

#11

high

Assets for withdrawal can be locked

high

The operator utilization heap is not updated correctly when a operator is deactivated

medium

Restaking tokens are not priced correctly when there are withdrawals queued

medium

Rebalance DoS due to errors in allocation calculations

opal-contracts

opal-contracts

19.95 USDC • 1 total finding • Cantina • shaka

#37

medium

Finding not yet public.

AI Arena

AI Arena

15.02 USDC • 8 total findings • Code4rena • shaka

#114

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

A locked fighter can be transferred; leads to game server unable to commit transactions, and unstoppable fighters

high

Since you can reroll with a different fighterType than the NFT you own, you can reroll bypassing maxRerollsAllowed and reroll attributes based on a different fighterType

high

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

high

Fighters cannot be minted after the initial generation due to uninitialized `numElements` mapping

high

Non-transferable `GameItems` can be transferred with `GameItems::safeBatchTransferFrom(...)`

medium

NFTs can be transferred even if StakeAtRisk remains, so the user's win cannot be recorded on the chain due to underflow, and can recover past losses that can't be recovered(steal protocol's token)

medium

Can mint NFT with the desired attributes by reverting transaction

Jan '24

Flat Money

Flat Money

2,031.46 USDC • 5 total findings • Sherlock • shaka

#6

high

`LeverageModule` NFT can be unlocked when there is a pending order

high

Trade fees can be avoided in limit orders

high

Accounting error for `marginDepositedTotal` in `settleFundingFees()`

medium

Oracle can return different prices in same transaction

medium

DoS for functions with invariant modifiers

incentive-contracts

incentive-contracts

4,864.11 USDC • 3 total findings • Cantina • shaka

#6

high

Finding not yet public.

high

Finding not yet public.

high

Finding not yet public.

Ubiquity

Ubiquity

1,866.60 USDC • 1 total finding • Sherlock • shaka

#6

medium

The depegging of the collateral token from the USD could result in the Ubiquity Dollar token being undercollateralized

Dec '23

Revolution Protocol

Revolution Protocol

359.24 USDC • 4 total findings • Code4rena • shaka

#19

high

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

medium

Violation of ERC-721 Standard in VerbsToken:tokenURI Implementation

medium

`encodedData` argument of `hashStruct` is not calculated perfectly for EIP712 singed messages in `CultureIndex.sol`

medium

It may be possible to DoS AuctionHouse by specifying malicious creators

Oct '23

Badger eBTC Audit + Certora Formal Verification Competition

Badger eBTC Audit + Certora Formal Verification Competition

7,146.08 USDC • 1 total finding • Code4rena • shaka

#4

medium

`fetchPrice` can return different prices in the same transaction

Sep '23

DittoETH

DittoETH

1,874.65 USDC • 7 total findings • CodeHawks • shaka

#10

high

Users Lose Funds and Market Functionality Breaks When Market Reachs 65k Id

high

New orders can overwrite active orders when order id reaches 65000

high

Flag can be overriden by another user

medium

Primary short liquidation can not be completed in the last hour of the liquidation timeline

medium

Lack of essential stale check in oracleCircuitBreaker()

low

Changes in `dittoShorterRate` affect retroactively to accrued Ditto yield shares

low

The protocol allows less flags to be generated than possible which could lead to a DoS of the primary liquidation process

Jul '23

Tokemak

Tokemak

482.28 USDC • 4 total findings • Sherlock • shaka

#30

high

`AbstractRewarder:queueNewRewards()` might try to pull too many reward tokens from caller

high

It is not possible to liquidate rewards

medium

`redeem` function can return less assets than expected

medium

Users will not be able to withdraw assets on oracle price decrease

PoolTogether

PoolTogether

2,027.76 USDC • 4 total findings • Code4rena • shaka

#8

high

`Vault.mintYieldFee` FUNCTION CAN BE CALLED BY ANYONE TO MINT `Vault Shares` TO ANY RECIPIENT ADDRESS

medium

deposit function does not check for the `maxMint` amount.

medium

Unintended or Malicious Use of Prize Winners' Hooks

medium

Transfer of Vault tokens can cause accounting errors in other contracts

Jun '23

Symmetrical

Symmetrical

7,713.49 USDC • 9 total findings • Sherlock • shaka

silver

high

No check for expired `priceSig` in `setSymbolsPrice`

high

`LibMuon` verifications hash collisions

high

`depositAndAllocateForPartyB` allocates the wrong amount

high

Users can DOS liquidation process by increasing their nonce

high

Party A can be liquidated with outdated price data

medium

`partyA` can inflate the uPnL with no cost

medium

The liquidation process can get stuck if the liquidators do not submit the symbol prices in the given time

medium

Wrong calculation of solvency after request to close and after close position

medium

Position can fall below minimum acceptable quote value after partial closing

May '23

Iron Bank

Iron Bank

89.34 USDC • 3 total findings • Sherlock • shaka

#14

medium

Chainlink price feed data not validated properly

medium

It is not checked whether the sequencer is down when fetching the price from Chainlink

medium

Wrong price returned by oracle if asset's price drops below `minAnswer`

USSD - Autonomous Secure Dollar

USSD - Autonomous Secure Dollar

46.78 USDC • 7 total findings • Sherlock • shaka

#41

high

Spot price of USSD/DAI pool can be manipulated

high

Wrong address for `BTC/USD` Chainlink aggregator contract

high

The calculations of DAI price in `StableOracleDAI.sol:getPriceUSD()` are incorrect

high

Anyone can mint and burn tokens for/from the USSD contract

high

No slippage protection for swaps

medium

Chainlink price feed data could be stale

medium

Removing collateral token changes order in array

DODO Margin Trading

DODO Margin Trading

116.10 USDC • 1 total finding • Sherlock • shaka

silver

high

Flash loan callback can be used to steal tokens

Footium

Footium

210.73 USDC • 3 total findings • Sherlock • shaka

#17

high

Approvals for `FootiumEscrow` remain active after the club owner changes

medium

Return value of ERC20 transfer not checked

medium

`maxGenerationId` + 1 players can be minted per cohort

Apr '23

Teller

Teller

262.68 USDC • 4 total findings • Sherlock • shaka

#23

high

Committed collateral can be updated by any user at any time

high

`CollateralManger.sol:setCollateralEscrowBeacon` can be called by anyone

medium

Fee-on-transfer token collateral will lock deposits in escrow

medium

Admin can update `LenderManager` address in `TellerV2`

Caviar Private Pools

Caviar Private Pools

126.11 USDC • 3 total findings • Code4rena • shaka

#35

medium

The `royaltyRecipient` could not be prepare to receive ether, making the `sell` to fail

medium

`changeFeeQuote` will fail for low decimal ERC20 tokens

medium

Flash loan fee is incorrect in Private Pool contract

Mar '23

Asymmetry contest

Asymmetry contest

722.46 USDC • 5 total findings • Code4rena • shaka

#12

high

A temporary issue shows in the staking functionality which leads to the users receiving less minted tokens.

high

An attacker can manipulate the preDepositvePrice to steal from other users.

high

`WstEth` derivative assumes a ~1=1 peg of stETH to ETH

medium

Possible DoS on `unstake()`

medium

Missing derivative limit and deposit availability checks will revert the whole `stake()` function

Y2K

Y2K

2.35 USDC • 1 total finding • Sherlock • shaka

#59

high

`enlistInRollover()` stores wrong index for receiver

Taurus

Taurus

1,111.36 USDC • 2 total findings • Sherlock • shaka

#4

medium

`UniswapSwapAdapter.swap()` only works for paths formed by two tokens

medium

TAU `currentMinted` amount is not updated when tokens are burned from vault

Feb '23

Surge

Surge

1,200.15 USDC • 1 total finding • Sherlock • shaka

#4

medium

Users can borrow all loan tokens