arrow
Return

PHPJoy: A Novel Extended Graph-Based PHP Code Analysis Framework

delete2025-09-26
delete0
PRE
AI
Y
Youkun Shi
Y
Yuan Zhang
T
Tianhan Luo
杨广亮 (Guangliang Yang)
S
Shengke Ye
C
Chengyu Yang
F
Fengyu Liu
X
Xiapu Luo
M
Min Yang
DOI:10.1109/TSE.2025.3614304delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

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 <monospace xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">PHPJoy</monospace>, that can effectively and universally learn the semantic landscape of the target PHP program and conduct security validations. Specifically, <monospace xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">PHPJoy</monospace> 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, <monospace xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">PHPJoy</monospace> 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 <monospace xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">PHPJoy</monospace> on 333 popular PHP programs. The results show that <monospace xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">PHPJoy</monospace> 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, <monospace xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">PHPJoy</monospace> successfully hunts 53 zero-day security vulnerabilities in the wild, which verifies the practicality of <monospace xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">PHPJoy</monospace>.
Keywords:
PHP program analysis
web security
vulnerability detection

Journal

IEEE Transactions on Software Engineering cover
IEEE Transactions on Software Engineering
IF:
5.6
Papers:
2.8K
Citations:
1.1W

Organization

F
fudan university
Scholars:
11.6W
Papers: 7.7W
Citations: 121
T
The Hong Kong Polytechnic University
Scholars:
5.1K
Papers: 3.0K
Citations: 17