Dria

Swan
NFTHardhat
21,000 USDC
View results
Submission Details
Severity: low
Valid

Unverified Responses Allow Oracles to Earn Rewards Without Providing Valid Outputs

Summary

In the LLMOracleCoordinator contract, responses to requests are not adequately validated, allowing potentially false or fake responses to be submitted. When a response is submitted, the contract grants an allowance for the response, enabling the responder (generator) to withdraw rewards. However, without sufficient verification to ensure response authenticity, malicious generators could submit fake responses to exploit the system and receive allowances without delivering legitimate output, undermining the integrity and value of the contract.

Vulnerability Details

The LLMOracleCoordinator contract coordinates LLM generation requests by allowing registered oracles to respond to these tasks. However, there are no robust checks to validate the quality or authenticity of responses before rewards are allocated. This lack of response validation allows malicious users to repeatedly submit false responses and receive allowances without delivering legitimate work.

  • Each response grants the generator an allowance that allows them to withdraw funds as a reward.

  • Without checks to verify the response content, oracles can exploit the system by submitting meaningless or incorrect data as responses, effectively "gaming" the reward system.

Example Scenario:

Initial Setup:
A user submits a task, expecting valid responses from registered oracles.

Execution:
A malicious oracle submits a fake response with meaningless data, bypassing any quality or authenticity checks. The contract grants an allowance based on the response submission alone.

Outcome:
The malicious oracle can withdraw rewards, despite not providing a legitimate response, which results in unnecessary token expenditure from the contract.

Impact

Malicious generators could drain the contract’s funds by submitting fake responses to receive allowances without delivering meaningful outputs.

Tools Used

Manual Review

Recommendations

Require Fee for Invalid Responses: Set up a penalty mechanism where generators submitting invalid or rejected responses lose a portion of their deposited fee. This could discourage malicious submissions and ensure that only valid responses are rewarded.

Updates

Lead Judging Commences

inallhonesty Lead Judge 9 months ago
Submission Judgement Published
Validated
Assigned finding tags:

Incomplete checks in `respond()` of `LLMOracleCoordinator.sol`, `output` is not checked

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.