Banner
https://sherlock-files.ams3.digitaloceanspaces.com/twitter_images/95219cd6-2e84-44e0-a820-0cb9dcd9e9e2.jpg

hansfriese

Security Researcher

Founder @SoloditOfficial. Co-founder and Security Researcher @CyfrinAudits. Judge at @code4rena. Top Warden of 2023 @code4rena.

Contact Me

High

18

Total

Medium

2

Solo

37

Total

$202.63K

Total Earnings

#43 All Time

87x

Payouts

gold

6x

1st Places

silver

6x

2nd Places

bronze

4x

3rd Places

All

Sherlock

Code4rena

Apr '23

Notional Update #3

Notional Update #3

2,572.61 USDC • Sherlock • hansfriese

bronze

Findings not publicly available for private contests.

Feb '23

Syndr

Syndr

1,564.56 USDC • Sherlock • hansfriese

#5

Findings not publicly available for private contests.

OlympusDAO

OlympusDAO

450.72 USDC • 3 total findings • Sherlock • hansfriese

#16

medium

Reward tokens can't be added again once they are removed because there is no way to reset the user's previous debt/cache state.

medium

Users wouldn't claim their unclaimed rewards once the reward token is removed.

medium

`SingleSidedLiquidityVault.deposit()` and `SingleSidedLiquidityVault.withdraw()` will revert if `rewardToken.lastRewardTime > block.timestamp`.

Ethos Reserve contest

Ethos Reserve contest

13,062.09 USDC • Code4rena • hansfriese

gold
Volta

Volta

1,662.01 USDC • Sherlock • hansfriese

bronze

Findings not publicly available for private contests.

Jan '23

Popcorn contest

Popcorn contest

3,503.37 USDC • Code4rena • hansfriese

#4

Numoen contest

Numoen contest

25,278.25 USDC • Code4rena • hansfriese

gold
RabbitHole Quest Protocol contest

RabbitHole Quest Protocol contest

1,360.43 USDC • Code4rena • hansfriese

#4

Drips Protocol contest

Drips Protocol contest

122.82 USDC • Code4rena • hansfriese

#12

Timeswap contest

Timeswap contest

21,290 USDC • Code4rena • hansfriese

gold
Cooler

Cooler

442.13 USDC • 4 total findings • Sherlock • hansfriese

#5

high

Lenders can default the loan by reverting the `repay()` function.

high

Borrowers can abuse lenders and steal debt tokens.

medium

`Cooler.roll()` wouldn't work as expected when `newCollateral = 0`.

medium

`Cooler.clear()` should set `rollable = false` when it adds the loans.

Ondo Finance contest

Ondo Finance contest

7,517.41 USDC • Code4rena • hansfriese

silver
Biconomy - Smart Contract Wallet contest

Biconomy - Smart Contract Wallet contest

78.26 USDC • Code4rena • hansfriese

#49

UXD Protocol

UXD Protocol

2,230.24 USDC • 2 total findings • Sherlock • hansfriese

#5

medium

`PerpDepository._rebalanceNegativePnlWithSwap()` shouldn't use a `sqrtPriceLimitX96` twice.

medium

`rebalanceLite` should provide a slippage protection

Dec '22

Papr contest

Papr contest

3,832.46 USDC • Code4rena • hansfriese

bronze
GoGoPool contest

GoGoPool contest

3,053.2 USDC • Code4rena • hansfriese

#4

Forgeries contest

Forgeries contest

572.54 USDC • Code4rena • hansfriese

#7

Caviar contest

Caviar contest

440.87 USDC • Code4rena • hansfriese

#18

Tigris Trade contest

Tigris Trade contest

4,709.84 USDC • Code4rena • hansfriese

#4

prePO contest

prePO contest

953.2 USDC • Code4rena • hansfriese

#9

Escher contest

Escher contest

1,765.14 USDC • Code4rena • hansfriese

#6

Lyra

Lyra

868.23 USDC • Sherlock • hansfriese

#6

Findings not publicly available for private contests.

Maverick contest

Maverick contest

17,868.05 USDC • Code4rena • hansfriese

gold
NounsDAO

NounsDAO

464.15 USDC • 2 total findings • Sherlock • hansfriese

#4

medium

rescueERC20() is not safe for tokens with multiple addresses

medium

Anyone can fabricate the stream history

Nov '22

ParaSpace contest

ParaSpace contest

54.08 USDC • Code4rena • hansfriese

#53

Opyn Crab Netting

Opyn Crab Netting

44.82 USDC • 1 total finding • Sherlock • hansfriese

#21

high

A malicious user can cancel other's orders using `CrabNetting.checkOrder()`.

Isomorph

Isomorph

1,636.21 USDC • 4 total findings • Sherlock • hansfriese

#6

medium

Wrong constants for time delay

medium

The protocol shouldn't charge interests when paused

medium

Lyra vault underestimates the collateral value

medium

The virtual price of collateral is less than it should be.

Redacted Cartel contest

Redacted Cartel contest

207.69 USDC • Code4rena • hansfriese

#26

Buffer Finance

Buffer Finance

1,013.05 USDC • 2 total findings • Sherlock • hansfriese

#6

high

Keepers can modify option exercise result using different asset price

medium

`tokenX.transfer` will not work as intended from some ERC20 tokens.

Bull v Bear

Bull v Bear

472.32 USDC • 4 total findings • Sherlock • hansfriese

#7

high

A malicious user can drain the protocol funds using `reclaimContract()`.

high

Attacker can trigger permanent lock of funds of normal traders

medium

The NFT might be locked inside the protocol forever after the contract was settled.

medium

Protocol can lose the fee and withdrawal function can become useless.

FrankenDAO

FrankenDAO

2,575.24 USDC • 6 total findings • Sherlock • hansfriese

silver

high

`Staking.unstake()` doesn't decrease the original voting power that was used in `Staking.stake()`.

high

`Staking._stakeToken()` calculates `stakedTimeBonus` wrongly.

high

The total community voting power can be huge because of incorrect conditions.

medium

`Governance.queue()` should update the `CommunityScoreData.proposalsPassed` instead of `CommunityScoreData.proposalsCreated`.

medium

Voters can increase their community voting power without any token voting power using `castVote()`.

medium

`Staking._stakeToken()` and `Staking.evilBonus()` don't calculate a voting power for a monster like a document.

Bond Protocol

Bond Protocol

802.13 USDC • 1 total finding • Sherlock • hansfriese

#6

medium

Circuit breaker could cancel the last transaction to prevent an unnecessary loss

SIZE contest

SIZE contest

12,443.79 USDC • Code4rena • hansfriese

gold
Debt DAO contest

Debt DAO contest

3,471.29 USDC • Code4rena • hansfriese

#8

Oct '22

Paladin - Warden Pledges contest

Paladin - Warden Pledges contest

257.44 USDC • Code4rena • hansfriese

#20

Inverse Finance contest

Inverse Finance contest

3,434.96 USDC • Code4rena • hansfriese

#7

Illuminate

Illuminate

344.33 USDC • 3 total findings • Sherlock • hansfriese

#18

high

`ERC5095.withdraw()` and `ERC5095.redeem()` don't transfer the principal token to the contract when they work before maturity.

medium

`ERC5095.mint()` uses the wrong slippage limit.

medium

Can not change the fee of the Redeemer

Astaria

Astaria

866.55 USDC • 9 total findings • Sherlock • hansfriese

#10

high

Refinance validation is wrong

high

Potential debt calculation on new loan is wrong

high

`AuctionHouse.cancelAuction()` doesn't refund the last bidder.

medium

timeToEpochEnd is wrong

medium

Rate is used in wrong units

medium

`AuctionHouse.createBid()` will revert when it should increase the duration.

medium

Inconsistent usage of `firstBidTime` in `AuctionHouse.createAuction()` and `AuctionHouse.createBid()`

medium

ChangeInSlope function is wrong.

medium

Borrower might get loss while repaying.

Holograph contest

Holograph contest

0 USDC • Code4rena • hansfriese

#44

3xcalibur contest

3xcalibur contest

555.44 USDC • Code4rena • hansfriese

#14

Juicebox contest

Juicebox contest

342 USDC • Code4rena • hansfriese

#16

Mover

Mover

2,594.88 USDC • 1 total finding • Sherlock • hansfriese

silver

high

Users might steal the remaining fees inside the `ExchangeProxy` contract after `cardTopupToken` is changed.

Union Finance

Union Finance

684.00 USDC • 2 total findings • Sherlock • hansfriese

#13

medium

`AssetManager.removeAdapter()` doesn't update `withdrawSeq` after removing an adapter.

medium

`AssetManager.rebalance()` will revert when the balance of `tokenAddress` in the money market is 0.

Trader Joe v2 contest

Trader Joe v2 contest

2,157.04 USDC • Code4rena • hansfriese

#11

Blur Exchange contest

Blur Exchange contest

114.82 USDC • Code4rena • hansfriese

#20

Mycelium

Mycelium

1,345.87 USDC • 4 total findings • Sherlock • hansfriese

silver

high

The `Vault` contract should check more validations to prevent the `first depositor` issue.

medium

`Vault.convertToShares()` and `onTokenTransfer()` check the wrong condition for the first deposit.

medium

`Vault._withdrawFromPlugin()` always reverts when `_amount == 0`.

medium

The admin might add the same plugin using `Vault.addPlugin()` by fault.

Sep '22

Knox Finance

Knox Finance

6,578.08 USDC • 4 total findings • Sherlock • hansfriese

bronze

high

In `Auction.sol`, users might fail to withdraw the funds from the processed auction because of the uint underflow.

high

`AuctionInternal._previewWithdraw()` might return the wrong result after some orders are removed during the withdrawal.

medium

`Auction.getEpochsByBuyer()` might omit some valid epochs.

medium

Chainlink's latestRoundData might return stale or incorrect results.

Frax Ether Liquid Staking contest

Frax Ether Liquid Staking contest

12.49 USDC • Code4rena • hansfriese

#79

VTVL contest

VTVL contest

636.42 USDC • Code4rena • hansfriese

#10

Art Gobblers contest

Art Gobblers contest

2,383.77 USDC • Code4rena • hansfriese

#11

Harpie

Harpie

23.74 USDC • 1 total finding • Sherlock • hansfriese

#20

medium

Funds might be locked inside the `Vault` for the fee-on-transfer tokens.

PartyDAO contest

PartyDAO contest

83.56 USDC • Code4rena • hansfriese

#52

Notional

Notional

2,972.23 USDC • 1 total finding • Sherlock • hansfriese

#6

high

`TradingUtils._executeTrade()` doesn't check `preTradeBalance` properly.

FEI and TRIBE Redemption contest

FEI and TRIBE Redemption contest

81.81 USDC • Code4rena • hansfriese

#6

Canto Dex Oracle contest

Canto Dex Oracle contest

146.62 CANTO • Code4rena • hansfriese

#10

Nouns Builder contest

Nouns Builder contest

162.01 USDC • Code4rena • hansfriese

#63

Aug '22

Sentiment

Sentiment

219.53 USDC • 1 total finding • Sherlock • hansfriese

#22

medium

`Account` contract might be locked when `underlying` = address(0).

Olympus DAO contest

Olympus DAO contest

1,193.84 USDC • Code4rena • hansfriese

#18

Rigor Protocol contest

Rigor Protocol contest

5,180.34 USDC • Code4rena • hansfriese

silver

Jul '22

Axelar Network v2 contest

Axelar Network v2 contest

58.72 USDC • Code4rena • hansfriese

#39

Golom contest

Golom contest

259.38 USDC • Code4rena • hansfriese

#46

Yield Witch v2 contest

Yield Witch v2 contest

39.92 USDC • Code4rena • hansfriese

#37

Swivel v3 contest

Swivel v3 contest

2,104.07 USDC • Code4rena • hansfriese

#8

Fractional v2 contest

Fractional v2 contest

4,474.07 USDC • Code4rena • hansfriese

#5

Juicebox V2 contest

Juicebox V2 contest

18.28 USDC • Code4rena • hansfriese

#63

Jun '22

Putty contest

Putty contest

4,724 USDC • Code4rena • hansfriese

gold
Nibbl contest

Nibbl contest

3,019.73 USDC • Code4rena • hansfriese

silver
Yieldy contest

Yieldy contest

552.08 USDC • Code4rena • hansfriese

#20

Illuminate contest

Illuminate contest

490.36 USDC • Code4rena • hansfriese

#26

Nested Finance contest

Nested Finance contest

81.82 USDC • Code4rena • hansfriese

#16

Infinity NFT Marketplace contest

Infinity NFT Marketplace contest

82.8 USDC • Code4rena • hansfriese

#50

Canto contest

Canto contest

3,884.36 USDC • Code4rena • hansfriese

#8

Connext Amarok contest

Connext Amarok contest

941.66 USDC • Code4rena • hansfriese

#17

Notional x Index Coop

Notional x Index Coop

135.56 USDC • Code4rena • hansfriese

#36

May '22

Backd Tokenomics contest

Backd Tokenomics contest

6,380.59 USDC • Code4rena • hansfriese

#5

veToken Finance contest

veToken Finance contest

153.16 USDT • Code4rena • hansfriese

#44

Velodrome Finance contest

Velodrome Finance contest

2,239.86 USDC • Code4rena • hansfriese

#11

Rubicon contest

Rubicon contest

1,224.54 USDC • Code4rena • hansfriese

#13

Sturdy contest

Sturdy contest

28.46 USDC • Code4rena • hansfriese

#50

Aura Finance contest

Aura Finance contest

247.07 USDC • Code4rena • hansfriese

#28

Cally contest

Cally contest

84.99 USDC • Code4rena • hansfriese

#53

Enso Finance contest

Enso Finance contest

279.33 USDT • Code4rena • hansfriese

#38

Alchemix contest

Alchemix contest

89.43 DAI • Code4rena • hansfriese

#43

FactoryDAO contest

FactoryDAO contest

116.33 DAI • Code4rena • hansfriese

#42

Cudos contest

Cudos contest

65.9 USDC • Code4rena • hansfriese

#51

Forgotten Runes Warrior Guild contest

Forgotten Runes Warrior Guild contest

45.73 USDC • Code4rena • hansfriese

#53

bunker.finance contest

bunker.finance contest

52.48 USDC • Code4rena • hansfriese

#26