Security Researcher
I am a security and formal methods researcher with expertise in security audits, protocol and architecture analysis, testing and verification. Get in touch!
High
Solo
Total
Medium
Solo
Total
Total Earnings
#67 All Time
Payouts
1st Places
2nd Places
3rd Places
All
Sherlock
Code4rena
Cantina
Mar '25
Collaborative Audit • Sherlock • kuprum
Feb '25
Collaborative Audit • Sherlock • kuprum
Oct '24
high
medium
Sep '24
high
Frequency-dependent `TaxCalculator.sol::calculateCompoundedFactor` leads to interest loss either for users or for protocol
high
Quorum overflow in `CollectionShutdown` leads to complete drain of contract's funds
high
Stale shutdown params can be reused to drain all funds from `CollectionShutdown` contract
high
Stealing of tax refunds via relisting liquidated protected listings
high
`Listings::reserve` reduces the listing count without deleting them; can be abused to shutdown a collection
high
`Listings::_isLiquidation` flag is not cleaned up; will lead to loss of tax refund for users
high
Wrong divisor in `TaxCalculator.sol::calculateCompoundedFactor` leads to 10x interest rates
medium
`ERC1155Bridgable` is not EIP-1155 compliant
medium
`ERC721Bridgable` and `ERC1155Bridgable` are not EIP-2981 compliant, and fail to correctly collect or attribute royalties to artists
medium
`UniswapImplementation` sets fee exemption erroneously
Aug '24
high
Unrestricted Changes to Token Settings Allow Artists to Alter Critical Features
high
Signature replay in `signatureClaim` results in unauthorized claiming of rewards
high
Exposed `_removeCredIdPerAddress` & `_addCredIdPerAddress` allows anyone to cause issues to current holders as well as upcoming ones
high
`shareBalance` bloating eventually blocks curator rewards distribution
high
Signature replay in `createArt` allows to impersonate artist and steal royalties
medium
Contract `PhiNFT1155` can't be paused
Jul '24
Apr '24
Mar '24
Feb '24
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
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
Burner role can not be revoked
Jan '24
Nov '23