https://sherlock-files.ams3.digitaloceanspaces.com/twitter_images/a78c07f2-35a9-4a24-b35b-fb06b4e6de8d.jpg

ether_sky

Security Researcher

Contact Me

High

1

Solo

44

Total

Medium

2

Solo

60

Total

$176.77K

Total Earnings

#51 All Time

28x

Payouts

gold

2x

1st Places

silver

3x

2nd Places

bronze

2x

3rd Places

All

Sherlock

Code4rena

Cantina

CodeHawks

Jan '25

infrared-contracts

infrared-contracts

13,758.22 USDC • 5 total findings • Cantina • ethersky

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

Dec '24

bima-money

bima-money

11,387.4 USDC • 5 total findings • Cantina • ethersky

#5

high

Finding not yet public.

high

Finding not yet public.

high

Finding not yet public.

medium

Finding not yet public.

medium

Finding not yet public.

Nov '24

Chainlink

Chainlink

2,210.53 USDC • Code4rena • ether_sky

#4

Sep '24

instadapp-fluid

instadapp-fluid

49,599.44 USDC • 2 total findings • Cantina • ethersky

gold

medium

Finding not yet public.

medium

Finding not yet public.

Aug '24

ZeroLend One

ZeroLend One

1,451.78 USDC • 10 total findings • Sherlock • ether_sky

#9

high

Users are unable to withdraw their funds due to the incorrect handling of treasury shares

high

The liquidation process is not functioning correctly

high

The protocol fee is not being deducted from the liquidatee's balance during liquidation

high

The interest rate for debt assets is being incorrectly updated during the liquidation process

high

The interest rate is incorrectly updated when debt is repaid

high

The balance calculation is incorrect

high

Users can receive additional shares in the curated vault

medium

The interest rate for the collateral asset is incorrectly calculated during liquidation

medium

The rewards distribution in the NFTPositionManager is unfair

medium

The repayment process in the NFTPositionManager can sometimes be reverted

Jul '24

Reserve Core

Reserve Core

12,126.09 USDC • 2 total findings • Code4rena • ether_sky

bronze

medium

The time available for a canceled withdrawal should not impact future unstaking processes

medium

The traceEnd in BackingManager isn't updating correctly

Optimism Superchain

Optimism Superchain

3,437.31 OP • 2 total findings • Code4rena • ether_sky

#12

high

An attacker can bypass the challenge period during LPP finalization

medium

In some cases, proper CLOCK_EXTENTSION time cannot be ensured to generate the initial instruciton trace

CCIP v1.5

CCIP v1.5

10,057.47 USDC • CodeHawks • ethersky

#8

Jun '24

Size

Size

7,182.82 USDC • 9 total findings • Code4rena • ether_sky

#8

high

Users won't liquidate positions because the logic used to calculate the liquidator's profit is incorrect

high

When `sellCreditMarket()` is called to sell credit for a specific cash amount, the protocol might receive a lower swapping fee than expected.

high

The collateral remainder cap is incorrectly calculated during liquidation

medium

Borrower is not able to compensate his lenders if he is underwater

medium

`executeBuyCreditMarket` returns the wrong amount of cash and overestimates the amount that needs to be checked in the variable pool

medium

Users can not to buy/sell minimum credit allowed due to exactAmountIn condition

medium

Multicall does not work as intended

medium

LiquidateWithReplacement does not charge swap fees on the borrower

medium

withdraw() users may can't withdraw underlyingBorrowToken properly

dHEDGE

dHEDGE

3,197.47 USDC • Sherlock • ether_sky

#6

Findings not publicly available for private contests.

May '24

Sablier

Sablier

3,492.09 USDC • 1 total finding • CodeHawks • ethersky

#5

medium

The overflow in the `_calculateStreamedAmount` function can lead to unexpected results.

Apr '24

Exactly Protocol

Exactly Protocol

5,589.09 USDC • 6 total findings • Sherlock • ether_sky

#4

high

When the borrower is liquidated, there will be some funds untracked in the market.

medium

Borrowers can profit by borrowing and repaying before the maturity date.

medium

When bad debts are cleared, there will be some untracked funds

medium

The rewards are being distributed incorrectly because the lastConfig is updated inaccurately.

medium

Rewards can disappear when new rewards are distributed in the RewardsController.

medium

The claimable rewards amount for borrowers decreases over time

Zivoe

Zivoe

976.63 USDC • 4 total findings • Sherlock • ether_sky

#13

high

Checkpoints for total supply and balance are incorrectly updated when revoking the vesting schedule.

high

Initial depositors are unable to airdrop ZVE tokens correctly in the Initial Tranche Offering

high

There is an error in the claimRewards function within the OCY_Convex_A and OCY_Convex_C contracts

medium

The addition of liquidity to the Uniswap V2 pool can be reverted because the Uniswap V2 router doesn't use all allowed tokens.

Mar '24

Axis Finance

Axis Finance

9,204.28 USDC • 9 total findings • Sherlock • ether_sky

gold

high

The information of lots with an id greater than 0 will be lost, potentially resulting in a loss of funds for the users.

high

We are unable to claim gas fees for BlastEMPAM and BlastLinearVesting on Blast

high

Auction creators have the ability to lock bidders' funds.

high

Bidders can not claim their bids if the auction creator claims the proceeds.

high

Auction creators may lose their funds if the quote token behaves like LEND token, reverting on transfer of 0 tokens.

high

Bidders' funds may become locked due to inconsistent price order checks in MaxPriorityQueue and the _claimBid function.

high

The auction creator can not claim the Proceeds if some bidders have already claimed their bids.

medium

An auction creator can lose funds in FPAM.

medium

If bidders purchase derivatives in an auction and the expiration date of derivatives has passed, they can not claim base tokens from those derivatives.

Abracadabra Mimswap

Abracadabra Mimswap

9,498.41 USDC • 5 total findings • Code4rena • ether_sky

silver

high

Anyone making use of the MagicLP's TWAP to determine token prices will be exploitable.

high

Users who deposited MIM and USDB tokens into BlastOnboarding may incur losses when the pool is created via bootstrap

medium

Miscalculation in addLiquidity of Router results in unauthorized spending of tokens

medium

User can grief bootstrap process by sending the cap amount of unlocked tokens to it.

medium

MagicLpAggregator doesn't consider the dcimal of MagicLP

Feb '24

Perpetual

Perpetual

11,686.63 USDC • 2 total findings • Sherlock • ether_sky

silver

medium

There may be excess funds in the PnL pool or bad debt due to the funding fee.

medium

In certain cases, users are unable to settle their orders with the PartialFill trade type.

Jan '24

Decent

Decent

117.32 USDC • 2 total findings • Code4rena • ether_sky

#36

high

When `DecentBridgeExecutor.execute` fails, funds will be sent to a random address

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

1,130.15 USDC • 7 total findings • Code4rena • ether_sky

#12

high

When borrowers repay USDS, it is sent to the wrong address, allowing anyone to burn Protocol Owned Liquidity and build bad debt for USDS

high

First depositor can break staking-rewards accounting

high

First Liquidity provider can claim all initial pool rewards

medium

Persistent Contract Call revert prevents finalizing a ballot

medium

THE USER WHO WITHDRAWS LIQUIDITY FROM A PARTICULAR POOL IS ABLE TO CLAIM MORE REWARDS THAN HE DULY DESERVES BY CAREFULLY SELECTING A `decreaseShareAmount` VALUE SUCH THAT THE `virtualRewardsToRemove` IS ROUNDED DOWN TO ZERO

medium

No proposal time limit traps sponsors of unpopular proposals

medium

changeWallets() can be confirmed immediately after proposalWallets() by manipulating activeTimelock beforehand

Curves

Curves

1,823.29 USDC • 8 total findings • Code4rena • ether_sky

silver

high

Unauthorized Access to setCurves Function

medium

Protocol and referral fee would be permanently stuck in the Curves contract when selling a token

medium

Selling will be bricked if all other tokens are withdrawn to ERC20 token

medium

onBalanceChange causes previously unclaimed rewards to be cleared

medium

Stuck rewards in `FeeSplitter` contract

medium

Curves::_buyCurvesToken(), Excess of Eth received is not refunded back to the user.

medium

Withdrawing with amount = 0 will forcefully set name and symbol to default and disable some functions for token subject

medium

If a user sets their curve token symbol as the default one plus the next token counter instance it will render the whole default naming functionality obsolete

Dec '23

Ethereum Credit Guild

Ethereum Credit Guild

3,092.08 USDC • 12 total findings • Code4rena • ether_sky

#9

high

The userGaugeProfitIndex is not set correctly, allowing an attacker to receive rewards without waiting

high

Users staking via the `SurplusGuildMinter` can be immediately slashed when staking into a gauge that had previously incurred a loss

medium

Wrong ProfitManager in GuildToken, will always revert for other types of gauges leading to bad debt

medium

Users can deflate other markets Guild holders rewards by staking less priced token

medium

Replay attack to suddenly offboard the re-onboarded lending term

medium

`totalBorrowedCredit` can revert, breaking gauges.

medium

ProfitManager's "creditMultiplier" calculation does not count undistributed rewards; this can cause value losses to users

medium

Rounding errors can cause ERC20RebaseDistributor transfers and mints to fail for underflow

medium

Incorrect calculations in debtCeiling

medium

LendingTerm::debtCeiling() can return wrong debt as the min() is evaluated incorrectly

medium

Anyone can prolong the time for the rewards to get distributed

medium

Malicious borrower can decrease Guild holders reward

Nov '23

Panoptic

Panoptic

1,253.84 USDC • 1 total finding • Code4rena • ether_sky

#10

high

Partial transfers are still possible, leading to incorrect storage updates, and the calculated account premiums will be significantly different from what they should be

Canto Application Specific Dollars and Bonding Curves for 1155s

Canto Application Specific Dollars and Bonding Curves for 1155s

897.48 USDC • 2 total findings • Code4rena • ether_sky

#4

high

Owner cannot withdraw all interest due to wrong calculation of accrued interest in WithdrwaCarry

medium

Users will lose rewards when buying new tokens if they already own some tokens

Oct '23

Badger eBTC Audit + Certora Formal Verification Competition

Badger eBTC Audit + Certora Formal Verification Competition

8,768.05 USDC • 2 total findings • Code4rena • ether_sky

bronze

medium

Redemptions are inconsistent with other cdp's operations

medium

`fetchPrice` can return different prices in the same transaction

Sep '23

Venus Prime

Venus Prime

859.9 USDC • 2 total findings • Code4rena • ether_sky

#4

high

Incorrect decimal usage in score calculation leads to reduced user reward earnings

high

A malicious user can avoid unfavorable score updates after alpha/multiplier changes, resulting in accrual of outsized rewards for the attacker at the expense of other users

Maia DAO - Ulysses

Maia DAO - Ulysses

1,541.54 USDC • 2 total findings • Code4rena • ether_sky

#12

high

All tokens can be stolen from `VirtualAccount` due to missing access modifier

medium

When using BaseBranchRouter as a router on the 'Arbitrum' branch, we are unable to invoke the 'callOutAndBridge' function.

Centrifuge

Centrifuge

50.43 USDC • 1 total finding • Code4rena • ether_sky

#31

medium

```trancheTokenAmount``` should be rounded UP when proceeding to a withdrawal or previewing a withdrawal.

Aug '23

Livepeer Onchain Treasury Upgrade

Livepeer Onchain Treasury Upgrade

2,318.7 USDC • 1 total finding • Code4rena • ether_sky

#5

high

Underflow in updateTranscoderWithFees can cause corrupted data and loss of winning tickets.

Dopex

Dopex

58.67 USDC • 2 total findings • Code4rena • ether_sky

#91

high

The peg stability module can be compromised by forcing lowerDepeg to revert.

medium

reLP() mintokenAAmount the calculations are wrong.