Prepared by:
HALBORN
Last Updated Unknown date
Date of Engagement: April 29th, 2024 - May 21st, 2024
100% of all REPORTED Findings have been addressed
All findings
7
Critical
1
High
0
Medium
2
Low
2
Informational
2
This security assessment report for Gorples (ex-Borpa) examines the gorples-core and gorples-ido program's resilience against potential Solana's specifics threats, vulnerabilities and attack vectors. This includes a thorough examination of the logic and correct functionality of all the provided instructions, and also their security maturity.
The gorples-core program is responsible for core operations of the $GORPLES coin (ex $BORPA token), such as Mint, Burn and External Burn. The gorples-ido program is responsible for handling operations related to the Initial Dex Offering (IDO), involving administrative instructions such as Add Round, Add Whitelist, Airdrop and Withdraw, and also low-privileged users instructions, such as Buy, Claim and Refund.
Entangle team engaged Halborn to conduct a security assessment of their Solana programs, beginning on April 29th, 2024 and ending on May 19th, 2024. The security assessment was scoped to the Solana Programs provided in Entangle-Protocol/gorples-solana GitHub repository. Commit hashes and further details can be found in the Scope section of this report.
Halborn was provided 2 weeks for the engagement and assigned two full-time security engineers to review the security of the Solana Programs in scope. Engineers are blockchain and smart contract security experts with advanced smart contract hacking skills, and deep knowledge of multiple blockchain protocols.
The purpose of the assessment is to:
Identify potential security issues within the Solana Programs.
Ensure that program functionality operates as intended.
In summary, Halborn identified some security concerns, which have been partially addressed by Entangle team. The main ones were the following:
Missing signer check - mint_gorples instruction.
Insecure initialization (missing signer checks) of both programs in-scope.
Multiple input validation enhancements.
Halborn performed a combination of a manual review of the source code and automated security testing to balance efficiency, timeliness, practicality, and accuracy in regard to the scope of the program assessment. While manual testing is recommended to uncover flaws in business logic, processes, and implementation; automated testing techniques help enhance coverage of programs and can quickly identify items that do not follow security best practices.
The following phases and associated tools were used throughout the term of the assessment:
Research into the architecture, purpose, and use of the platform.
Manual program source code review to identify business logic issues.
Mapping out possible attack vectors.
Thorough assessment of safety and usage of critical Rust variables and functions in scope that could lead to arithmetic vulnerabilities.
Scanning dependencies for known vulnerabilities (cargo audit).
Local runtime testing (solana-test-framework).
External libraries and financial-related attacks.
New features/implementations after/with the remediation commit IDs.
Changes that occur outside of the scope of PRs/Commits.
| EXPLOITABILITY METRIC () | METRIC VALUE | NUMERICAL VALUE |
|---|---|---|
| Attack Origin (AO) | Arbitrary (AO:A) Specific (AO:S) | 1 0.2 |
| Attack Cost (AC) | Low (AC:L) Medium (AC:M) High (AC:H) | 1 0.67 0.33 |
| Attack Complexity (AX) | Low (AX:L) Medium (AX:M) High (AX:H) | 1 0.67 0.33 |
| IMPACT METRIC () | METRIC VALUE | NUMERICAL VALUE |
|---|---|---|
| Confidentiality (C) | None (C:N) Low (C:L) Medium (C:M) High (C:H) Critical (C:C) | 0 0.25 0.5 0.75 1 |
| Integrity (I) | None (I:N) Low (I:L) Medium (I:M) High (I:H) Critical (I:C) | 0 0.25 0.5 0.75 1 |
| Availability (A) | None (A:N) Low (A:L) Medium (A:M) High (A:H) Critical (A:C) | 0 0.25 0.5 0.75 1 |
| Deposit (D) | None (D:N) Low (D:L) Medium (D:M) High (D:H) Critical (D:C) | 0 0.25 0.5 0.75 1 |
| Yield (Y) | None (Y:N) Low (Y:L) Medium (Y:M) High (Y:H) Critical (Y:C) | 0 0.25 0.5 0.75 1 |
| SEVERITY COEFFICIENT () | COEFFICIENT VALUE | NUMERICAL VALUE |
|---|---|---|
| Reversibility () | None (R:N) Partial (R:P) Full (R:F) | 1 0.5 0.25 |
| Scope () | Changed (S:C) Unchanged (S:U) | 1.25 1 |
| Severity | Score Value Range |
|---|---|
| Critical | 9 - 10 |
| High | 7 - 8.9 |
| Medium | 4.5 - 6.9 |
| Low | 2 - 4.4 |
| Informational | 0 - 1.9 |
Critical
1
High
0
Medium
2
Low
2
Informational
2
| Security analysis | Risk level | Remediation Date |
|---|---|---|
| Any account can mint infinite amount of $GORPLES tokens to any compatible vault | Critical | Solved - 05/19/2024 |
| Program initializers can be front-run | Medium | Solved - 05/19/2024 |
| Lack of input validations can lead to loss of $SOL | Medium | Risk Accepted |
| Multiple unsafe arithmetic operations | Low | Risk Accepted |
| LP tokens can be minted disproportionately | Low | Risk Accepted |
| Airdrop thresholds are not enforced | Informational | Acknowledged |
| Unwarranted $GORPLES claiming | Informational | Acknowledged |
//
//
//
//
//
//
//
Halborn strongly recommends conducting a follow-up assessment of the project either within six months or immediately following any material changes to the codebase, whichever comes first. This approach is crucial for maintaining the project’s integrity and addressing potential vulnerabilities introduced by code modifications.
// Download the full report
Gorples IDO + Core
* Use Google Chrome for best results
** Check "Background Graphics" in the print settings if needed