|
| 1 | +# StellarChainAnalysis – Customizable Graph-Powered Threat Intelligence Platform for Stellar Blockchain |
| 2 | + |
| 3 | + |
| 4 | + |
| 5 | +**StellarChainAnalysis** is a **highly customizable, modular, and user-configurable** blockchain analytics and threat intelligence platform for the **Stellar Network**. It ingests raw on-chain data, builds a **dynamic, queryable graph model**, and empowers users to **interact with, extend, and personalize the resulting graph** based on their specific use case — whether security, compliance, research, or business intelligence. |
| 6 | + |
| 7 | +Unlike rigid tools, StellarChainAnalysis is designed as a **flexible infrastructure**: |
| 8 | +- Users can **define custom node types, relationships, and properties** |
| 9 | +- **Create personalized risk models** using configurable rules and ML pipelines |
| 10 | +- **Interact directly with the graph** via APIs, visual queries, or embedded dashboards |
| 11 | +- **Export, extend, or integrate** the graph into external systems (BI tools, SIEM, notebooks) |
| 12 | + |
| 13 | +Built for **security teams, auditors, researchers, and enterprises**, it supports **mass customization** — enabling each deployment to evolve into a **tailored on-chain intelligence engine**. |
| 14 | + |
| 15 | + |
| 16 | +## Project Vision |
| 17 | + |
| 18 | +To create a **trusted, scalable, and extensible security operations platform** that empowers the Stellar ecosystem with proactive threat intelligence, forensic capabilities, and transparent risk assessment. |
| 19 | + |
| 20 | +## Core Objectives |
| 21 | + |
| 22 | +- **Enable users to define and detect** any custom transaction pattern in real time using **configurable rules, Cypher queries, or ML models** |
| 23 | +- **Allow full control over graph enrichment** — users can **add custom node types, properties, relationships, and enrichment pipelines** to model domain-specific logic |
| 24 | +- **Support dynamic, user-defined risk scoring** — combine built-in heuristics with **custom formulas, external signals, or trained models** |
| 25 | +- **Provide deep, interactive graph exploration** — users can **query, filter, traverse, and manipulate the live graph** through visual tools or direct API access |
| 26 | +- **Deliver fully configurable alerting** — route alerts based on **user-defined thresholds, channels, and enrichment context** (Slack, email, SIEM, webhooks) |
| 27 | +- **Empower advanced forensic workflows** — with **custom graph snapshots, time-travel queries, export formats, and integration hooks** for Jupyter, BI tools, or internal platforms |
| 28 | + |
| 29 | + |
| 30 | +## Architecture (C4 Model – Container Diagram) |
| 31 | + |
| 32 | +```mermaid |
| 33 | +graph LR |
| 34 | + %% External Services |
| 35 | + subgraph External["External Services"] |
| 36 | + H["Stellar Horizon API\n(horizon.stellar.org)"] |
| 37 | + end |
| 38 | +
|
| 39 | + %% Ingestion Layer |
| 40 | + subgraph Ingestion["Ingestion Layer"] |
| 41 | + I["Horizon Stream Listener\n(WebSocket / SSE)"] |
| 42 | + end |
| 43 | +
|
| 44 | + %% Messaging |
| 45 | + subgraph Messaging["Event Bus"] |
| 46 | + K["Redis Streams\n(Pluggable: Kafka, RabbitMQ)"] |
| 47 | + end |
| 48 | +
|
| 49 | + %% Processing Layer |
| 50 | + subgraph Processing["Processing Layer (User-Extensible)"] |
| 51 | + P["Transaction Processor\n(Custom Parser Plugins)"] |
| 52 | + G["Graph Enricher\n(Custom Cypher + APOC)"] |
| 53 | + M["ML Anomaly Detector\n(User-Trainable Models)"] |
| 54 | + end |
| 55 | +
|
| 56 | + %% Storage |
| 57 | + subgraph Storage["Graph Storage"] |
| 58 | + N[(Neo4j Graph DB\nAPOC + GDS + Custom Indexes)] |
| 59 | + end |
| 60 | +
|
| 61 | + %% API & Interaction |
| 62 | + subgraph API["User Interaction Layer"] |
| 63 | + A["REST + GraphQL API\n(Custom Endpoints & Queries)"] |
| 64 | + Q["Interactive Query Console\n(Live Cypher + Visual Builder)"] |
| 65 | + end |
| 66 | +
|
| 67 | + %% Frontend |
| 68 | + subgraph Frontend["Customization Dashboard"] |
| 69 | + D["Configurable Dashboard\n(Drag-and-Drop + Widgets)"] |
| 70 | + C["Graph Studio\n(Cytoscape.js + Custom Layouts)"] |
| 71 | + end |
| 72 | +
|
| 73 | + %% Alerting |
| 74 | + subgraph Alerting["Alerting & Automation"] |
| 75 | + S["Configurable Alert Engine\n(Rules + Webhooks + SIEM)"] |
| 76 | + end |
| 77 | +
|
| 78 | + %% Data Flow |
| 79 | + H --> I |
| 80 | + I --> K |
| 81 | + K --> P |
| 82 | + K --> G |
| 83 | + K --> M |
| 84 | + P --> M |
| 85 | + G --> N |
| 86 | + M --> N |
| 87 | + N --> A |
| 88 | + N --> Q |
| 89 | + A --> D |
| 90 | + Q --> C |
| 91 | + M --> S |
| 92 | + N --> S |
| 93 | +``` |
| 94 | + |
| 95 | +## Data Model – Graph-First Design |
| 96 | + |
| 97 | +StellarChainAnalysis treats the blockchain as a **living, user-extensible graph** — not a fixed schema. While it starts with a minimal core model for Stellar transactions, **every aspect of the graph is designed for mass customization and direct user interaction**. |
| 98 | + |
| 99 | +### Core Model (Starting Point) |
| 100 | +- **Accounts** – Public keys with balance and activity metadata |
| 101 | +- **Transactions** – Ledger operations with fee, sequence, and result |
| 102 | +- **Assets** – XLM or custom tokens involved in payments |
| 103 | + |
| 104 | +### User-Defined Extensions |
| 105 | +Users can **freely extend** the graph at runtime: |
| 106 | +- Add **custom node types** (e.g., `SuspiciousCluster`, `ComplianceTag`, `UserProfile`) |
| 107 | +- Define **new relationship types** (e.g., `FLAGGED_BY`, `LINKED_VIA_MEMO`, `PART_OF_CAMPAIGN`) |
| 108 | +- Attach **arbitrary properties** (e.g., `kyc_status`, `risk_source`, `user_notes`) |
| 109 | +- Create **virtual nodes/edges** via Cypher projections for analysis |
| 110 | + |
| 111 | +### Live Graph Interaction |
| 112 | +Through the **Graph Studio** and **Query Console**, users can: |
| 113 | +- **Traverse** the graph with custom Cypher queries |
| 114 | +- **Merge, split, or relabel** nodes in real time |
| 115 | +- **Create persistent views** (e.g., "All accounts linked to address X in last 7 days") |
| 116 | +- **Export subgraphs** in JSON, CSV, or GEXF for external tools |
| 117 | + |
| 118 | +> The graph is **not just storage** — it's a **collaborative workspace** where analysts, compliance officers, and data scientists build and refine intelligence together. |
| 119 | +
|
| 120 | +## Threat Detection Capabilities |
| 121 | + |
| 122 | +StellarChainAnalysis identifies a wide range of malicious or suspicious behaviors: |
| 123 | + |
| 124 | +| Threat Type | Detection Method | |
| 125 | +|-----------|------------------| |
| 126 | +| **Money Laundering** | Cycle detection in payment paths | |
| 127 | +| **Pump & Dump** | Sudden volume surges + rapid sell-off | |
| 128 | +| **Wash Trading** | Self-referential transaction loops | |
| 129 | +| **Account Takeover** | Anomalous login or signing patterns | |
| 130 | +| **Phishing Drains** | Outbound flows to known malicious sinks | |
| 131 | +| **Memo Abuse** | Encoded commands or C2 communication | |
| 132 | + |
| 133 | +Each detection contributes to a **dynamic risk score** (0–100) updated in real time. |
| 134 | + |
| 135 | +## Real-Time Dashboard |
| 136 | + |
| 137 | +The web-based dashboard delivers an **intuitive, analyst-friendly interface** with: |
| 138 | + |
| 139 | +- **Live Activity Feed** – Chronological view of incoming transactions |
| 140 | +- **Risk Leaderboard** – Top 50 highest-risk accounts with trend indicators |
| 141 | +- **Interactive Network Graph** – Explore transaction flows with zoom, search, and filtering |
| 142 | +- **Heatmap View** – Geographic or cluster-based risk density |
| 143 | +- **Alert Timeline** – Visual log of triggered notifications |
| 144 | + |
| 145 | +All visualizations update instantly via **WebSocket push technology**. |
| 146 | + |
| 147 | +## Machine Learning Integration |
| 148 | + |
| 149 | +StellarChainAnalysis combines **unsupervised and graph-aware ML models**: |
| 150 | + |
| 151 | +### Anomaly Detection |
| 152 | +- **Isolation Forest** on transaction velocity, volume, and counterparty diversity |
| 153 | +- **Autoencoders** for learning normal behavioral embeddings |
| 154 | + |
| 155 | +### Graph Neural Networks |
| 156 | +- Trained on historical subgraphs to predict node-level risk |
| 157 | +- Leverages structural patterns invisible to traditional models |
| 158 | + |
| 159 | +Models are retrained periodically using labeled datasets and feedback loops. |
| 160 | + |
| 161 | +## API & Integration |
| 162 | + |
| 163 | +The platform exposes a **versioned REST API** for integration with external tools: |
| 164 | + |
| 165 | +### Example Endpoints |
| 166 | +- `GET /api/v1/accounts/{address}` → Full profile, risk score, and recent activity |
| 167 | +- `GET /api/v1/transactions/{hash}` → Transaction details + local graph context |
| 168 | +- `GET /api/v1/alerts?since=24h` → Recent high-risk events |
| 169 | +- `GET /api/v1/export/graph?center={address}&depth=2` → Export ego-network in JSON |
| 170 | + |
| 171 | +All responses follow **OpenAPI 3.0** specification. |
| 172 | + |
| 173 | +## Deployment & Operations |
| 174 | + |
| 175 | +StellarChainAnalysis is fully **containerized** and designed for both development and production: |
| 176 | + |
| 177 | +### Local Development |
| 178 | +- Uses **Docker Compose** to spin up Neo4j, Redis, and the application |
| 179 | +- Pre-configured datasets for rapid prototyping |
| 180 | + |
| 181 | +### Production Readiness |
| 182 | +- Structured logging (JSON format) |
| 183 | +- Health checks and metrics endpoints |
| 184 | +- Rate limiting and API key authentication |
| 185 | +- Secure configuration via environment variables |
| 186 | +- CI/CD pipeline with automated testing |
| 187 | + |
| 188 | +Future versions will support **Kubernetes** and **cloud-native observability**. |
| 189 | + |
| 190 | + |
| 191 | +## Getting Started |
| 192 | + |
| 193 | +### Prerequisites |
| 194 | +- Docker & Docker Compose |
| 195 | +- Python 3.11+ |
| 196 | +- Internet access to `horizon.stellar.org` |
| 197 | + |
| 198 | +### Quick Start |
| 199 | + |
| 200 | +1. **Clone the repository** |
| 201 | + ```bash |
| 202 | + git clone https://github.com/yourusername/StellarChainAnalysis.git |
| 203 | + cd StellarChainAnalysis |
| 204 | + ``` |
| 205 | +2. Copy environment template |
| 206 | + ```bash |
| 207 | + cp .env.example .env |
| 208 | + ``` |
| 209 | + |
| 210 | +3. Launch services |
| 211 | + ```bash |
| 212 | +docker-compose up -d |
| 213 | +``` |
| 214 | + |
| 215 | +4. Access the platform |
| 216 | + - Dashboard: http://localhost:5000 |
| 217 | + - Neo4j Browser: http://localhost:7474 |
| 218 | + - API Docs: http://localhost:5000/api/docs |
| 219 | + |
| 220 | +## Testing & Quality |
| 221 | + |
| 222 | +The project includes a comprehensive test suite: |
| 223 | +- **Unit tests** for individual components |
| 224 | +- **Integration tests** with live Neo4j containers |
| 225 | +- **End-to-end scenarios** simulating real attack patterns |
| 226 | + |
| 227 | +All code adheres to **PEP 8** and is validated via **Flake8** and **Black**. |
| 228 | + |
| 229 | +## Security Considerations |
| 230 | + |
| 231 | +- API keys required for all external access |
| 232 | +- Input validation on all public endpoints |
| 233 | +- Secrets never committed to version control |
| 234 | +- Regular dependency scanning (Safety, Bandit) |
| 235 | +- Principle of least privilege in database permissions |
| 236 | + |
| 237 | +## Roadmap |
| 238 | + |
| 239 | +| Version | Milestone | |
| 240 | +|--------|----------| |
| 241 | +| **v1.0** | Real-time monitoring + basic ML + dashboard | |
| 242 | +| **v1.5** | Historical backfill + export tools | |
| 243 | +| **v2.0** | FastAPI migration + GraphQL support | |
| 244 | +| **v2.5** | Multi-chain connectors (Solana, Ethereum) | |
| 245 | +| **v3.0** | Public API + community threat sharing | |
| 246 | + |
| 247 | +## Contributing |
| 248 | + |
| 249 | +We welcome contributions! To get involved: |
| 250 | + |
| 251 | +1. Fork the repository |
| 252 | +2. Create a feature branch (`feature/your-idea`) |
| 253 | +3. Write clean, tested code |
| 254 | +4. Submit a pull request with clear description |
| 255 | + |
| 256 | +Please follow our **Code of Conduct** and **Contribution Guidelines**. |
| 257 | + |
| 258 | +## Academic & Research Use |
| 259 | + |
| 260 | +This project was originally developed as part of a master's thesis on **Graph-Based Anomaly Detection in Payment Networks**. Supplementary materials: |
| 261 | +- Full architecture diagrams |
| 262 | +- Performance benchmarks |
| 263 | +- Model evaluation results |
| 264 | +- Cypher query library |
| 265 | +
|
| 266 | +Available in the `/docs` directory. |
| 267 | +
|
| 268 | +## License |
| 269 | +MIT License |
| 270 | +Copyright (c) 2025 javad torabi |
| 271 | +Permission is hereby granted, free of charge, to any person obtaining a copy |
| 272 | +of this software and associated documentation files (the "Software"), to deal |
| 273 | +in the Software without restriction... |
| 274 | +
|
| 275 | +
|
| 276 | +## Contact |
| 277 | +
|
| 278 | +**Project Maintainer** |
| 279 | +Email: [j.2528840@gmail.com](mailto:j.2528840@gmail.com) |
| 280 | +GitHub: [@javadTorabiKh](https://github.com/javadTorabiKh) |
| 281 | +
|
| 282 | +
|
| 283 | +> **StellarChainAnalysis** — *Turning blockchain data into defense-grade intelligence.* |
| 284 | +
|
| 285 | +--- |
| 286 | +
|
| 287 | +*Built with precision. Powered by graphs. Secured for the future.* |
| 288 | +**#StellarChainAnalysis #BlockchainSecurity #GraphAnalytics #Web3** |
| 289 | +
|
0 commit comments