Competitive Audits
First Flights
Leaderboard
Docs
Toggle theme
Sign up
Log in
All First Flights
Thunder Loan
Submissions
AI First Flight
Thunder Loan
AI First Flight #7
Beginner Friendly
Foundry
DeFi
Oracle
EXP
AI First Flight
EXP
Feb 20th, 2026 → Feb 25th, 2026
View repo
View results
10 / 10
Submissions
Severity
Validity
Tags
Author
#1
`delete s_tokenToAssetToken[token]` makes `redeem()` revert for all LPs, stranding funds in the orphaned AssetToken
Medium
Valid
[M-01] 'ThunderLoan::setAll...
webrainsec
#2
`s_feePrecision` changed to constant shifts `s_flashLoanFee` slot, corrupting fee to 100%
High
Valid
[H-01] Storage Collision du...
webrainsec
#3
`getPriceInWeth` reads manipulable AMM spot price, so attackers crash the price and take near-zero fee flash loans
Medium
Valid
[M-02] Attacker can minimiz...
webrainsec
#4
Exchange rate updated before callback lets receiver `deposit()` borrowed tokens, earning asset tokens for free
Medium
Invalid
webrainsec
#5
`deposit()` calls `getCalculatedFee` and `updateExchangeRate`, inflating LP share value without backing
High
Valid
[H-02] Updating exchange ra...
webrainsec
#6
Fee-on-transfer tokens cause accounting mismatch in `deposit()` and `flashloan()`
Medium
Valid
[M-03] `ThunderLoan:: depos...
webrainsec
#7
`flashloan()` has no `nonReentrant` modifier; recursive same-token calls reset `s_currentlyFlashLoaning` flag prematurely, defeating the `repay()` guard
Medium
Invalid
webrainsec
#8
Division by zero in `updateExchangeRate()` when AssetToken `totalSupply` is 0
Low
Invalid
webrainsec
#9
Division by zero in `updateExchangeRate()` when AssetToken `totalSupply` is 0
Low
Invalid
webrainsec
#10
`IThunderLoan` interface uses `address` but `ThunderLoan.repay()` uses `IERC20`
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!