Executive Summary
From June 4, 2024, to June 18, 2024, PredX team engaged Fuzzland to conduct a thorough security audit of their PredX project. The primary objective was to identify and mitigate potential security vulnerabilities, risks, and coding issues to enhance the project's robustness and reliability. Fuzzland conducted this assessment over 10 person-days, involving 2 engineers who reviewed the code over a span of 5 days. Employing a multifaceted approach that included static analysis, fuzz testing, formal verification, and manual code review, Fuzzland team identified 3 issues across different severity levels and categories.
Methodology
- Static Analysis: We perform static analysis using our proprietary internal tools as well as Slither to identify potential vulnerabilities and coding issues.
- Fuzz Testing: We execute fuzz testing by utilizing our proprietary internal fuzzers to uncover potential bugs and logic flaws.
- Invariant Development: We convert the project into Foundry project and develop Foundry invariant tests for the project based on the code semantics and documentations.
- Invariant Testing: We run multiple fuzz testing tools, including Foundry and ItyFuzz, to identify violations of invariants we developed.
- Formal Verification: We develop individual tests for critical functions and leverage Halmos to prove the functions in question are not vulnerable.
- Manual Code Review: Our engineers manually review code to identify potential vulnerabilities not captured by previous methods.
Engagement Summary
The engagement involved a team of skilled consultants / engineers who were responsible for various phases of the audit process, including onboarding, initial audits, additional audits, and quality assurance. Below is a summary of the engagements with specific dates and details.
Dates |
Consultants / Engineers Engaged |
Details |
6/4/2024 |
Qi Su, Eda Zhang |
Onboarding |
6/4/2024 - 6/6/2024 |
Qi Su, Taotao Zhou |
Initial Audits |
6/15/2024 - 6/17/2024 |
Chaofan Shou, Taotao Zhou |
Second Audits |
6/18/2024 |
Chaofan Shou, Eda Zhang |
Quality Assurance |
Vulnerability Severity
We divide severity into four distinct levels: high, medium, low, and info. This classification helps prioritize the issues identified during the audit based on their potential impact and urgency.
- High Severity Issues represent critical vulnerabilities or flaws that pose a significant risk to the system's security, functionality, or performance. These issues can lead to severe consequences such as fund loss, or major service disruptions if not addressed immediately. High severity issues typically require urgent attention and prompt remediation to mitigate potential damage and ensure the system's integrity and reliability.
- Medium Severity Issues are significant but not critical vulnerabilities or flaws that can impact the system's security, functionality, or performance. These issues might not pose an immediate threat but have the potential to cause considerable harm if left unaddressed over time. Addressing medium severity issues is important to maintain the overall health and efficiency of the system, though they do not require the same level of urgency as high severity issues.
- Low Severity Issues are minor vulnerabilities or flaws that have a limited impact on the system's security, functionality, or performance. These issues generally do not pose a significant risk and can be addressed in the regular maintenance cycle. While low severity issues are not critical, resolving them can help improve the system's overall quality and user experience by preventing the accumulation of minor problems over time.
- Informational Severity Issues represent informational findings that do not directly impact the system's security, functionality, or performance. These findings are typically observations or recommendations for potential improvements or optimizations. Addressing info severity issues can enhance the system's robustness and efficiency but is not necessary for the system's immediate operation or security. These issues can be considered for future development or enhancement plans.
Below is a summary of the vulnerabilities with their current status, highlighting the number of issues identified in each severity category and their resolution progress.