Improving SAST Detection Capability with LLMs and Enhanced DFA
Static Application Security Testing (SAST) is a cornerstone of modern vulnerability discovery, enabling tools like GitHub’s CodeQL to identify security flaws in code repositories. However, our large-scale analysis of open-source repositories reveals that SAST’s detection performance is limited by three main factors: (1) incomplete source and sink coverage in built-in propagation rules, (2) failure to recognize sanitization functions, and (3) disruptions in data flow due to insufficient support for certain language features. In this work, we demonstrate how Large Language Models (LLMs) can improve the identification of taint sources and sinks, as well as the recognition of sanitization functions. Using CodeQL as an example, we also introduce the implementation principles of SAST's Data Flow Analysis (DFA). Furthermore, we propose enhancing Java thread support to improve the accuracy of DFA.
Authors
- Zhaojun Chen
- Fei Xie
- Yi Sun (ORCID: https://orcid.org/0009-0007-3443-6688)
- Yuan Luo (ORCID: https://orcid.org/0000-0002-5521-2516)
- Yuxin Dong (ORCID: https://orcid.org/0009-0008-7774-8232)
- Zhiqiang Dong
- Haiquan Zhang
Institutions
- Peking University (CN)
- Tencent (China) (CN)
Publication Details
- Published
- 2025-10-09
- DOI
- https://doi.org/10.1145/3759425.3763388
- Citations
- 1
- Primary Topic
- Software Engineering Research
- Type
- article
- Field-Weighted Citation Impact
- 3.25
Funders
- Tencent