The DOI matches its Crossref record; 1 of the 1 references it cites were found in a registry or an index.
Modeling and Discovering Vulnerabilities with Code Property Graphs
Abstract
The vast majority of security breaches encountered today are a direct result of insecure code. Consequently, the protection of computer systems critically depends on the rigorous identification of vulnerabilities in software, a tedious and error-prone process requiring significant expertise. Unfortunately, a single flaw suffices to undermine the security of a system and thus the sheer amount of code to audit plays into the attacker's cards. In this paper, we present a method to effectively mine large amounts of source code for vulnerabilities. To this end, we introduce a novel representation of source code called a code property graph that merges concepts of classic program analysis, namely abstract syntax trees, control flow graphs and program dependence graphs, into a joint data structure. This comprehensive representation enables us to elegantly model templates for common vulnerabilities with graph traversals that, for instance, can identify buffer overflows, integer overflows, format string vulnerabilities, or memory disclosures. We implement our approach using a popular graph database and demonstrate its efficacy by identifying 18 previously unknown vulnerabilities in the source code of the Linux kernel.
Overview
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Integrity signals
Registry
Cites
Statistics
Verification
Claims the paper makes
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Self-check
Percentages, sums and reported differences re-computed from the paper’s own numbers.
The self-check needs the paper’s full text.
Citations
Cites
Classes of recursively enumerable sets and their decision problems
Rice, H. G. (1953) · Transactions of the American Mathematical Society · doi:10.1090/s0002-9947-1953-0053041-6 · Cited by 869
Research works printed but not linked: 44
- 10.1109/ICSM.1994.336777 · doi:10.1109/icsm.1994.336777
- 10.1109/SP.2010.26 · DOI · Paper page
- 10.1145/53990.53994 · doi:10.1145/53990.53994
- shankar, 2001, Detecting format string vulnerabilities with type qualifiers, Proc of USENIX Security Symposium, 201
- 10.1109/SP.2006.29 · DOI · Paper page
- 10.1145/512529.512539 · doi:10.1145/512529.512539
- 10.4018/978-1-61350-053-8.ch002 · DOI
- 10.1109/MSP.2011.70 · doi:10.1109/msp.2011.70
- 10.1109/SP.2013.12 · doi:10.1109/sp.2013.12
- 10.1145/2093548.2093564 · DOI · Paper page
- goldsmith, 2005, Relational queries over program traces, Proc ACM SIGPLAN Conf Object-Oriented Programing Systems Languages and Applications (OOPSLA 97)
- 10.1109/ACSAC.2007.27 · doi:10.1109/acsac.2007.27
- 10.1145/2517312.2517315 · DOI · Paper page
- sutton, 2007, Fuzzing Brute Force Vulnerability Discovery
- 2002, Advances in format string exploitation, Phrack Magazine
- kupsch, 2009, Manual vs automated vulnerability assessment: A case study, Proc of Workshop on Managing Insider Security Threats (MIST), 83
- krinke, 1998, Validation of measurement software as an application of slicing and constraint solving, Information and Software Technology, 40, 661, 10.1016/S0950-5849(98)00090-1 · doi:10.1016/s0950-5849(98)00090-1
- 10.1145/2420950.2421003 · DOI · Paper page
- woo, 2013, Scheduling blackbox mutational fuzzing, Proc of ACM Conference on Computer and Communications Security (CCS)
- 10.1109/TSE.1984.5010248 · DOI · Paper page
- wang, 2009, IntScope: Automatically detecting integer overflow vulnerability in x86 binary using symbolic execution, Proc of Network and Distributed System Security Symposium (NDSS)
- 10.1145/1029894.1029911 · doi:10.1145/1029894.1029911
- yamaguchi, 2013, Chucky: Exposing missing checks in source code for vulnerability discovery, Proc of ACM Conference on Computer and Communications Security (CCS)
- 10.1145/1065167.1065169 · DOI · Paper page
- 10.1109/MS.2004.1293079 · DOI
- livshits, 2005, Finding security vulnerabilities in java applications with static analysis, Proc of USENIX Security Symposium
- martin, 2005, Finding application errors and security flaws using pql: Program query language, Proc ACM SIGPLAN Conf Object-Oriented Programing Systems Languages and Applications (OOPSLA 97)
- moore, 2013, Security flaws in universal plug and play: Unplug. Don't play, Technical Report
- 10.1145/2382196.2382215 · doi:10.1145/2382196.2382215
- newsome, 2005, Dynamic taint analysis for automatic detection, analysis, and signature generation of exploits on commodity software, Proc of Network and Distributed System Security Symposium (NDSS)
- oh, 2012, Recent Java exploitation trends and malware, Presentation at Black Hat Las Vegas
- 10.1109/ICSM.1998.738528 · DOI · Paper page
- avgerinos, 2011, AEG: Automatic exploit generation, Proc of Network and Distributed System Security Symposium (NDSS)
- 10.1109/ICSE.2009.5070546 · DOI · Paper page
- aho, 1985, Compilers Principles Techniques and Tools
- 10.1109/32.295894 · DOI · Paper page
- esser, 2013, Mountain Lion/iOS vulnerabilities garage sale, Presentation at SyScan Conference
- eidemiller, 2012, Cwe-676 Use of Potentially Dangerous Function
- reps, 1998, Program analysis via graph reachability, Information and Software Technology, 10.1016/S0950-5849(98)00093-7 · DOI
- dekok, 2013, PScan A Limited Problem Scanner for C Source Files
- planet, 2010, A eulogy for format strings, Phrack Magazine
- chess, 2013, Rough auditing tool for security, Google Code
- 10.1145/24039.24041 · DOI · Paper page
- 10.1109/52.976940 · doi:10.1109/52.976940
Cited by
SOK: (State of) The Art of War: Offensive Techniques in Binary Analysis
Shoshitaishvili, Y., Wang, R., Salls, C., Stephens, N., Polino, M., Dutcher, A., Grosen, J., Feng, S., Hauser, C., Kruegel, C., et al. (2016) · 2016 IEEE Symposium on Security and Privacy (SP) · doi:10.1109/sp.2016.17 · Cited by 957
Ghaffarian, S. M., & Shahriari, H. R. (2018) · ACM Computing Surveys · doi:10.1145/3092566 · Cited by 353
LAVA: Large-Scale Automated Vulnerability Addition
Dolan-Gavitt, B., Hulin, P., Kirda, E., Leek, T., Mambretti, A., Robertson, W., Ulrich, F., & Whelan, R. (2016) · 2016 IEEE Symposium on Security and Privacy (SP) · doi:10.1109/sp.2016.15 · Cited by 300
Combining Graph Neural Networks with Expert Knowledge for Smart Contract Vulnerability Detection
Liu, Z., Qian, P., Wang, X., Zhuang, Y., Qiu, L., & Wang, X. (2021) · IEEE Transactions on Knowledge and Data Engineering · doi:10.1109/tkde.2021.3095196 · Cited by 259
Retrieval-Augmented Generation for AI-Generated Content: A Survey
Zhao, P., Zhang, H., Yu, Q., Wang, Z., Geng, Y., Fu, F., Yang, L., Zhang, W., Jiang, J., & Cui, B. (2024) · arXiv · doi:10.48550/arxiv.2402.19473 · Cited by 240
Metadata
- Authors
- Yamaguchi, F., Golde, N., Arp, D., & Rieck, K.
- Venue
- 2014 IEEE Symposium on Security and Privacy
- Publisher
- IEEE
- Published
- 2014-05
- Pages
- 590-604
- ISSN
- 1081-6011 (ISSN-L)
- OpenAlex
- W1992114977
- Cited by
- 808
- References
- 1
- FWCI
- 12.65
- Type
- conference paper
- Language
- en
- Open access
- closed
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review
How to cite
Cite CoChat for the checks on this page, and the paper for its own findings.
- This page
- CoChat. (2026). Citation check: Modeling and Discovering Vulnerabilities with Code Property Graphs. https://app.cochat.ai/papers/10.1109/sp.2014.44
- The paper
- Yamaguchi, F., Golde, N., Arp, D., & Rieck, K. (2014). Modeling and Discovering Vulnerabilities with Code Property Graphs. 2014 IEEE Symposium on Security and Privacy. https://doi.org/10.1109/sp.2014.44
Data sources
Bibliographic data: Semantic Scholar, OpenAlex, Crossref.
Contains information from the Semantic Scholar Academic Graph Datasets, made available under the ODC Attribution License (ODC-BY 1.0).
Semantic Scholar’s data is described in: Kinney, R., et al. (2023). The Semantic Scholar Open Data Platform. arXiv:2301.10140.