TaintSentinel: Path-Level Randomness Vulnerability Detection for Ethereum Smart Contracts
Hadis Rezaei, Ahmed Afif Monrat, Karl Andersson, Francesco Flammini
TL;DR
This work addresses the challenge of generating secure randomness in Ethereum smart contracts by modeling bad randomness as a path-sensitive vulnerability. It introduces TaintSentinel, a two-phase framework that combines context-aware taint analysis with a dual-stream GNN (PathFocused and GlobalContext streams) and an adaptive fusion gate to detect and rank vulnerability paths. Key contributions include path-level vulnerability extraction, rule-augmented taint analysis to reduce false positives, and the PathGNN/GlobalGCN architecture with a novel Path Risk Accuracy metric. On 4,844 contracts, TaintSentinel achieves a high F1 of $0.892$, AUC-ROC of $0.94$–$0.951$, and PRA of $0.97$, significantly outperforming existing tools and enabling production-grade security auditing with scalable inference times.
Abstract
The inherent determinism of blockchain technology poses a significant challenge to generating secure random numbers within smart contracts, leading to exploitable vulnerabilities, particularly in decentralized finance (DeFi) ecosystems and blockchain-based gaming applications. From our observations, the current state-of-the-art detection tools suffer from inadequate precision while dealing with random number vulnerabilities. To address this problem, we propose TaintSentinel, a novel path sensitive vulnerability detection system designed to analyze smart contracts at the execution path level and gradually analyze taint with domain-specific rules. This paper discusses a solution that incorporates a multi-faceted approach, integrating rule-based taint analysis to track data flow, a dual stream neural network to identify complex vulnerability signatures, and evidence-based parameter initialization to minimize false positives. The system's two-phase operation involves semantic graph construction and taint propagation analysis, followed by pattern recognition using PathGNN and global structural analysis via GlobalGCN. Our experiments on 4,844 contracts demonstrate the superior performance of TaintSentinel relative to existing tools, yielding an F1-score of 0.892, an AUC-ROC of 0.94, and a PRA accuracy of 97%.
