Audit Status
The x0 protocol has not yet undergone a third-party security audit. The protocol is currently on devnet and should not be used with real assets on mainnet until audited.
Internal Security Review
The codebase has been through an internal security review that identified and addressed findings across multiple severity levels. The following categories of findings have been resolved:
HIGH Severity — Resolved
| ID | Finding | Resolution |
|---|
| HIGH-1 | Clock manipulation via Clock::get() | Added slot-based dual checks with buffers (ROLLING_WINDOW_SLOTS, TIME_CHECK_BUFFER_SLOTS) |
MEDIUM Severity — Resolved
| ID | Finding | Resolution |
|---|
| MEDIUM-2 | Policy update spam | Added POLICY_UPDATE_COOLDOWN_SLOTS (750 slots, ~5 min) rate limiting |
| MEDIUM-6 | Arbiter rush resolution | Added ARBITER_RESOLUTION_DELAY_SLOTS (216,000 slots, ~24h) delay |
| MEDIUM-8 | No per-transaction limit | Added maxSingleTransaction field to AgentPolicy |
| MEDIUM-9 | Reputation gaming with few transactions | Added MIN_TRANSACTIONS_FOR_REPUTATION (10) threshold |
| MEDIUM-10 | Extra account metas re-initialization | Added ExtraMetasAlreadyInitialized check with authority validation |
| MEDIUM-12 | Dust transfer spam | Added MIN_TRANSFER_AMOUNT (100 micro-units) threshold |
LOW Severity — Resolved
| ID | Finding | Resolution |
|---|
| LOW-2 | Unbounded string fields in events | Added max length constraints on all string event fields |
| LOW-3 | Error code numbering scheme | Established structured numbering (0x1100–0x1700 ranges) |
Security Checklist
On-Chain Programs
SDK
Testing
Planned Audit Scope
When the protocol proceeds to audit, the following areas are in scope:
- x0-guard — Transfer hook logic, spend limit enforcement, whitelist verification, delegation model
- x0-escrow — State machine transitions, timeout handling, CPI to reputation
- x0-wrapper — Reserve invariant, timelock governance, fee calculation, emergency operations
- x0-token — Mint initialization, Token-2022 extension configuration, confidential transfer setup
- x0-zk-verifier — Proof verification logic, context freshness, parameter binding
- x0-registry — Registration, deregistration, capability metadata
- x0-reputation — Score calculation, temporal decay, CPI authorization
- x0-zk-proofs — Rust cryptographic primitives, WASM bindings
- Cross-program interactions — CPI call graph, account sharing, PDA ownership
Responsible Disclosure
If you discover a security vulnerability in the x0 protocol, please report it responsibly:
- Do not open a public GitHub issue
- Contact the team directly via the channels listed in the project repository
- Allow reasonable time for the team to investigate and patch before public disclosure