Skip to main content

Security Home

Information about Yearn's security processes, team members, disclosures, PGP keys and more can be found in the /yearn-security repo on Github.

Vulnerability disclosure process

Potential vulnerabilities are welcome to be disclosed following the guidelines established in /yearn-security/SECURITY.md. Valid vulnerabilities may be eligible for bounty rewards.

Third-party audits

The core contracts found in yearn-vaults repository have been audited by multiple independent third-party firms:

Yearn is much bigger than its core, the DAO has a rigorous review process for its contracts, and retains independent auditors which review Strategies and other protocol components.

Other public reports can be found under yearn-security/audits.

Security assumption

Yearn as a protocol hinges on the critical assumption that the Governance role is honest. This role is currently controlled by a 6 of 9 Gnosis Safe multisig.

A compromised or malicious Governance can cause catastrophic damage across the entire protocol.

It is a conscious design decision that this role is not behind a time lock. Priority is given to the ability to rapidly update and iterate on live vaults, strategies, and other components. Both so as not to advertise new investment strategies in advance, but also in order to rapidly improve our existing components without interruption. It also avoids downtimes whenever there is a bug or security vulnerability that needs to be fixed.

Trusting Governance to be honest is a prerequisite to trusting Yearn's vaults.

Modifications to these design decisions can be proposed in the forum through Yearn's governance process.

Testing

Vault tests are done using brownie and the ganache CLI development network.

To see test coverage you can have a look at the CI you must look for a run that runs Run build test_duration. The tests are run once a month together to compute the duration cache, then they are split into several test pipelines to speed up testing.