Any EOA could sign up to be a validator or generator in the registry. This means that malicious users can submit spam validations and responses just to claim rewards. There is currently no system set in place to discourage dishonest behavior in the protocol as well. The difficulty for generating valid nonces for POW is also very low allowing a larger number of users to potentially place this attack.
The issue starts in the LLMOracleRegistry contract due to the fact that any user can sign up to be any kind of oracle.
Once they are register, they can call either respond or validate without performing any of the necessary generations or validations needed for the protocol to work. This will take up space in the validation and responses array for actual oracle nodes who will provide honest information. It can also potentially reward these malicious actors for not performing any of the necessary work.
The current maximum difficulty for computing the correct nonce is also set as 10 in the market parameters. When we look at the POW validation we see it uses the following check:
Lets take the maximum of 10 for example. To create a message less than max uint256 shifted by 10 bits, the probability of computing the correct nonce would be 1/2^10 which would be 1/1024. This is very easy to compute and would take most computers milliseconds to calculate. Below is an example using the existing computation in the index.ts
file that includes helper functions for the tests
It only takes milliseconds to complete
Malicious users could potentially steal rewards from honest validators and generators. It would be especially be easy for generators as no upper bound is enforced for the standard deviation of scores.
It could also render requests useless and buyer agents would not receive valid responses of assets to buy.
Manual Review
Add whitelist for node oracles
Increase maximum difficulty and minimum difficulty for POW
Incentivize honest behavior and punish dishonest behaviot (ex. slashing staking amount)
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.