Return
PHPJoy: A Novel Extended Graph-Based PHP Code Analysis Framework
DOI:10.1109/TSE.2025.3614304.png)
Abstract
En 中文
Nowadays, the PHP language is widely used in web development. Owing to PHP’s inherent flexibility and dynamic language features (e.g., cross-module dependencies and runtime polymorphism), PHP applications are prone to various security vulnerabilities, such as XSS and SQL injection. As an effective PHP semantic understanding and security vetting technique, static program analysis has been widely applied. However, prior work faced difficulties in dealing with diverse and dynamic PHP features, which caused serious false negatives (e.g., call target missing). In this paper, we propose a novel extended graph-based program analysis approach, called PHPJoy, that can effectively and universally learn the semantic landscape of the target PHP program and conduct security validations. Specifically, PHPJoy first performs fine-grained program analysis (i.e., cross-module analysis and field-level analysis) for the purpose of learning the extended semantic graphs. Then, based on the graph-based semantic information, PHPJoy universally models various security issues by efficiently utilizing a new security-oriented graph query framework, which provides rich and easy-to-use graph query APIs and a high-performance cache-and-prefetch strategy. We evaluate PHPJoy on 333 popular PHP programs. The results show that PHPJoy can effectively discover 269,901,982 semantic graph edges, improving by 23.76% when compared to the existing analysis tools. Our further analysis also shows that the runtime analysis overhead is reduced by 76.54%. Furthermore, PHPJoy successfully hunts 53 zero-day security vulnerabilities in the wild, which verifies the practicality of PHPJoy.
Keywords:
PHP program analysis
web security
vulnerability detection
Journal
IF:
5.6
Papers:
2.9K
Citations:
1.1W
Organization
Cited Papers
HiddenCPG: Large-Scale Vulnerable Clone Detection Using Subgraph Isomorphism of Code Property Graphs

