The setEggFindThreshold
function allows the contract owner to arbitrarily modify the egg discovery chance at any time during an active game. This creates an unfair environment where the owner could manipulate success probabilities to benefit specific players or themselves.
Affected Code:
Exploitation Scenario:
Game is active with default 20% success chance
Owner monitors pending transactions in mempool
When detecting a transaction from favoured address:
Frontruns transaction by increasing threshold to 100%
Targeted player gets guaranteed egg mint
Threshold reset to original value afterward
Technical Impact:
Complete control over success probabilities:
Can set to 0% to block all discoveries
Can set to 100% for guaranteed mints
No time restrictions or governance delays
Changes apply immediately to all subsequent transactions
Severity: Medium
Direct Financial Impact: Enables selective favouritism for NFT minting
Protocol Credibility Risk: Undermines game fairness perception
Manipulation Potential: Owner could extract value by selling guaranteed mints
Likelihood: Medium
Requires malicious/compromised owner
Easy to execute with basic blockchain monitoring tools
Manual review
Immutable Threshold After Game Start:
Time-Locked Changes:
Transparency Measure:
Owner is trusted and is not expected to interact in ways that would compromise security
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.