Art Gobblers contest - eighty's results

Experimental Decentralized Art Factory By Justin Roiland and Paradigm.

General Information

Platform: Code4rena

Start Date: 20/09/2022

Pot Size: $100,000 USDC

Total HM: 4

Participants: 109

Period: 7 days

Judge: GalloDaSballo

Id: 163

League: ETH

Art Gobblers

Findings Distribution

Researcher Performance

Rank: 101/109

Findings: 1

Award: $55.20

🌟 Selected for report: 0

🚀 Solo Findings: 0

Transparency Issue

As stated in VRF Security Considerations [V1], the requestId plays an important role in ensuring fairness and prevent abuse of multiple requests to the oracle. Since the main component (ArtGobblers.sol#L541) doesn't actively manage the requestId returned, preventing fairness may be delegated to third parties monitoring the contract. Thus, the misused named return variable in src/utils/rand/ChainlinkV1RandProvider.sol#L62-L70 (code below) results in an 0x00 event:

function requestRandomBytes() external returns (bytes32 requestId) {
    // The caller must be the ArtGobblers contract, revert otherwise.
    if (msg.sender != address(artGobblers)) revert NotGobblers();

    emit RandomBytesRequested(requestId);

    // Will revert if we don't have enough LINK to afford the request.
    return requestRandomness(chainlinkKeyHash, chainlinkFee); 
}

Recommendations

function requestRandomBytes() external returns (bytes32 requestId) {
    // The caller must be the ArtGobblers contract, revert otherwise.
    if (msg.sender != address(artGobblers)) revert NotGobblers();

    // Will revert if we don't have enough LINK to afford the request.
    requestId = requestRandomness(chainlinkKeyHash, chainlinkFee);
    
    emit RandomBytesRequested(requestId);
}

#0 - GalloDaSballo

2022-10-06T19:14:25Z

Transparency Issue

1 Refactoring

I think the title is exaggerated, we want real vulnerabilities, this one has an informational impact

#1 - GalloDaSballo

2022-10-06T19:14:27Z

1R

#2 - GalloDaSballo

2022-10-06T19:14:42Z

Presentation is good, needs more findings though

AuditHub

A portfolio for auditors, a security profile for protocols, a hub for web3 security.

Built bymalatrax © 2024

Auditors

Browse

Contests

Browse

Get in touch

ContactTwitter