https://sherlock-files.ams3.digitaloceanspaces.com/twitter_images/1b2b2a3b-e794-4d69-8a79-484c3015a4ab.jpg

nisedo

Security Researcher

I stare at smart contracts until one of us breaks 👨🏻‍💻 @soliditors 🇫🇷

Contact Me

High

5

Total

Medium

7

Total

$1.21K

Total Earnings

#1179 All Time

13x

Payouts

regular

3x

Top 25

regular

9x

Top 50

All

Sherlock

Code4rena

CodeHawks

Jul '24

Zaros Part 1

Zaros Part 1

193.85 USDC • 1 total finding • CodeHawks • nisedo

#30

high

Wrong parameter passed in `TradingAccount::deductAccountMargin` function that results in excess margin withdrawal

TempleGold

TempleGold

268.26 USDC • 4 total findings • CodeHawks • nisedo

#12

high

Incompatibility with Multisig Wallets in `TempleGold::send` Function

medium

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

low

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

low

Malicious user can prevent `rewardData.perodfinish` from ending by calling `TempleGoldStaking::distributeRewards()` before the end of the reward duration when no starter is set.

Apr '24

TITLES Publishing Protocol

TITLES Publishing Protocol

3.52 USDC • 1 total finding • Sherlock • nisedo

#52

high

`Edition.mintBatch()` uses `msg.value` in a for loop, allowing users to mint tokens for free

Nov '23

Panoptic

Panoptic

19.82 USDC • Code4rena • nisedo

#27

Oct '23

Steadefi

Steadefi

74.10 USDC • 1 total finding • CodeHawks • nisedo

#33

medium

Emergency Closed Vault Can Be Paused Then Resume

The Wildcat Protocol

The Wildcat Protocol

499.47 USDC • 2 total findings • Code4rena • nisedo

#17

high

Lenders can escape the blacklisting of their accounts because they can move their MarketTokens to different accounts and gain the WithdrawOnly Role on any account they want

medium

Protocol markets are incompatible with rebasing tokens

Sep '23

Venus Prime

Venus Prime

4.37 USDC • Code4rena • nisedo

#39

DittoETH

DittoETH

39.01 USDC • 2 total findings • CodeHawks • nisedo

#48

low

Incorrect check for cRation_MAX

low

Instant arbitrage opportunity through rETH and stETH price discrepancy

Aug '23

Shell Protocol

Shell Protocol

9.16 USDC • Code4rena • nisedo

#19

Sparkn

Sparkn

5.30 USDC • 2 total findings • CodeHawks • nisedo

#75

medium

Malicious/Compromised organiser can reclaw all funds, stealing work from supporters

low

Centralization Risk for trusted organizers

Jul '23

Beedle - Oracle free perpetual lending

Beedle - Oracle free perpetual lending

45.21 USDC • 11 total findings • CodeHawks • nisedo

#72

high

Hardcoded Router Address May Cause Token Lockup in Non-Standard Networks

medium

Fixed fee level is used when swap tokens on Uniswap

low

Zero address leads to transaction reverts

low

Missing Events Emitting

low

Amount != 0 checks are missing

gas

Cannot use `_burn` Function in Beedle.sol Contract

gas

[L-07] interface Staking.FeeDistribution is not used

gas

NatSpec documentation for function is missing

gas

Floating pragma in all contracts

gas

[L-06] Some imported libraries are not used

gas

Typo in README "potisitions"

Foundry DeFi Stablecoin CodeHawks Audit Contest

Foundry DeFi Stablecoin CodeHawks Audit Contest

50.79 USDC • 8 total findings • CodeHawks • nisedo

#41

medium

All of the USD pair price feeds doesn't have 8 decimals

medium

`liquidate` does not allow the liquidator to liquidate a user if the liquidator HF < 1

low

Improving the burnDsc() to allow users to mitigate their liquidation's impact

low

Pragma isn't specified correctly which can lead to nonfunction/damaged contract when deployed on Arbitrum

low

Precision loss when calculating the health factor

gas

`burn()` and `staleCheckLatestRoundData()` and `getTimeout()` can be `external`

gas

Use `==` instead for `<=` for `uints` when comparing for `zero` values

gas

No amountCollateral > balance check

CodeHawks Escrow Contract - Competition Details

CodeHawks Escrow Contract - Competition Details

0.00 USDC • 1 total finding • CodeHawks • nisedo

#96

low

Constructor of `Escrow` should make sure that `buyer`, `seller`, `arbiter` are different from each other.