Abstract:As crucial components of decentralized ecosystems, smart contracts can reduce the trust cost of multi-party cooperation, so they have been widely applied in fields of digital currency, finance, etc. Smart contracts are non-censorship, immutable, and automatically executed on the blockchain. Contracts often hold a large number of digital assets, which may cause huge losses once they are breached. With the development of smart contracts, vulnerabilities have changed from simple syntax errors to complex logic problems. The trigger conditions have also evolved from a single transaction to a specific transaction sequence. At present, there are endless attacks against contracts, so it is particularly important to develop effective contract vulnerability detection tools. Therefore, in this paper, eleven well-known smart contract vulnerabilities were introduced and twenty-one vulnerability detection tools were investigated. These investigated detection tools were compared from the aspects of static analysis, dynamic analysis, detection methods, research objects, capabilities, etc. and their strengths and weaknesses were also discussed. Finally, the future trend of the smart contract was prospected based on current research works.