synor/docs/SECURITY_AUDIT_SCOPE.md
Gulshan Yadav b22c1b89f0 feat: Phase 7 production readiness improvements
- Add SYNOR_BOOTSTRAP_PEERS env var for runtime seed node configuration
- Implement secrets provider abstraction for faucet wallet key security
  (supports file-based secrets in /run/secrets for production)
- Create WASM crypto crate foundation for web wallet (Ed25519, BIP-39)
- Add DEPLOYMENT.md guide for testnet deployment
- Add SECURITY_AUDIT_SCOPE.md for external security audit preparation
- Document seed node deployment process in synor-network

Security improvements:
- Faucet now auto-detects /run/secrets for secure key storage
- CORS already defaults to specific origins (https://faucet.synor.cc)
- Bootstrap peers now configurable at runtime without recompilation
2026-01-08 07:21:14 +05:30

7.7 KiB

Synor Blockchain Security Audit Scope

This document defines the scope for external security audits of the Synor blockchain.


1. Overview

Project: Synor - High-throughput blockDAG with quantum-resistant cryptography Language: Rust (core), TypeScript (web wallet) Audit Priority: High (pre-mainnet requirement)

Key Innovations to Audit

  • GHOSTDAG consensus with PHANTOM ordering
  • Hybrid Ed25519 + Dilithium3 post-quantum signatures
  • WASM-based smart contract VM
  • Custom UTXO model with parallel validation

2. Audit Scope by Priority

2.1 Critical Priority (Must Audit)

Cryptographic Primitives (crates/synor-crypto/)

Component File Focus Areas
Keypair generation src/keypair.rs Entropy sources, secure randomness
Ed25519 signatures src/signature.rs Signature malleability, validation
Dilithium3 PQC src/dilithium.rs Parameter validation, side-channel resistance
Hybrid signatures src/hybrid.rs Composition correctness, fallback behavior
Address derivation src/address.rs Bech32m encoding, checksum validation
Key encryption src/lib.rs AES-256-GCM, Argon2 parameters

Specific Concerns:

  • Verify Dilithium3 implementation matches FIPS 204 draft
  • Check for timing side-channels in signature verification
  • Validate entropy sources on different platforms

Consensus (crates/synor-consensus/)

Component File Focus Areas
GHOSTDAG src/ghostdag.rs K-cluster selection, anticone calculation
Ordering src/ordering.rs Topological sort, merge set computation
Block validation src/validation.rs PoW verification, timestamp checks
Difficulty adjustment src/difficulty.rs DAA window, manipulation resistance
Finality src/finality.rs Finality depth, reorg resistance

Specific Concerns:

  • GHOSTDAG K parameter (K=18) sufficient for 10 BPS?
  • DAA vulnerability to timestamp manipulation
  • Selfish mining / withholding attack resistance

DAG Structure (crates/synor-dag/)

Component File Focus Areas
Block storage src/store.rs Hash collision handling
Parent selection src/relations.rs Tip selection algorithm
Blue score src/blue_score.rs Score computation correctness

2.2 High Priority

Smart Contract VM (crates/synor-vm/)

Component File Focus Areas
WASM executor src/executor.rs Sandbox escape, memory isolation
Gas metering src/gas.rs Metering accuracy, DoS prevention
Host functions src/host.rs Input validation, state access
Memory management src/memory.rs Bounds checking, overflow

Specific Concerns:

  • WASM sandbox escape vulnerabilities
  • Gas exhaustion attacks
  • Host function privilege escalation
  • Stack overflow in recursive contracts

Transaction Processing (crates/synor-types/)

Component File Focus Areas
Transaction structure src/transaction.rs Signature verification order
UTXO management src/utxo.rs Double-spend prevention
Script validation src/script.rs Opcode security

2.3 Medium Priority

Network Layer (crates/synor-network/)

Component File Focus Areas
P2P protocol src/service.rs Message validation, DoS vectors
Peer reputation src/reputation.rs Ban bypass, sybil resistance
Rate limiting src/rate_limit.rs Token bucket implementation
Sync protocol src/sync/ Malicious peer handling

Specific Concerns:

  • Eclipse attack resistance
  • Network partition detection accuracy
  • Gossipsub topic amplification

Storage (crates/synor-storage/)

Component File Focus Areas
Block storage src/block_store.rs Corruption recovery
UTXO set src/utxo_store.rs Consistency guarantees
Pruning src/pruning.rs Data availability after prune

2.4 Lower Priority

RPC API (crates/synor-rpc/)

Component Focus Areas
JSON-RPC handlers Input validation, injection
WebSocket Connection limits, memory exhaustion
Rate limiting Bypass prevention

Governance (crates/synor-governance/)

Component Focus Areas
DAO voting Vote weight manipulation
Treasury Withdrawal limits, timelocks
Proposals Execution safety

Node Application (apps/synord/)

Component Focus Areas
Configuration Secrets handling
Service orchestration Race conditions
CLI wallet Key storage security

3. Out of Scope

The following are not in scope for the initial audit:

  • Third-party dependencies (covered by cargo-audit)
  • Web wallet frontend (separate web security audit)
  • DevOps/infrastructure security
  • Physical security of node operators
  • Social engineering vectors

4. Threat Model

4.1 Adversary Capabilities

Level Description Mitigations Expected
L1 Remote attacker, no stake Network protocol security
L2 Minority miner (<33% hashrate) Consensus security
L3 Majority miner (>50% hashrate) Finality guarantees
L4 Quantum computer access Dilithium3 signatures
L5 Nation-state (future) Quantum + classical resistance

4.2 Key Security Properties

  1. Consensus Safety: No conflicting finalized blocks
  2. Liveness: Transactions confirm within reasonable time
  3. Censorship Resistance: No single entity can block transactions
  4. Key Security: Private keys protected from extraction
  5. Quantum Resistance: Secure against future quantum computers

5. Prior Work & References

Consensus

  • PHANTOM/GHOSTDAG papers (Sompolinsky & Zohar)
  • Kaspa implementation reference
  • DAGKnight improvements

Cryptography

  • FIPS 204 (Dilithium) draft specification
  • Ed25519 (RFC 8032)
  • Bech32m (BIP-350)
  • Argon2 (RFC 9106)

Smart Contracts

  • WASM specification
  • Wasmtime security model

6. Deliverables Expected

  1. Full Report: Detailed findings with severity ratings

  2. Executive Summary: Non-technical overview

  3. Findings by Category:

    • Critical (immediate action required)
    • High (fix before mainnet)
    • Medium (fix within 30 days)
    • Low (best practice improvements)
    • Informational (suggestions)
  4. Proof of Concepts: For any exploitable vulnerabilities

  5. Remediation Verification: Re-check after fixes


7. Audit Timeline

Phase Duration Description
Kickoff 1 day Scope review, access setup
Crypto Audit 2 weeks synor-crypto, synor-consensus
VM Audit 1 week synor-vm, contract security
Network Audit 1 week synor-network, P2P protocols
Report 1 week Findings documentation
Remediation 2 weeks Fix implementation
Verification 3 days Re-audit of fixes

Total: ~7 weeks


8. Contact & Resources

Repository Access

  • Main repo: github.com/g1-technologies/synor (private until audit)
  • Test vectors: docs/test-vectors/
  • Architecture docs: docs/architecture/

Points of Contact

  • Technical Lead: [To be assigned]
  • Security Lead: [To be assigned]

Development Environment

  • Rust 1.75+
  • wasm32-unknown-unknown target
  • All tests: cargo test --workspace
  • Benchmarks: cargo bench --workspace

9. Previous Audits

None (first external audit)


10. Changelog

Date Version Changes
2026-01-08 1.0 Initial scope document

Prepared for Phase 7: Production Readiness