The contract fails to validate the success of Chainlink Keeper registration, potentially leading to non-functional weather update automation.
Severity: Medium
Likelihood: Medium
When registering a Chainlink Keeper for automated weather updates, the contract doesn't verify if the registration was successful via the returned upkeepId
.
Root Cause:
Initial State:
User requests NFT with automation enabled
Pays additional LINK tokens for keeper registration
Registration attempt occurs
Attack Scenario:
User pays for automated updates
Keeper registration fails silently
upkeepId
is stored without validation
Weather updates never occur
LINK tokens wasted
Failed automation setup goes undetected
Users lose LINK tokens
Weather updates don't occur
Poor user experience
System reliability compromised
Manual Review
Add proper validation for keeper registration:
This is informational. It is not required the keeper registration status to be checked, because if the `registerUpkeep` fails, the whole transaction will revert: https://github.com/smartcontractkit/chainlink/blob/b5e5f8bccfdc764ccba4ce8f87ce28223426c667/contracts/src/v0.8/automation/v2_1/AutomationRegistrar2_1.sol#L213
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.