Dria

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

Generator can respond with empty output and erase agent's state if selected as best response

Summary

Natspec for the respond function states that the output provided by the generator has to be non-empty:

/// @notice Respond to an LLM generation.
/// @dev Output must be non-empty.
/// ...
function respond(uint256 taskId, uint256 nonce, bytes calldata output, bytes calldata metadata)

That is however not enforced by function implementation. If response with empty output is selected as the best response in withdraw phase it will set agent's new state to empty output.

Vulnerability Details

Even though it is not likely that response with empty output is selected as best, likelihood increases if generator also runs validator(s) using different accounts and impacts the scoring in that way.

Impact

Agent's state can be set to empty value

Tools Used

Manual review

Recommendations

Add check that generator's output is not empty

Updates

Lead Judging Commences

inallhonesty Lead Judge 12 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.