The assertValidNonce function in LLMOracleCoordinator uses an insufficient source of entropy for its proof-of-work validation.
The nonce validation only includes taskId, input, requester, and responder without any timestamp or block-specific data, making it vulnerable to precomputation attacks.
The current implementation of nonce validation:
Issues with this implementation:
Static Input Parameters:
All inputs except nonce are known in advance
No time-based or block-based variables included
Allows offline precomputation of valid nonces
HIGH severity because:
Allows precomputation of valid nonces
Eliminates the intended proof-of-work protection
Makes spam attacks more feasible
Manual Review
Add block-specific data like block.number and block.timestamp to the nonce validation
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.