arrow
Return

VulFinder: Exploring Chaincode Vulnerabilities More Effectively and Efficiently Using Knowledge Graph Based Defect Pattern Matching

delete2025-09-02
delete0
PRE
AI
李
李必信 (Bixin Li)
T
Tianyuan Hu
X
Xiangfei Xu
王璐璐 cover
王璐璐 (Lulu Wang)
DOI:10.1109/TSE.2025.3605379delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Hyperledger Fabric is an open-source project of Linux Foundation, it is a modular blockchain framework and has become an unofficial standard for enterprise blockchain platforms. In Hyperledger Fabric, smart contract is also known as chaincode, which are usually written using general-purpose languages, including Go, Java or Node.js etc. Although there are some vulnerability detection methods for Java and Node.js, there are very few vulnerability detection methods for Go, especially when it is used as a smart contract programming language in Hyperledger Fabric. In this article, we propose a knowledge graph based defect pattern matching method and develop a tool called VulFinder to detect vulnerabilities in chaincode, i.e. the smart contracts written using Go language. Knowledge graph is used because it can fully retain the syntax and logic information of smart contracts. The method consists of two key steps: a knowledge graph is constructed from Go language specification and chaincode source code, including the definition of ontology layer and the construction of instance layer; the defect patterns are defined and SPARQL query statements are used to match and locate vulnerabilities on the knowledge graph. To evaluate the detection effectiveness and efficiency of VulFinder, we construct two datasets through manual analysis and vulnerabilities injection due to the lack of public datasets. Experimental results show that VulFinder can detect 22 kinds of typical vulnerabilities of chaincode effectively, and the recall is as high as 98.87%, while the false negative rate is as low as 1.13%.
Keywords:
Hyperledger fabric
chaincode
vulnerability detection
knowledge graph

Journal

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

Organization

S
Southeast University
Scholars:
2.1W
Papers: 8.6K
Citations: 480
N
Nanjing Tech University
Scholars:
3.7W
Papers: 2.3W
Citations: 3.9W
Cited Papers

Cited Papers

Combining Graph Neural Networks With Expert Knowledge for Smart Contract Vulnerability Detection
err2021-01-01
err132
errOAAI
errLiu, Zhenguang; Qian, Peng; Wang, Xiaoyang; Zhuang, Yuan; Qiu, Lin; Wang, Xun
errShare
errSave
A Solicitous Approach to Smart Contract Verification
err2023-03-13
err9
PREAI
errOtoni, Rodrigo; Marescotti, Matteo; Alt, Leonardo; Eugster, Patrick; Hyvarinen, Antti; Sharygina, Natasha
errShare
errSave
A Survey on Knowledge Graphs: Representation, Acquisition, and Applications
err2022-02-01
err1.3K
errOAAI
errJi, Shaoxiong; Pan, Shirui; Cambria, Erik; Marttinen, Pekka; Yu, Philip S.
errShare
errSave
ConFuzzius: A Data Dependency-Aware Hybrid Fuzzer for Smart Contracts
err2021-09-01
err0
errOAAI
errChristof Ferreira Torres; Antonio Ken Iannillo; Arthur Gervais; Radu State
errShare
errSave
researcher View more