一句话:GoLiSA 是基于抽象解释的静态分析工具,用于检测 Hyperledger Fabric Go 智能合约中的潜在风险与漏洞。
用 Go 编写的 Hyperledger Fabric 智能合约广泛使用,但存在非确定性、幻读、不安全跨合约调用等潜在风险与漏洞,需要自动化验证。GoLiSA 以抽象解释为语义建模基础,结合信息流跟踪以及数值和字符串值分析来近似程序语义行为,并在此基础上实现一系列检查。该工具能够检测非确定性、幻读、不可信跨合约调用、读写后写与覆盖、跨通道调用、数值问题以及未处理错误等问题。GoLiSA 已开源,并提供演示视频。
GoLiSA is a static analysis tool that allows the verification of smart contracts written in Go, the most widely used language for developing smart contracts in Hyperledger Fabric. GoLiSA relies on abstract interpretation to model program semantics and identify potential risks and vulnerabilities in smart contracts. It supports advanced analyses such as information flow tracking and numerical and string value analysis, enabling the approximation of semantic program behaviors. Building on these analyses, GoLiSA implements a suite of checks for detecting non-trivial issues and potential risks in Hyperledger Fabric, including non-determinism, phantom reads, untrusted cross-contract invocations, read-after-write and over-write issues, cross-channel invocation risks, numerical issues, and unhandled errors. GoLiSA is publicly available at https://github.com/lisa-analyzer/go-lisa. A demonstration video showcasing the tool is available at https://youtu.be/WqkYOpWc9oE.
@inproceedings{paperbot12217,
title = {GoLiSA: An Advanced Static Analysis Tool for Detecting Potential Risks and Vulnerabilities in Hyperledger Fabric Smart Contracts},
author = {Luca Olivieri and Luca Negrini and Vincenzo Arceri and Pietro Ferrara and Fausto Spoto and Agostino Cortesi},
booktitle = {ASE},
year = {2026},
doi = {10.1145/3832783.3834644}
}