A New Audit Competition Begins: Up to $62.5K in Prizes and Certora Prover Collaboration

HatsFinance
7 min readJun 16, 2023

--

Starting June 19th, 2023, 15:00:00 GMT, to July 3rd, 2023, 15:00:00 GMT.

Get excited for the newest audit competition coming to Hats Finance! VMEX Finance will be hosting a competition with a total prize pool of $62.5K, which will be divided by severity categories. Using our new disclosure mechanism and Certora’s Prover tool, we make the white hacking experience better than ever before!

TLDR: Competition Updates

  • On-chain submissions now create automatic Github issues.
  • A new prize category -Certora’s Prover tool.
  • Gas saving and Formal verification are encrypted, and only accessible by the committee.

This competition is open to all experience levels; so whether you are a seasoned security veteran or amateur, show us what you got!

About the Competition

Starting June 19th, a new vault will open in the Hats dApp — “Vmex Finance Audit Competition”. Participants can check the contracts in scope and start searching for bugs.

VMEX is a meticulously designed over-collateralized lending protocol that utilizes an isolated pool structure and embedded risk management framework, to support the responsible expansion of collateral types in DeFi.

Security researchers can stay up-to-date with the competition, chat with the team, and get their questions answered by joining the dedicated Discord channel in the Hats server. All audit reports will be published in our Discord on the day of the competition.

Don’t miss the latest updates and insights — join our Discord and be the first to know!

Audit competition rewards:

High Severity:

The total prize pool for High severities will be ~$45K USDC. The total High severity reward will be divided between all accepted issues. However, there is a max reward cap of $15K for a single high submission; each new issue gets 1 point.

For a submission to be considered a HIGH-risk vulnerability, issues must:

  • Lead to the loss of user funds.
  • Direct theft of any user funds, whether at rest or in motion
  • Long-term freezing of user funds
  • Theft or long-term freezing of unclaimed yield or other assets
  • Protocol insolvency

Medium Severity:

The total prize pool of the Medium severity category will be ~$12K USDC. Each new issue gets 1 point. The total Medium severity reward will be divided between all accepted issues.

Medium severity vulnerability description:

Issues that lead to an economic loss but do not lead to direct loss of on-chain assets. Examples are:

  • Gas griefing attacks (make users overpay for gas)
  • Attacks that make essential functionality of the contracts temporarily unusable or inaccessible
  • Short-term freezing of user funds

Low severity:

The total prize pool of Low severity will be ~$1.5K USDC. Each new issue gets 1 point. The total Low severity reward will be divided between all accepted issues.

Low severity vulnerability description:

Issues where the behavior of the contracts differs from the intended behavior (as described in the docs and by common sense), but no funds are at risk.

Gas Saving:

The total prize pool of Gas Saving severity will be ~$1.5K USDC.

This competition will reward participants with ideas to maximize gas savings. The first place gets ⅔ (66.6%) of the prize pool, and the second place gets ⅓ (33.3%).The guidelines are as follows:

- Submissions should contain links to zip files with a copy of the project repository
containing the gas-saving changes commented with ‘//Gas saving, with the test suite unchanged.
- Please use google drive or a similar service and attach the link to your submission.
- Optimizations should use solidity (no inline assembly).
-Due to the rules category, submissions will not be public and will only be shared with the committee.
- Entries will be measured on the total average amount of gas used for each function (i.e., the sum of all numbers in the “avg” column), as reported by the hardhat-gas-reporter when running the tests in the repository.

NEW* — Formal Verification — Collaboration with Certora:
The total formal verification severity prize pool will be ~$2.5K USDC.

Formal verification rules and guidelines:

Researchers are given the opportunity to utilize the Certora Prover to find bugs and prove properties about the codebase. Certain predefined contracts will already have a setup, and the best specifications written for these contracts will be eligible for this severity prize pool

The guidelines are as follows:
- Submissions should be links to a directory containing the spec for the entire project
- Please use google drive or a similar service and attach the link to your submission.
- Since the severity category follows a “winner takes all” approach, the submissions will not be public and will only be shared with the committee.

Evaluation process:

The committee will evaluate submissions using bug injections. After the contest, the bugs will be made public and injected to determine the most valuable rules by evaluating their code coverage. Rules that successfully identify real bugs will also be counted.

How to get access to Certora Prover:
To access the Prover, please join the Certora discord https://discord.gg/zyrSpeKf and send a message in the #key-requests channel, mentioning #Vmex_Audit_Competition.

Limitations

Reporters will not receive a bounty for:

Any known issue, such as

  • Issues mentioned in any previous audit reports
  • Vulnerabilities that were already made public (either by HATs or by a third party)
  • “Centralization risks” that are known and/or explicitly coded into the protocol (e.g. an administrator can upgrade crucial contracts and steal all funds)
  • Attacks that require access to leaked private keys or trusted addresses

Submission Guidelines — High/Medium/Low severities:

General information about the submission flow:

The Hats team will create a new repository called “Vmex Audit Competition” under the Hats.finance organization on GitHub. The repository will be kept private until the competition starts. Hats bot will fork it on the first submission. To participate, security researchers must submit their findings on-chain, and an automatic GitHub issue will be generated in the forked repository.

How it works:

SUBMISSION GUIDELINES:

- Submissions should be made using our Dapp.
- You can submit one on-chain submission mentioning all issues found on the repo.
- All new submissions will be created on Vmex forked repo on Hats: https://github.com/hats-finance

Please send a plain ASCII description in the following format:
- [TITLE]: a short description of the issue.
- SEVERITY (either High, Medium or Low; see the rules)
- Submission should contain at least one test demonstrating the problem and, if possible, a possible fix.

Report template:
- Description: Describe the context and the effect of the vulnerability.
- Attack scenario: Describe how the vulnerability can be exploited.
- Attachment:
1) Proof of Concept (PoC) File: You must provide a file containing a proof of concept (PoC) that demonstrates the vulnerability you have discovered.

2) Revised Code File (Optional): If possible, please provide a second file containing the revised code that offers a potential fix for the vulnerability. This file should include the following information:
* Comment with a clear explanation of the proposed fix.
* The revised code with your suggested changes.
* Any additional comments or explanations that clarify how the fix addresses the vulnerability.

- Recommendation : Describe a patch or a potential fix for the vulnerability.

*Due to the nature of the audit competition mechanism, the report will not be encrypted.

Evaluation of Audit Competition — Low/Medium/ High severity

Each eligible bug submission receives 1 point in their severity category. Based on the number of eligible submissions, prize pools are divided.

Important note: A max reward cap of $15k for a single High severity submission only. For example, suppose there is 1 high-severity issue and 3 medium-severity issues. In that case, submitters of the medium-severity vulnerabilities will be awarded $5.3K each and the submitter of the high-severity vulnerability gets $15k.

Evaluation:

  • The first participant to submit an issue following guidelines gets a bounty for that issue (issues already received or out of scope will not receive a reward)
  • The competition starts on June 19 at 15:00 GMT and ends on July 3rd at 15:00 GMT.
  • Issues that we are aware of (as witnessed by any open issues in the repository) will not be eligible for the bug bounty.

Compensation and Impact

A prize pool of $62.5K USDC and NFT rewards from our hacker collection will be distributed among security researchers who submit eligible vulnerability disclosures.

Compensation payment timeline:

  • Ten days after the competition ends, we will announce a winner list.
  • Alongside the winner announcement post, submitters can send disputes to the committee team and request clarification. They can also involve the Hats security team in the process. The goal is to facilitate honest and professional debate regarding disputed submissions.
  • Between 7–14 days after the announcement, we will publish a split contract where the winners can claim their rewards.
  • HATS Service Fee: A 10% deduction from the payout will always be allocated as the service fee.

Security researchers play a crucial role in fostering trust and confidence in web3 technologies, paving the way for mass adoption. By participating in this competition, security researchers can gain recognition for their work, raise their profile, and make valuable connections in the web3 security ecosystem. Ultimately, they can contribute to creating a more secure and equitable community.

Join the VMEX finance Audit Competition today and be a part of the movement to secure the future of web3 and decentralized finance. Check the Hats Finance dApp for more information and in-scope contracts.

Stay tuned and check Hats dapp: https://app.hats.finance/vaults

--

--

HatsFinance
HatsFinance

Written by HatsFinance

Hats.Finance a decentralized smart bug bounty marketplace. Permissionless, scalable, and open bug bounty protocol that allows anyone to provide liquidity.

No responses yet