Summary
100% of all REPORTED Findings have been addressed
- 0Acknowledged
- 3Risk Accepted
- 5Solved
- 8All Findings
- Critical0
- High0
- Medium1
- 1Risk A.
- Low2
- 2Risk A.
- Informational5
- 5Solved
Summary#
Oro engaged Halborn to conduct a security assessment on their smart contracts beginning on June 1st 2026 and ending on June 1st, 2026. The security assessment was scoped to the smart contracts provided in the oro-ethereum-contracts GitHub repository, provided to the Halborn team. Commit hash and further details can be found in the Scope section of this report.
The reviewed contracts form a centralized revenue-capture pipeline for the ORO protocol. OroToken is a capped, pausable ERC-20 with owner-controlled supply. RevenueRouter receives cross-chain stablecoin revenue and splits it between a treasury and a buyback contract at an admin-configured ratio. OroBuyback swaps received stablecoins into ORO via Uniswap V3. The entire flow is gated behind privileged roles with no permissionless participation, making key management the primary trust surface.
ASSESSMENT SUMMARY#
Halborn was provided with 1 day for this engagement and assigned a full-time security engineer to assess the security of the smart contracts in scope. The assigned engineer possesses deep expertise in blockchain and smart contract security, including hands-on experience with multiple blockchain protocols.
The objective of this assessment is to:
Identify potential security issues within the
oro-ethereum-contractssmart contracts.Ensure that smart contract of
oro-ethereum-contractssmart contracts functions operate as intended.
In summary, Halborn identified several areas for improvement to reduce the likelihood and impact of security risks, which were partially addressed by the Oro team. The main recommendations were:
Convert minRouteAmount to a per-token mapping so that each registered asset can have an appropriate threshold matching its decimal precision.Refund excess ETH to the executor after the relayer call.Combine revenue routing and buyback execution into a single atomic transaction to eliminate the multi-block pre-positioning window.
TEST APPROACH AND METHODOLOGY#
Halborn performed a combination of manual review of the code and automated security testing to balance efficiency, timeliness, practicality, and accuracy in regard to the scope of the smart contract assessment. While manual testing is recommended to uncover flaws in logic, process, and implementation; automated testing techniques help enhance coverage of smart contracts 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 and purpose of the
oro-ethereum-contractsin-scope contracts.Manual code review and walkthrough of the
oro-ethereum-contractsin-scope contracts.Manual assessment of critical
Solidityvariables and functions to identify potential vulnerability classes.Manual testing using custom scripts.
Static Analysis of security for scoped contract, and imported functions. (
Slither).Local deployment and testing with (
Foundry,Remix IDE).
Risk Methodology#
4.1 EXPLOITABILITY
Attack Origin (AO):
Attack Cost (AC):
Attack Complexity (AX):
Metrics:
| EXPLOITABILITY METRIC () | METRIC VALUE | NUMERICAL VALUE |
|---|---|---|
| Attack Origin (AO) | Arbitrary (AO:A) | 1 |
| Specific (AO:S) | 0.2 | |
| Attack Cost (AC) | Low (AC:L) | 1 |
| Medium (AC:M) | 0.67 | |
| High (AC:H) | 0.33 | |
| Attack Complexity (AX) | Low (AX:L) | 1 |
| Medium (AX:M) | 0.67 | |
| High (AX:H) | 0.33 |
4.2 IMPACT
Confidentiality (C):
Integrity (I):
Availability (A):
Deposit (D):
Yield (Y):
Metrics:
| IMPACT METRIC () | METRIC VALUE | NUMERICAL VALUE |
|---|---|---|
| Confidentiality (C) | None (C:N) | 0 |
| Low (C:L) | 0.25 | |
| Medium (C:M) | 0.5 | |
| High (C:H) | 0.75 | |
| Critical (C:C) | 1 | |
| Integrity (I) | None (I:N) | 0 |
| Low (I:L) | 0.25 | |
| Medium (I:M) | 0.5 | |
| High (I:H) | 0.75 | |
| Critical (I:C) | 1 | |
| Availability (A) | None (A:N) | 0 |
| Low (A:L) | 0.25 | |
| Medium (A:M) | 0.5 | |
| High (A:H) | 0.75 | |
| Critical (A:C) | 1 | |
| Deposit (D) | None (D:N) | 0 |
| Low (D:L) | 0.25 | |
| Medium (D:M) | 0.5 | |
| High (D:H) | 0.75 | |
| Critical (D:C) | 1 | |
| Yield (Y) | None (Y:N) | 0 |
| Low (Y:L) | 0.25 | |
| Medium (Y:M) | 0.5 | |
| High (Y:H) | 0.75 | |
| Critical (Y:C) | 1 |
4.3 SEVERITY COEFFICIENT
Reversibility (R):
Scope (S):
Metrics:
| SEVERITY COEFFICIENT () | COEFFICIENT VALUE | NUMERICAL VALUE |
|---|---|---|
| Reversibility () | None (R:N) | 1 |
| Partial (R:P) | 0.5 | |
| Full (R:F) | 0.25 | |
| Scope () | Changed (S:C) | 1.25 |
| Unchanged (S:U) | 1 |
| Critical | High | Medium | Low | Informational |
| 9 - 10 | 7 - 8.9 | 4.5 - 6.9 | 2 - 4.4 | 0 - 1.9 |
Scope#
Assessment Summary & Findings Overview#
# | Title | Severity | Score | Status |
|---|---|---|---|---|
| Decimal-Agnostic Route Threshold Enforcement Permanently Disables Dust Guard for Higher-Precision Tokens | Medium | 5.0 | Risk Accepted06/10/2026 | |
| Missing Native ETH Return Path After Relayer Interaction | Low | 2.5 | Risk Accepted06/10/2026 | |
| Observable Buyback Allocation Between Routing and Swap Transactions Enables MEV Pre-Positioning | Low | 2.5 | Risk Accepted06/10/2026 | |
| Shared AddressesUpdated Event Across Separate Setters Obscures Which Address Changed for Off-Chain Monitors | Informational | 1.3 | Solved06/10/2026 | |
| Missing Full-Path Token Uniqueness Validation Allows Cyclic Swap Paths That Waste Pool Fees | Informational | 1.0 | Solved06/10/2026 | |
| Undocumented Mempool Exposure During CREATE2 Deployment Risks Front-Running of Initializer Authority | Informational | 0.6 | Solved06/10/2026 | |
| Missing Zero-Amount Mint Rejection Allows No-Op Transactions That Emit Misleading Supply Events | Informational | 0.5 | Solved06/10/2026 | |
| Absent Zero-Balance Sweep Guard Emits Spurious Transfer and Swept Events Polluting Off-Chain Indexers | Informational | 0.5 | Solved06/10/2026 |
Findings & Tech Details#
Description
Recommendation
Remediation Comment
Description
Recommendation
Remediation Comment
Description
Recommendation
Remediation Comment
Description
Recommendation
Description
Recommendation
Description
Recommendation
Description
Recommendation
Description
Recommendation
Disclaimer#
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.
