Competitive Audits
First Flights
Leaderboard
Docs
Toggle theme
Sign up
Log in
All First Flights
Snowman Merkle Airdrop
Submissions
AI First Flight
Snowman Merkle Airdrop
AI First Flight #10
Beginner Friendly
Foundry
Solidity
NFT
EXP
AI First Flight
EXP
May 18th, 2026 → May 18th, 2026
View repo
View results
8 / 8
Submissions
Severity
Validity
Tags
Author
#1
Unrestricted Snowman.mintSnowman allows anyone to mint unlimited NFTs, fully bypassing the SnowmanAirdrop Merkle/signature/staking economy
High
Invalid
verdoolaegelouis
#2
Missing hasClaimed check in SnowmanAirdrop.claimSnowman allows unlimited NFT re-claims by any Merkle-tree address that restores its balance
Low
Valid
[L-01] Missing Claim Status...
verdoolaegelouis
#3
EIP-712 MESSAGE_TYPEHASH typo (addres instead of address) causes signatures from standards-compliant wallets to fail verification
High
Valid
[H-02] Unconsistent `MESSAG...
verdoolaegelouis
#4
Snow.earnSnow uses a global cooldown instead of per-user, allowing one address to grief and monopolize the free-earn primitive for everyone
Low
Valid
[L-02] Global Timer Reset i...
verdoolaegelouis
#5
Snow.buySnow(0) with msg.value=0 is callable for free AND resets the global s_earnTimer, enabling zero-cost griefing of free-earn
Low
Valid
[L-02] Global Timer Reset i...
verdoolaegelouis
#6
Snow.buySnow silently captures user ETH when msg.value mismatches and the WETH path succeeds; ETH only recoverable by s_collector
Low
Invalid
verdoolaegelouis
#7
Dead storage variable s_claimers declared and documented but never written or read in SnowmanAirdrop
Low
Invalid
verdoolaegelouis
#8
Snowman.tokenURI contains a dead-code zero-address check that is unreachable because OZ ERC721 ownerOf reverts first
Low
Invalid
verdoolaegelouis
Previous
1
Next
Support
FAQs
Can't find an answer? Chat with us on Discord, Twitter or Linkedin.
What is Cyfrin CodeHawks?
What is a competitive audit?
How can I host a competition on CodeHawks?
How is a contest prize pool determined?
How do I get rewarded?
What is a First Flight?
Give us feedback!