Our Methodology

At Zellic, we take a case-by-case approach to each of our smart contract security audits. Our goal is to help our clients achieve long-term success by providing them with useful and actionable advice that considers their unique business needs.

During a security assessment, Zellic works through standard phases of security auditing including both automated testing and manual review. These processes can vary significantly per engagement, but the majority of the time is spent on a thorough manual review of the entire scope.

Alongside a variety of open-source tools and analyzers used on an as-needed basis, Zellic focuses primarily on the following classes of security and reliability issues.

  • Basic coding mistakes

    Many critical vulnerabilities in the past have been caused by simple, surface-level mistakes that could have easily been caught ahead of time by code review. We analyze the scoped smart contract code using automated tools to quickly sieve out and catch these shallow bugs. Depending on the engagement, we may also employ sophisticated analyzers such as model checkers, theorem provers, fuzzers, and so forth as necessary. We also perform a cursory review of the code to familiarize ourselves with the contracts.

  • Business logic errors

    Business logic is the heart of any smart contract application. We manually review the contract logic to ensure that the code implements the expected functionality as specified in the platform’s design documents. We also thoroughly examine the specifications and designs themselves for inconsistencies, flaws, and vulnerabilities. This involves use cases that open the opportunity for abuse, such as flawed tokenomics or share pricing, arbitrage opportunities, and so forth.

  • Complex integration risks

    Several high-profile exploits have not been the result of any bug within the contract itself; rather, they are an unintended consequence of the contract's interaction with the broader DeFi ecosystem. We perform a meticulous review of all of the contract’s possible external interactions and summarize the associated risks: for example, flash loan attacks, oracle price manipulation, MEV/sandwich attacks, and so forth.

  • Code maturity

    We review for possible improvements in the codebase in general. We look for violations of industry best practices, guidelines, and code quality standards. We also provide suggestions for possible optimizations, such as gas optimization, upgradeability weaknesses, centralization risks, and so forth.

Impact ratings

At Zellic, we evaluate each finding and assign it an impact rating based on its severity and likelihood. Our experienced team uses their professional judgment to assign a rating on a case-by-case basis, with ratings ranging from Critical to Informational. This helps prioritize urgent security concerns when our clients triage found issues.

Security disclaimer

These reports do not provide any warranties about finding all possible issues within their scope; in other words, the evaluation results do not guarantee the absence of any subsequent issues. Zellic cannot make guarantees about any additional code added to the assessed project after the audit version of our assessment. Furthermore, because a single assessment can never be considered comprehensive, we always recommend multiple independent assessments paired with a bug bounty program.

These reports are for informational purposes only; do not construe any information in this report as legal, tax, investment, or financial advice. Nothing contained in this report constitutes a solicitation or endorsement of a project by Zellic or its employees.