The contract allows setting stake amounts (generatorStakeAmount, validatorStakeAmount) to zero without validation in both setStakeAmounts and initialization. This oversight enables free oracle registration if amounts are misconfigured, bypassing the economic security model of the system and potentially allowing unlimited spam registrations without any stake-based accountability.
Current Implementation:
https://github.com/Cyfrin/2024-10-swan-dria/blob/main/contracts/llm/LLMOracleRegistry.sol#L135
https://github.com/Cyfrin/2024-10-swan-dria/blob/main/contracts/llm/LLMOracleRegistry.sol#L94
The contract doesn't validate that stake amounts are greater than zero when being set by the owner. This means:
Owner could accidentally set stakes to zero
Allows registration with zero tokens
No validation in initialization either
Free oracle registration possible if amounts are zero
Compromises the economic security model
Could lead to spam registrations
No stake-based accountability
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.