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
Nov 5th, 2026 → Nov 5th, 2026
View repo
View results
6 / 6
Submissions
Severity
Validity
Tags
Author
#1
Snowman::mintSnowman() lacks access control, allowing any user to mint unlimited Snowman NFTs for free
High
Valid
[H-01] Unrestricted NFT Min...
khoap1220hue
#2
Snow::s_earnTimer is a single global variable instead of a per-user mapping and is overwritten by buySnow(), causing global DoS on earnSnow()
Low
Valid
[L-02] Global Timer Reset i...
khoap1220hue
#3
SnowmanAirdrop::claimSnowman() computes the Merkle leaf using live i_snow.balanceOf(receiver), allowing griefing DoS and breaking claims when balances change
Medium
Valid
[M-01] DoS to a user trying...
khoap1220hue
#4
SnowmanAirdrop::claimSnowman() never checks s_hasClaimedSnowman[receiver], allowing signature and Merkle proof replay to mint duplicate NFTs
Low
Valid
[L-01] Missing Claim Status...
khoap1220hue
#5
Snow::buySnow() does not reject zero amount and fails to refund native ETH when charging WETH
Medium
Invalid
khoap1220hue
#6
Typo in MESSAGE_TYPEHASH ("addres" instead of "address") breaks EIP-712 compliance with standard wallets
High
Valid
[H-02] Unconsistent `MESSAG...
khoap1220hue
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!