NT Bundle - Neutral Trade


Prepared by:

Halborn Logo

HALBORN

Last Updated Unknown date

Date of Engagement: January 8th, 2025 - January 21st, 2025

Summary

100% of all REPORTED Findings have been addressed

All findings

12

Critical

0

High

0

Medium

1

Low

3

Informational

8


1. Introduction

Neutral Trade engaged Halborn to conduct a security assessment on their Solana Validator program beginning on January 8th, 2025 and ending on January 21st, 2025. The security assessment was scoped to the smart contracts provided in the GitHub repository bundle-audit, commit hashes, and further details can be found in the Scope section of this report.


The Neutral Trade is releasing NT Bundle, a program that allows user to participate in a multi-strategy hedge fund that interacts with multiple protocols, initially with Drift vaults.

2. Assessment Summary

Halborn was provided 2 weeks for the engagement and assigned one full-time security engineer to review the security of the Solana Programs in scope. The engineer is a blockchain and smart contract security expert 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 codebase.

    • Validate that the funds are properly managed by the program, avoiding unauthorized access to them

    • Verify that the system has implemented the access control principles to prevent malicious users to access permissioned functions


In summary, Halborn identified some improvements to reduce the likelihood and impact of multiple risks, which were partially addressed by the Neutral Trade team. The main ones were the following:

    • Prevent calling the assign_profit_share entry point if POD token's total supply is zero.

    • Prevent receivers to be allocated an excessive allocation bps.

    • Require the manager of the Drift vaults' related functions to be only the bundle keeper.

    • Prefer using Anchor's Context Accounts to provide accounts to a function.

3. SCOPE

REPOSITORY
(a) Repository: bundle-audit
(b) Assessed Commit ID: 7d6c7af
(c) Items in scope:
  • bundle-audit/programs/ntbundle/src/errors.rs
  • bundle-audit/programs/ntbundle/src/events.rs
  • bundle-audit/programs/ntbundle/src/lib.rs
↓ Expand ↓
Out-of-Scope: Third party dependencies and economic attacks.
Out-of-Scope: New features/implementations after the remediation commit IDs.

4. Findings Overview

Security analysisRisk levelRemediation
First user allocating funds might drain underlying balanceMediumSolved - 01/30/2025
Centralization risk due to manager control over ReceiversLowRisk Accepted - 01/30/2025
Inconsistent constraints on manager for multiple entry pointsLowSolved - 01/30/2025
Risk of passing key accounts as parameters in initialize_bundleLowPartially Solved - 02/07/2025
Lack of validation of new authority on multiple functionsInformationalAcknowledged - 01/30/2025
Arbitrage opportunity if NAV is predictedInformationalPartially Solved - 02/06/2025
Lack of global allocation BPS tracking in NTBundle programInformationalSolved
Lack of validation for allocation_bps in Receiver setupInformationalSolved - 01/30/2025
Lack of functionality to re-enable a Receiver accountInformationalSolved - 01/30/2025
Incorrect manager role validation in update_allocations and remove_strategyInformationalSolved - 01/30/2025
Redundant validation of allocation_bps in distribute_to_receiversInformationalSolved - 01/30/2025
Redundant validation of refill_amount in perform_refillInformationalSolved - 01/30/2025

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

NT Bundle

* Use Google Chrome for best results

** Check "Background Graphics" in the print settings if needed