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
Feb 22nd, 2026 → Feb 22nd, 2026
View repo
View results
10 / 10
Submissions
Severity
Validity
Tags
Author
#1
[H-01] `Snowman.mintSnowman()` has no access control — anyone can mint unlimited NFTs bypassing the entire airdrop
High
Valid
[H-01] Unrestricted NFT Min...
webrainsec
#2
[H-02] `MESSAGE_TYPEHASH` typo ("addres" instead of "address") breaks all EIP-712 signature verification
High
Valid
[H-02] Unconsistent `MESSAG...
webrainsec
#3
[H-03] `s_hasClaimedSnowman` is set but never checked — users can claim multiple times
Low
Valid
[L-01] Missing Claim Status...
webrainsec
#4
[H-04] `s_earnTimer` is global — one user's action blocks all others from earning, and `buySnow(0)` griefs for free
Low
Valid
[L-02] Global Timer Reset i...
webrainsec
#5
[H-05] `claimSnowman` uses dynamic `balanceOf()` for Merkle leaf — any balance change after tree generation breaks claims
Medium
Valid
[M-01] DoS to a user trying...
webrainsec
#6
[M-01] `buySnow()` silently traps ETH when `msg.value` doesn't exactly match the fee
Low
Invalid
webrainsec
#7
[M-02] No nonce in EIP-712 signature scheme allows signature replay after re-acquisition
Medium
Invalid
webrainsec
#8
[L-01] `collectFee()` calls `i_weth.transfer()` directly instead of `safeTransfer()`, ignoring return value
Low
Invalid
webrainsec
#9
[L-02] `s_claimers` array declared but never populated — dead storage variable
Low
Invalid
webrainsec
#10
[L-03] `tokenURI()` has unreachable custom error — `ownerOf()` already reverts for non-existent tokens
Low
Invalid
webrainsec
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!