Block chain smart contract security detection method and device

By constructing a smart contract security verification framework and integrating multiple efficient tools for unified detection, the problem of incomplete detection by existing tools is solved, achieving higher coverage and accuracy, and making it suitable for security scanning of blockchain smart contracts.

CN121389132APending Publication Date: 2026-01-23CHINA CONSTRUCTION BANK +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511562324.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-10-29
Publication Date
2026-01-23

AI Technical Summary

Technical Problem

Existing blockchain smart contract security testing tools vary and are difficult to achieve comprehensive vulnerability detection. In particular, they lack the ability to determine and verify the executable path of the contract, resulting in poor verification effectiveness of a single testing tool given the huge and ever-growing number of smart contracts.

Method used

This paper provides a smart contract security verification framework that integrates various high-maintenance, high-coverage, and high-accuracy tools through plug-ins. It uses a unified interface for security testing, including global general configuration and plug-in related configuration, to concurrently scan smart contracts and generate detailed security test reports.

Benefits of technology

Overall, it improves the security scanning coverage and accuracy of smart contracts, simplifies complex configuration options, supports multilingual detection, is suitable for both local and online service modes, and enhances detection efficiency and accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121389132A_ABST
    Figure CN121389132A_ABST
Patent Text Reader

Abstract

The invention provides a blockchain smart contract security detection method and device, relates to the field of blockchains, can be used in the financial field, and comprises the following steps: carrying out global universal configuration and plug-in related configuration on a security detection plug-in according to a security detection plug-in parameter configuration requirement in a detection processing request; concurrently scanning each smart contract in the detection processing request by using the security detection plug-in subjected to global universal configuration and plug-in related configuration to obtain a concurrent scanning result; performing comprehensive analysis on the concurrent scanning result to obtain a security detection report; wherein the security detection report comprises error description and repair suggestions. According to the invention, a smart contract security verification framework can be provided, all tool sets are integrated in a plug-in mode, and security detection is carried out on the block chain smart contract through a uniform interface.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of blockchains, and can be used in the field of finance, and specifically relates to a blockchain smart contract security detection method and device. BACKGROUND

[0002] A blockchain smart contract is a self-executing contract running on a blockchain. Its contract terms are written in code and automatically execute, verify, and record transactions or agreements. The basic features of a smart contract include automation, transparency, and immutability, thus ensuring the trust of both parties in a transaction without intermediaries. Although smart contracts provide powerful automation and decentralization for blockchain applications, they also face many security challenges. For example, code vulnerabilities and defects. Once the code of a smart contract is published on a blockchain, it cannot be easily modified. If there are vulnerabilities or defects in the code, hackers can exploit these vulnerabilities to attack, resulting in theft of funds or abnormal execution of the contract.

[0003] There are many security detection tools for Ethereum (Solidity) smart contracts at present, but each detection tool uses different technologies, and the accuracy and coverage of each tool for smart contract vulnerability detection are different, so it is difficult to find a security detection tool that covers all aspects and has a high detection rate.

[0004] After careful research, it is found that the types of vulnerabilities covered by various smart contract security detection tools are basically targeted, and the coverage rate is not comprehensive. Most of them can only detect low-level security violations and vulnerabilities, lack judgment and verification of contract executable paths, and are difficult to detect security problems caused by external contract calls. Therefore, in the context of the current large number of smart contracts and their increasing growth, it is still a challenging problem to use a single detection tool to comprehensively verify contract vulnerabilities.

[0005] This section aims to provide background or context for the embodiments of the application stated in the claims. The description herein is not admitted to be prior art merely because it is included in this section. SUMMARY

[0006] In view of the problems in the prior art, the present application provides a blockchain smart contract security detection method and device, which can provide a smart contract security verification framework to integrate various tool sets in a plug-in manner, and perform security detection on a blockchain smart contract through a unified interface.

[0007] To solve the above technical problems, the present application provides the following technical solutions:

[0008] In a first aspect, the present application provides a blockchain smart contract security detection method, comprising:

[0009] According to the security detection plug-in parameter configuration requirement in the detection processing request, the security detection plug-in is globally configured and plug-in related configuration is performed;

[0010] The security detection plug-in after global general configuration and plug-in related configuration is used to scan each smart contract in the detection processing request, and a concurrent scanning result is obtained;

[0011] The concurrent scanning result is comprehensively analyzed to obtain a security detection report; wherein the security detection report includes error description and repair suggestion.

[0012] Further, the security detection plug-in is globally configured and plug-in related configuration is performed according to the security detection plug-in parameter configuration requirement in the detection processing request, including:

[0013] According to the security detection plug-in parameter configuration requirement, the scanning mode corresponding to the detection processing request is determined; wherein the scanning mode includes local execution mode or online service mode;

[0014] According to the scanning mode parameter configuration in the global general configuration;

[0015] According to the scanning language identification and code location identification in the security detection plug-in parameter configuration requirement, the scanning language configuration and code location configuration in the global general configuration are performed;

[0016] According to the advanced configuration requirement in the security detection plug-in parameter configuration requirement, the plug-in related configuration is performed.

[0017] Further, the security detection plug-in after global general configuration and plug-in related configuration is used to scan each smart contract in the detection processing request, and a concurrent scanning result is obtained, including:

[0018] The language type and code location parameter of each smart contract are analyzed by using the security detection plug-in after global general configuration and plug-in related configuration;

[0019] According to the language type and code location parameter, the executor is called to execute the concurrent scanning task, and the concurrent scanning result is obtained.

[0020] Further, the executor is called to execute the concurrent scanning task according to the language type and code location parameter, and the concurrent scanning result is obtained, including:

[0021] According to the language type, the security detection plug-in set required for scanning the smart contract is determined;

[0022] According to the security detection plug-in deployment position, the number of concurrent scanning tasks is determined;

[0023] The plugin adapter of each security detection plugin in the security detection plugin set is called asynchronously by using the executor;

[0024] The concurrent scanning tasks are executed by using the plugin adapter, and the concurrent scanning result is obtained; wherein, the concurrent scanning task is to concurrently scan the smart contract code indicated by the code location parameter.

[0025] Further, the concurrent scanning task quantity decision according to the security detection plugin deployment location comprises:

[0026] If the security detection plugin deployment location is remote, it is decided to allow concurrent calling of all security detection plugins in the security detection plugin set;

[0027] If the security detection plugin deployment location is local, it is decided to allow concurrent calling of no more than the number of logical cores of central processing unit security detection plugins.

[0028] Further, the comprehensive analysis on the concurrent scanning result to obtain the security detection report comprises:

[0029] The scanning result basic information in the concurrent scanning result is extracted;

[0030] The total problem quantity, scanning total state, scanning file total quantity and scanning total line number in the concurrent scanning result are counted to obtain the first scanning summary abstract information;

[0031] The problem quantity is divided according to the severity and type respectively to obtain the second scanning summary abstract information;

[0032] The error description and repair suggestion are generated according to the scanning result basic information, the first scanning summary abstract information and the second scanning summary abstract information.

[0033] In a second aspect, the application provides a blockchain smart contract security detection device, comprising:

[0034] A plugin configuration unit is configured to globally and universally configure and configure the security detection plugin according to the security detection plugin parameter configuration requirement in the detection processing request;

[0035] A concurrent scanning unit is configured to concurrently scan each smart contract in the detection processing request by using the security detection plugin after globally and universally configuring and configuring the security detection plugin, and obtain a concurrent scanning result;

[0036] A comprehensive analysis unit is configured to comprehensively analyze the concurrent scanning result, and obtain a security detection report; wherein, the security detection report comprises an error description and a repair suggestion.

[0037] Further, the plug-in configuration unit comprises:

[0038] A scan mode determination module is configured to determine a scan mode corresponding to the detection processing request according to the security detection plug-in parameter configuration requirement; wherein the scan mode comprises a local execution mode or an online service mode.

[0039] A mode parameter configuration module is configured to perform scan mode parameter configuration in global general configuration according to the scan mode.

[0040] A language code configuration module is configured to perform scan language configuration and code location configuration in global general configuration according to scan language identification and code location identification in the security detection plug-in parameter configuration requirement.

[0041] A plug-in configuration module is configured to perform plug-in related configuration according to high-level configuration requirement in the security detection plug-in parameter configuration requirement.

[0042] Further, the concurrent scan unit comprises:

[0043] An intelligent contract analysis module is configured to concurrently analyze language type and code location parameters of each intelligent contract by using the security detection plug-in after global general configuration and plug-in related configuration.

[0044] A concurrent scan module is configured to call an executor to execute a concurrent scan task according to the language type and the code location parameters, and obtain the concurrent scan result.

[0045] Further, the concurrent scan module comprises:

[0046] A detection plug-in determination module is configured to determine a security detection plug-in set required for scanning the intelligent contract according to the language type.

[0047] A task quantity decision module is configured to make a concurrent scan task quantity decision according to a security detection plug-in deployment location.

[0048] An adaptive asynchronous call module is configured to asynchronously call plug-in adapters of each security detection plug-in in the security detection plug-in set by using the executor.

[0049] A scan result generation module is configured to execute a concurrent scan task not exceeding the concurrent scan task quantity by using the plug-in adapter, and obtain the concurrent scan result; wherein the concurrent scan task is a concurrent scan of intelligent contract code indicated by the code location parameters.

[0050] Further, the task quantity decision module comprises:

[0051] a remote decision module, configured to decide to allow concurrent invocation of all security detection plug-ins in the security detection plug-in set if the security detection plug-in deployment location is remote;

[0052] a local decision module, configured to decide to allow concurrent invocation of no more than a number of logical cores of a central processing unit of security detection plug-ins if the security detection plug-in deployment location is local.

[0053] Further, the comprehensive analysis unit comprises:

[0054] a basic information extraction module, configured to extract scanning result basic information in the concurrent scanning result;

[0055] a first summary generation module, configured to count a total number of problems, a scanning total state, a scanning total file number, and a scanning total line number in the concurrent scanning result, to obtain first scanning summary abstract information;

[0056] a second summary generation module, configured to divide the number of problems according to severity and type respectively, to obtain second scanning summary abstract information;

[0057] an error repair generation module, configured to generate the error description and repair suggestion according to the scanning result basic information, the first scanning summary abstract information, and the second scanning summary abstract information.

[0058] In a third aspect, the present application provides an electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the blockchain smart contract security detection method when executing the program.

[0059] In a fourth aspect, the present application provides a computer readable storage medium having a computer program stored thereon, wherein the computer program is executable on a processor to implement the steps of the blockchain smart contract security detection method.

[0060] In a fifth aspect, the present application provides a computer program product comprising computer programs / instructions, wherein the computer programs / instructions are executable on a processor to implement the steps of the blockchain smart contract security detection method.

[0061] To solve the problems in the prior art, the blockchain smart contract security detection method and device provided by the present application can construct an intelligent contract security verification framework. The framework integrates some tools with high maintenance rate, high vulnerability coverage rate, high accuracy rate, and fast scanning speed in the form of plug-ins, integrates various types of tools into the framework, takes the advantages of each other, standardizes and unifies the interface and configuration, shields the complex configuration options of various security scanning tools, supports security detection of multiple contract languages, facilitates developers to perform fast security scanning on the intelligent contract code, and improves the coverage rate and accuracy rate of the security scanning of the intelligent contract as a whole. BRIEF DESCRIPTION OF DRAWINGS

[0062] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the drawings needed to be used in the embodiments or prior art description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative effort on the basis of these drawings.

[0063] Figure 1 The flowchart of the blockchain smart contract security detection method in the embodiments of the present application;

[0064] Figure 2 The flowchart of the global general configuration and plug-in related configuration in the embodiments of the present application;

[0065] Figure 3 One of the flowcharts of obtaining concurrent scanning results in the embodiments of the present application;

[0066] Figure 4 The second flowchart of obtaining concurrent scanning results in the embodiments of the present application;

[0067] Figure 5 The flowchart of the concurrent scanning task quantity decision-making in the embodiments of the present application;

[0068] Figure 6 The flowchart of obtaining a security detection report in the embodiments of the present application;

[0069] Figure 7 The structural diagram of the blockchain smart contract security detection device in the embodiments of the present application;

[0070] Figure 8 The structural diagram of the plug-in configuration unit in the embodiments of the present application;

[0071] Figure 9 The structural diagram of the concurrent scanning unit in the embodiments of the present application;

[0072] Figure 10 The structural diagram of the concurrent scanning module in the embodiments of the present application;

[0073] Figure 11 The structural diagram of the task quantity decision-making module in the embodiments of the present application;

[0074] Figure 12 The structural diagram of the comprehensive analysis unit in the embodiments of the present application;

[0075] Figure 13 The structural schematic diagram of the electronic device in the embodiments of the present application;

[0076] Figure 14 A schematic diagram of the smart contract security verification framework in the embodiments of the present application;

[0077] Figure 15 A schematic diagram of the tool part in the smart contract security verification framework in the embodiments of the present application;

[0078] Figure 16 A schematic diagram of the executor part in the smart contract security verification framework in the embodiments of the present application;

[0079] Figure 17 A schematic diagram of the configuration method in the embodiments of the present application;

[0080] Figure 18 A schematic diagram of the smart contract security verification data flow in the embodiments of the present application;

[0081] Figure 19 One of the smart contract security verification flowcharts in the embodiments of the present application;

[0082] Figure 20 The second smart contract security verification flowchart in the embodiments of the present application;

[0083] Figure 21 One of the smart contract security verification application scenario schematic diagrams in the embodiments of the present application;

[0084] Figure 22 The second smart contract security verification application scenario schematic diagram in the embodiments of the present application;

[0085] Figure 23 The third smart contract security verification application scenario schematic diagram in the embodiments of the present application;

[0086] Figure 24 The fourth smart contract security verification application scenario schematic diagram in the embodiments of the present application;

[0087] Figure 25 The fifth smart contract security verification application scenario schematic diagram in the embodiments of the present application. DETAILED DESCRIPTION

[0088] To make the objects, technical solutions and advantages of the embodiments of the present application clearer, further detailed description of the embodiments of the present application will be given below with reference to the drawings. Herein, the schematic embodiments of the present application and the descriptions thereof are used to explain the present application, but not as a limitation to the present application.

[0089] The information collected in the technical solutions in the present application is information and data authorized by the user or authorized by all parties, and the collection, storage, use, processing, transmission, provision, disclosure and application of related data comply with relevant laws, regulations and standards of relevant countries and regions, necessary security measures are taken, do not violate public order and good customs, and provide corresponding operation portal for user to choose authorization or refusal.

[0090] A corresponding operation portal is provided for the user to choose to agree or refuse the automatic decision result; if the user chooses to refuse, the expert decision process is entered.

[0091] In an embodiment, referring to Figure 1 In order to provide an intelligent contract security verification framework, various tool sets are integrated in the form of plug-ins, and a unified interface is used for security detection of a blockchain intelligent contract, a blockchain intelligent contract security detection method provided by the present application comprises the following steps:

[0092] S101: globally and universally configuring and configuring plug-in related configurations according to security detection plug-in parameter configuration requirements in a detection processing request;

[0093] S102: concurrently scanning each intelligent contract in the detection processing request by using the security detection plug-in after globally and universally configuring and configuring plug-in related configurations, and obtaining a concurrent scanning result;

[0094] S103: comprehensively analyzing the concurrent scanning result to obtain a security detection report; wherein the security detection report comprises error description and repair suggestion.

[0095] It can be understood that the embodiment of the present application constructs an intelligent contract security verification framework. The framework integrates tool sets with high maintenance rate, high vulnerability coverage rate, high accuracy rate and fast scanning speed in the form of plug-ins, integrates various types of tools into the framework, takes advantages of each other, improves the coverage rate and accuracy rate of the security scanning of the intelligent contract as a whole, and makes up for the shortcomings of a single scanning tool.

[0096] The framework can be easily integrated into various security scanning scenarios: for example, through a local command running mode, it can be adapted to an integrated development environment, an integrated development pipeline, and real-time security scanning of intelligent contract code. For another example, as a backend service, it can be independently developed into a product component, and as part of a blockchain intelligent contract platform, it can provide intelligent contract security detection services.

[0097] An example of a blockchain intelligent contract verification platform architecture is shown in Figure 25The front-end page supports user uploading a scanning package, selecting and configuring a scanning tool, starting scanning, etc.; the back-end service receives the scanning package of the user, uses a task scheduling or orchestration service, delivers the scanning package to an instance of a blockchain smart contract verification framework, performs code scanning, and returns an asynchronous scanning task ID; the smart contract security framework schedules one or more scanning plugins to perform security scanning on the code according to the scanning configuration. The front-end service polls the scanning result through the task ID, and when the scanning is completed, the smart contract security framework aggregates all scanning results to form a scanning report and returns the scanning report to the user.

[0098] The framework has at least the following characteristics: integrated formal verification tool set of mainstream smart contracts; integrated security vulnerability scanning tool set of mainstream smart contracts; support for plug-in architecture and adaptation of security vulnerability scanning and correctness formal verification tool set; unified interface for standardizing security scanning configuration rules of various scanning tools; unified output report of various scanning tools; support for multi-scanning task management and concurrent task scheduling management; support for multi-language smart contract detection; support for online (blockchain system) security detection; support for vulnerability detection upgrade of tool set, version management and upgrade of tool; provide a security scanning and fast configuration template library for typical financial transaction scenarios; support for local execution and back-end service execution modes to support more scanning scenarios.

[0099] Specifically, the method provided in the present application relies on Figure 14 The smart contract security verification framework implementation is shown in the figure. Specifically, the following aspects are included:

[0100] First, a unified smart contract security verification interface is customized.

[0101] (1) Unified service interface

[0102] A unified service interface is provided for any smart contract source code scanning task.

[0103] The core interface includes at least:

[0104] 1) getLinters: Get the list of scanning tools supported by the security scanning framework; wherein the scanning framework supports multiple scanning tools, and the list of scanning tools is obtained. Each list item contains basic information of the tool, such as scanning tool ID, name, function, and supported language, etc.

[0105] 2) getLinterCfg: Get the default configuration information of the security scanning tool through the security scanning tool ID, which is used for advanced users to modify the default rules. Generally, the rules are maintained and managed by the scanning tool itself.

[0106] 3) getLinterRule: get the default rule of security scanning tool by security scanning tool ID, which is used for advanced users to modify the default rule. Generally, the rule is maintained and managed by the scanning tool itself. Modification of the rule is generally not performed on the user side.

[0107] 4) queryTaskStatus: query the scanning status by asynchronous security scanning task ID. The scanning process is relatively long, and is executed asynchronously. The task ID is returned first, and the scanning task status is queried through the notification interface or the front-end service polling.

[0108] 5) getReport: used to get the scanning report by asynchronous security scanning task ID.

[0109] 6) scan: scanning interface, the scanning interface supports at least two interface parameters:

[0110] local code path + scanning configuration file;

[0111] source code compression package (zip) + scanning configuration file.

[0112] 7) cancelTask: used to terminate the scanning task.

[0113] 8) createWebHook: input: service address accepting notification and additional description information; return: unique ID, status, url, etc.

[0114] 9) WebHooks, used to register notification interface. When the execution is completed, the framework service pushes the notification result to the registered target service. The result does not include the specific scanning report, and can include an overview data.

[0115] 10) queryHookStatus: query the registration status by the unique ID returned by createWebHook, such as registered and sent.

[0116] (2) unified output report

[0117] Collect the output logs and reports of various tool sets, process and integrate the reports, and output unified reports. The reports can include vulnerability description information, repair suggestions, and code positioning information, etc., which are convenient for connecting to other systems or converting into other format files.

[0118] (3) standardize security scanning configuration and rules

[0119] Shielding the complex configuration of various scanning tools. In the general security detection process, without user-defined configuration file, the framework can analyze the code to be scanned in advance according to the latest configuration strategy, and select the optimal default configuration. At the same time, for some complex scanning work, the framework supports user to specify scanning tool and its custom scanning configuration.

[0120] Second, plug-in architecture.

[0121] Using the plug-in architecture, the plug-in is managed by the plug-in management system. Each scanning tool needs to develop a corresponding plug-in (see Figure 15 If a new tool is added later, there is no need to modify and recompile the existing framework code.

[0122] Among them, the plug-in architecture includes the following key components:

[0123] Plug-in manager: responsible for registering, loading, initializing, executing, and managing plug-ins.

[0124] Plug-in interface: define the general security research adaptation plug-in interface, used for developing scanning tool adaptation plug-in. The specific implementation includes the following functions: get scanning plug-in default configuration, get scanning plug-in default rule, get scanning report result, execute scanning contract, get scanning execution status, and plug-in access method; the functions and implementation methods (such as different languages) of various mainstream scanning tools are quite different, and the security verification framework uses RPC (Remote Procedure Call) technology for plug-in management and integration.

[0125] Specifically, the plug-in runs as an independent service and is registered and integrated through RPC. The plug-in and the framework are completely decoupled, and the integration of the plug-in will not cause modification to the framework. The crash of the plug-in will not affect the execution of the framework service.

[0126] Security scanning function belongs to CPU intensive task, which will affect the CPU performance of the running host machine. Using RPC to communicate with the plug-in, the plug-in can be deployed on the same machine as the framework, or on other machines in the same LAN. By deploying to different machines, or setting up a load balancing server in the middle, parallel scanning of smart contract code can be supported.

[0127] Third, smart contract security tool set.

[0128] Correctness verification tool set (mainly using formal verification technology), through formal language, the concepts, judgments, and reasoning in the contract are converted into formal models, thereby eliminating ambiguity and non-universality in the contract, and then cooperating with rigorous logic and proof, the correctness and security of the function in the smart contract are verified.

[0129] Security detection tools, different formal techniques, focus on non-logical direction of code, such as code security, known vulnerability detection, code specification, etc., using techniques such as symbolic execution, fuzz testing, intermediate representation, deep learning, etc. Some tool sets integrate multiple technologies. Among them, including source code consistency verification tools. Such tools can verify whether the smart contract bytecode running on the blockchain is consistent with the local code, and can prevent the code (or bytecode) from being tampered with when deploying the smart contract. As shown in Figure 16 , after the Solidity is recompiled using the same options, the generated bytecode should be consistent with the bytecode on the chain. The framework can obtain the contract bytecode from the corresponding blockchain system and perform consistency verification locally. In addition to the Solidity language, the framework can support other smart contract languages.

[0130] Fourth, running mode.

[0131] Stateless backend service, providing JSONRPC interface service, supporting to accept [source code].zip + configuration interface scanning, supporting concurrent scheduling of multiple scanning tools for the same task.

[0132] Local source code scanning tool, executed through command line + configuration file, can specify local source code path through configuration file, and supports scanning local repository development code.

[0133] Fifth, configuration template library.

[0134] Referring to Figure 17 , a security scanning and rapid configuration template library is provided for typical financial transaction scenarios.

[0135] Sixth, version management and upgrade.

[0136] The security scanning framework needs to support version management of scanning plugins and support upgrading of tools. The security scanning tool needs to support managing scanning configurations and rules, and support adding and upgrading configurations and rules.

[0137] As can be seen from the above description, the blockchain smart contract security detection method provided by the application can construct a smart contract security verification framework. The framework integrates some tool sets with high maintenance rate, high vulnerability coverage rate, high accuracy rate and fast scanning speed in the form of plug-ins, integrates multiple types of tools into the framework, takes the advantages of each other, standardizes and unifies the interface and configuration, shields the complex configuration options of various security scanning tools, supports security detection of multiple contract languages, facilitates developers to quickly scan the security of smart contract code, and improves the coverage rate and accuracy rate of the security scanning of the smart contract as a whole.

[0138] In an embodiment, referring to Figure 2According to the security detection plug-in parameter configuration requirement in the detection processing request, the security detection plug-in is globally configured and plug-in related configuration is performed, including:

[0139] S201: According to the security detection plug-in parameter configuration requirement, the scanning mode corresponding to the detection processing request is determined; wherein the scanning mode includes a local execution mode or an online service mode;

[0140] S202: According to the scanning mode, the scanning mode parameter configuration in the global general configuration is performed;

[0141] S203: According to the scanning language identifier and the code location identifier in the security detection plug-in parameter configuration requirement, the scanning language configuration and the code location configuration in the global general configuration are performed;

[0142] S204: According to the advanced configuration requirement in the security detection plug-in parameter configuration requirement, the plug-in related configuration is performed.

[0143] It can be understood that, by using the configuration manager to process the configuration, the configuration is divided into two categories:

[0144] General global configuration item: used for the configuration of the security framework, the configuration is effective for all plug-ins; not dependent on specific language type, plug-in type; the current configuration item includes: scanning mode (local mode / upload code mode), scanning language identifier (such as java, c++ and the like) and code location (code path / zip package data);

[0145] Plug-in specific configuration item: user can configure and adjust the scanning configuration of a single plug-in, because the configuration of each plug-in is different, it belongs to the advanced configuration parameter for a specific plug-in, therefore, a string placeholder is used; this use scene is less, because the purpose of the framework is to shield various complex plug-in configurations, and automatically select the plug-in and the default configuration to perform code scanning.

[0146] From the above description, it can be known that the block chain smart contract security detection method provided by the application can globally configure and plug-in related configuration according to the security detection plug-in parameter configuration requirement in the detection processing request.

[0147] In an embodiment, referring to Figure 3 , the security detection plug-in after being globally configured and plug-in related configuration is used to concurrently scan each smart contract in the detection processing request, and a concurrent scanning result is obtained, including:

[0148] S301: The language type and code location parameter of each smart contract are concurrently analyzed by using the security detection plug-in after being globally configured and plug-in related configuration;

[0149] S302: calling an executor to execute a concurrent scanning task according to the language type and the code location parameter, and obtaining the concurrent scanning result.

[0150] It can be understood that, referring to Figure 18 , Figure 19 and Figure 20 , the security detection plug-in first identifies the programming language type (such as Solidity) of the smart contract by statically analyzing the code structure characteristics (such as syntax rules, keyword patterns, etc.) of the smart contract, and extracts the contract key code location parameters (such as function entry points, external call interfaces, etc.). This process uses a multi-threaded concurrent mechanism to improve parsing efficiency; then, the plug-in dynamically matches the corresponding vulnerability detection rule library according to the identified language type, and converts the code location parameters into the input queue of the scanning task, which is distributed to the distributed executor cluster through the task scheduler. The executor concurrently executes the detection based on semantic analysis, symbolic execution and other technologies, and finally generates the scanning result of each node, and generates a comprehensive report containing the vulnerability type, risk level and repair suggestion.

[0151] From the above description, it can be seen that the blockchain smart contract security detection method provided by the application can use the security detection plug-in configured globally and with plug-in related configurations to concurrently scan each smart contract in the detection processing request, and obtain the concurrent scanning result.

[0152] In an embodiment, referring to Figure 4 , the calling of the executor to execute the concurrent scanning task according to the language type and the code location parameter to obtain the concurrent scanning result comprises:

[0153] S401: determining a set of security detection plug-ins required for scanning the smart contract according to the language type;

[0154] S402: making a concurrent scanning task quantity decision according to the security detection plug-in deployment location; referring to Figure 5 , the making of the concurrent scanning task quantity decision according to the security detection plug-in deployment location comprises: if the security detection plug-in deployment location is remote, deciding to allow concurrent calling of all security detection plug-ins in the set of security detection plug-ins (S501); if the security detection plug-in deployment location is local, deciding to allow concurrent calling of no more than the number of logical cores of a central processing unit (S502).

[0155] S403: asynchronously calling a plug-in adapter of each security detection plug-in in the set of security detection plug-ins by using the executor;

[0156] S404: performing, by using the plug-in adapter, concurrent scanning tasks not exceeding the number of concurrent scanning tasks, to obtain the concurrent scanning result; wherein the concurrent scanning task is to concurrently scan the smart contract code indicated by the code location parameter.

[0157] It can be understood that, referring to Figure 19 , Figure 20 , first, all detection plug-ins supporting the language are screened out and prioritized according to vulnerability detection capabilities by a compiler of the smart contract or code features matching a preset plug-in registration center, to form a usable plug-in set. Then, the concurrency strategy is dynamically adjusted according to a plug-in deployment mode - if the plug-in is deployed on a remote server, full concurrency requests can be initiated through a stateless connection pool; if the plug-in runs locally, a fixed-size thread pool is created according to the number of CPU cores to limit the concurrency. Next, an adapter of each plug-in is triggered for calling by an asynchronous task scheduling module, each adapter is responsible for protocol conversion and parameter packaging, and controls the number of concurrent executions of actual scanning tasks; wherein, when a specific scanning task is executed, a "queue" can be set as a temporary data structure, and scanning tasks are constantly added to the tail of the queue for scanning; in this process, an asynchronous execution ID can also be returned. Finally, the scanning results are uniformly processed, detection reports of each plug-in are merged and duplicate vulnerabilities are removed, to generate a final result containing a risk level and repair suggestions, while response times and resource consumptions of each plug-in are recorded for subsequent performance optimization.

[0158] Specifically, a scenario diagram in which the plug-in is deployed on a local framework service is shown in Figure 21 . A scenario diagram in which the plug-in is deployed on a standalone server is shown in Figure 22 . If multiple scanning tasks are to be executed simultaneously, other task scheduling can be used to achieve this, as shown in Figure 23 , Figure 24 .

[0159] As can be seen from the above description, the blockchain smart contract security detection method provided in the application can execute, according to the language type and the code location parameter, an executor to execute a concurrent scanning task, to obtain the concurrent scanning result.

[0160] In an embodiment, referring to Figure 6 , the comprehensive analysis of the concurrent scanning result to obtain a security detection report includes:

[0161] S601: extracting scanning result basic information in the concurrent scanning result;

[0162] S602: counting a total number of problems, a scanning total state, a scanning file total number and a scanning total line number in the concurrent scanning result, to obtain first scanning summary abstract information;

[0163] S603: Divide the number of problems by severity and type, respectively, to obtain the second scan summary abstract information;

[0164] S604: Generate the error description and repair suggestion according to the scan result basic information, the first scan summary abstract information and the second scan summary abstract information.

[0165] It can be understood that the above steps are implemented by the output report manager.

[0166] Due to different scanning tools, the scanning results are quite different, and the format of the scanning results needs to be uniformly specified.

[0167] In order to unify and merge all scanning results, merging processing needs to be done, and the steps can include:

[0168] Scan result basic information;

[0169] Scan ID;

[0170] Scan task name;

[0171] Scan start time;

[0172] Scan end time;

[0173] Scan summary abstract statistical information;

[0174] Total number of problems;

[0175] Total scan status;

[0176] Total number of scanned files;

[0177] Total number of scanned lines;

[0178] Number of problems divided by severity, roughly divided into three categories: high = 3, medium = 2, low = 1;

[0179] Number of problems divided by type, roughly divided into three categories: Bugs = 1, security vulnerabilities = 2, bad smell = 3;

[0180] Supplement additional information;

[0181] Scan vulnerability result;

[0182] Output problem detail list;

[0183] Output improvement suggestion;

[0184] Output other additional information.

[0185] The problem detail list (Table 1) is as follows:

[0186] Table 1

[0187]

[0188] For the same code location error, the error description information is merged;

[0189] 1. Code error location 1

[0190] Plug-in 1 error description, reference rule location, repair suggestion.

[0191] Plug-in 2 error description, reference rule location, repair suggestion.

[0192] Plug-in N error description, reference rule location, repair suggestion.

[0193] Different code location errors are displayed normally, such as:

[0194] 2. Code error location 2

[0195] Plug-in X error description, reference rule location, repair suggestion.

[0196] 3. Code error location 3

[0197] Plug-in Y error description, reference rule location, repair suggestion.

[0198] From the above description, the blockchain smart contract security detection method provided by the application can comprehensively analyze the concurrent scanning results to obtain a security detection report.

[0199] It should be noted that the blockchain smart contract security detection method provided by the embodiment of the application can be used in the financial field, and can also be used in any technical field other than the financial field, and the application embodiment does not limit the application field of the blockchain smart contract security detection method.

[0200] Based on the same inventive concept, the embodiment of the application further provides a blockchain smart contract security detection device, which can be used to implement the method described in the above embodiments, as described in the following embodiments. Since the principle of solving problems of the blockchain smart contract security detection device is similar to that of the blockchain smart contract security detection method, the implementation of the blockchain smart contract security detection device can be referred to the implementation of the software performance benchmark determination method, and the repeated parts will not be described here. The term "unit" or "module" used below can be a combination of software and / or hardware that implements a predetermined function. Although the system described in the following embodiments is preferably implemented in software, hardware, or a combination of software and hardware is also possible and is conceived.

[0201] In an embodiment, referring to Figure 7In order to provide an intelligent contract security verification framework, integrate various tool sets in a plug-in manner, and perform security detection on a blockchain intelligent contract through a unified interface, the application provides a blockchain intelligent contract security detection device, which comprises a plug-in configuration unit 701, a concurrent scanning unit 702, and a comprehensive analysis unit 703.

[0202] The plug-in configuration unit 701 is configured to perform global general configuration and plug-in related configuration on the security detection plug-in according to the security detection plug-in parameter configuration requirement in the detection processing request;

[0203] The concurrent scanning unit 702 is configured to perform concurrent scanning on each intelligent contract in the detection processing request by using the security detection plug-in that has been globally configured and plug-in related configured, to obtain a concurrent scanning result;

[0204] The comprehensive analysis unit 703 is configured to perform comprehensive analysis on the concurrent scanning result, to obtain a security detection report; wherein the security detection report comprises error description and repair suggestion.

[0205] In an embodiment, referring to Figure 8 The plug-in configuration unit 701 comprises a scanning mode determination module 801, a mode parameter configuration module 802, a language code configuration module 803, and a plug-in configuration module 804.

[0206] The scanning mode determination module 801 is configured to determine a scanning mode corresponding to the detection processing request according to the security detection plug-in parameter configuration requirement; wherein the scanning mode comprises a local execution mode or an online service mode;

[0207] The mode parameter configuration module 802 is configured to perform scanning mode parameter configuration in global general configuration according to the scanning mode;

[0208] The language code configuration module 803 is configured to perform scanning language configuration and code location configuration in global general configuration according to the scanning language identifier and the code location identifier in the security detection plug-in parameter configuration requirement;

[0209] The plug-in configuration module 804 is configured to perform plug-in related configuration according to the advanced configuration requirement in the security detection plug-in parameter configuration requirement.

[0210] In an embodiment, referring to Figure 9 The concurrent scanning unit 702 comprises an intelligent contract analysis module 901 and a concurrent scanning module 902.

[0211] The intelligent contract analysis module 901 is configured to perform concurrent analysis on the language type and the code location parameter of each intelligent contract by using the security detection plug-in that has been globally configured and plug-in related configured;

[0212] The concurrent scanning module 902 is configured to invoke the executor to execute a concurrent scanning task according to the language type and the code location parameter, and obtain the concurrent scanning result.

[0213] In an embodiment, referring to Figure 10 , the concurrent scanning module 902 comprises a detection plug-in determination module 1001, a task quantity decision module 1002, an adaptive asynchronous calling module 1003, and a scanning result generation module 1004.

[0214] The detection plug-in determination module 1001 is configured to determine a set of security detection plug-ins required for scanning the smart contract according to the language type.

[0215] The task quantity decision module 1002 is configured to make a decision on the number of concurrent scanning tasks according to the security detection plug-in deployment location.

[0216] The adaptive asynchronous calling module 1003 is configured to call a plug-in adapter of each security detection plug-in in the set of security detection plug-ins asynchronously by using the executor.

[0217] The scanning result generation module 1004 is configured to execute concurrent scanning tasks not exceeding the number of concurrent scanning tasks by using the plug-in adapter, and obtain the concurrent scanning result; wherein the concurrent scanning tasks are concurrent scanning tasks of the smart contract code indicated by the code location parameter.

[0218] In an embodiment, referring to Figure 11 , the task quantity decision module 1002 comprises a remote decision module 1101 and a local decision module 1102.

[0219] The remote decision module 1101 is configured to make a decision to allow concurrent calling of all security detection plug-ins in the set of security detection plug-ins if the security detection plug-in deployment location is remote.

[0220] The local decision module 1102 is configured to make a decision to allow concurrent calling of no more than a number of logical cores of a central processing unit if the security detection plug-in deployment location is local.

[0221] In an embodiment, referring to Figure 12 , the comprehensive analysis unit 703 comprises a basic information extraction module 1201, a first abstract generation module 1202, a second abstract generation module 1203, and an error repair generation module 1204.

[0222] The basic information extraction module 1201 is configured to extract scanning result basic information in the concurrent scanning result.

[0223] The first abstract generation module 1202 is configured to count the total number of problems, the total scanning status, the total number of scanned files and the total number of scanned lines in the concurrent scanning results, and obtain a first scanning summary abstract information;

[0224] The second abstract generation module 1203 is configured to divide the number of problems according to the severity and type respectively, and obtain a second scanning summary abstract information.

[0225] The error repair generation module 1204 is configured to generate the error description and repair suggestion according to the scanning result basic information, the first scanning summary abstract information and the second scanning summary abstract information.

[0226] From the hardware level, in order to provide a smart contract security verification framework, integrate various tool sets in the form of plug-ins, and perform security detection on the blockchain smart contract through a unified interface, an embodiment of an electronic device for implementing all or part of the contents of the blockchain smart contract security detection method is provided, which specifically includes the following contents:

[0227] A processor (Processor), a memory (Memory), a communications interface (Communications Interface) and a bus; wherein the processor, the memory and the communications interface communicate with each other through the bus; the communications interface is used to realize the information transmission between the blockchain smart contract security detection device and the core business system, the user terminal and the related database and other related devices; the logic controller can be a desktop computer, a tablet computer and a mobile terminal, etc., and the embodiment is not limited thereto. In the embodiment, the logic controller can be implemented by referring to the embodiments of the blockchain smart contract security detection method and the embodiments of the blockchain smart contract security detection device, the contents of which are incorporated herein, and the repeated parts will not be described again.

[0228] It can be understood that the user terminal can include a smart phone, a tablet electronic device, a network set-top box, a portable computer, a desktop computer, a personal digital assistant (PDA), a vehicle-mounted device, a smart wearable device, etc. The smart wearable device can include smart glasses, a smart watch, a smart bracelet, etc.

[0229] In actual application, part of the blockchain smart contract security detection method can be executed on the electronic device as described above, or all operations can be completed in the client device. Specifically, the selection can be made according to the processing capacity of the client device and the limitation of the user's use scenario, etc. The present application does not limit this. If all operations are completed in the client device, the client device can also include a processor.

[0230] The aforementioned client device may have a communication module (i.e., a communication unit) that can communicate with a remote server to achieve data transmission. The server may include a server on the task scheduling center side; in other implementation scenarios, it may also include a server on an intermediate platform, such as a server on a third-party server platform that has a communication link with the task scheduling center server. The server may include a single computer device, a server cluster consisting of multiple servers, or a distributed server structure.

[0231] Figure 13 This is a schematic block diagram illustrating the system configuration of the electronic device 9600 according to an embodiment of this application. Figure 13 As shown, the electronic device 9600 may include a central processing unit 9100 and a memory 9140; the memory 9140 is coupled to the central processing unit 9100. It is worth noting that... Figure 13 This is an example; other types of structures can also be used to supplement or replace this structure to achieve telecommunications functions or other functions.

[0232] In one embodiment, the blockchain smart contract security detection method function can be integrated into the central processing unit 9100. The central processing unit 9100 can be configured to perform the following controls:

[0233] S101: Perform global general configuration and plugin-related configuration on the security detection plugin according to the security detection plugin parameter configuration requirements in the detection processing request;

[0234] S102: Using the security detection plugin after performing global general configuration and plugin-related configuration, concurrently scan each smart contract in the detection processing request to obtain concurrent scan results;

[0235] S103: Perform a comprehensive analysis on the concurrent scan results to obtain a security detection report; wherein the security detection report includes error descriptions and repair suggestions.

[0236] As described above, the blockchain smart contract security detection method and apparatus provided in this application can construct a smart contract security verification framework. This framework integrates a set of tools with high maintenance rates, high vulnerability coverage, high accuracy, and fast scanning speeds via plugins. It integrates various types of tools into the framework, leveraging their strengths and compensating for their weaknesses. It standardizes and unifies interfaces and configurations, shielding developers from the complex configuration options of various security scanning tools. It supports security detection in multiple contract languages, facilitating developers to quickly perform security scans on smart contract code, and overall improving the coverage and accuracy of smart contract security scanning.

[0237] In another embodiment, the blockchain smart contract security detection device can be configured separately from the central processing unit 9100. For example, the data composite transmission device blockchain smart contract security detection device can be configured as a chip connected to the central processing unit 9100, and the function of the blockchain smart contract security detection method can be realized through the control of the central processing unit.

[0238] like Figure 13 As shown, the electronic device 9600 may further include: a communication module 9110, an input unit 9120, an audio processor 9130, a display 9160, and a power supply 9170. It is worth noting that the electronic device 9600 does not necessarily need to include these components. Figure 13 All components shown; in addition, the electronic device 9600 may also include Figure 13 For components not shown, please refer to existing technologies.

[0239] like Figure 13 As shown, the central processing unit 9100, sometimes also referred to as a controller or operating control, may include a microprocessor or other processor device and / or logic device, which receives inputs and controls the operation of various components of the electronic device 9600.

[0240] The memory 9140 may be, for example, one or more of a cache, flash memory, hard drive, removable media, volatile memory, non-volatile memory, or other suitable devices. It may store the aforementioned failure-related information, and also store a program for executing that information. The central processing unit 9100 may execute the program stored in the memory 9140 to perform information storage or processing, etc.

[0241] Input unit 9120 provides input to central processing unit 9100. Input unit 9120 may be, for example, a keypad or touch input device. Power supply 9170 provides power to electronic device 9600. Display 9160 displays images and text. Display may be, for example, an LCD display, but is not limited thereto.

[0242] The memory 9140 can be a solid-state memory, such as a read-only memory (ROM), random access memory (RAM), a SIM card, etc. It can also be a memory that retains information even when power is off, can be selectively erased, and contains more data; examples of this type of memory are sometimes referred to as EPROMs. The memory 9140 can also be some other type of device. The memory 9140 includes a buffer memory 9141 (sometimes referred to as a buffer). The memory 9140 may include an application / function storage unit 9142 for storing application programs and function programs or processes for executing the operation of the electronic device 9600 via the central processing unit 9100.

[0243] The memory 9140 can further include a data storage 9143 for storing data such as contacts, digital data, pictures, sounds, and / or any other data used by the electronic device. A driver storage 9144 of the memory 9140 can include various drivers of the electronic device for communication functions and / or for performing other functions of the electronic device (e.g., a messaging application, a phonebook application, etc.).

[0244] The communication module 9110 is a transmitter / receiver that transmits and receives signals via the antenna 9111. The communication module (transmitter / receiver) 9110 is coupled to the central processor 9100 to provide input signals and receive output signals, as in the case of a conventional mobile communication terminal.

[0245] Based on different communication technologies, a plurality of communication modules 9110, such as a cellular network module, a Bluetooth module, and / or a wireless LAN module, etc., can be provided in the same electronic device. The communication module (transmitter / receiver) 9110 is further coupled to the speaker 9131 and the microphone 9132 via the audio processor 9130 to provide audio output via the speaker 9131 and receive audio input from the microphone 9132, thereby implementing a conventional telecommunication function. The audio processor 9130 can include any suitable buffer, decoder, amplifier, etc. In addition, the audio processor 9130 is coupled to the central processor 9100, thereby enabling recording on the local device via the microphone 9132 and enabling playing of a sound stored on the local device via the speaker 9131.

[0246] The embodiment of the present application further provides a computer readable storage medium capable of implementing all steps of the blockchain smart contract security detection method with the execution subject being a server or a client in the above-mentioned embodiment, wherein the computer readable storage medium stores a computer program, and the computer program is executed by a processor to implement all steps of the blockchain smart contract security detection method with the execution subject being a server or a client in the above-mentioned embodiment, for example, the processor executes the computer program to implement the following steps:

[0247] S101: globally and universally configuring and plug-in related configuring the security detection plug-in according to a security detection plug-in parameter configuration requirement in a detection processing request;

[0248] S102: concurrently scanning each smart contract in the detection processing request by using the security detection plug-in configured globally and universally and plug-in related, and obtaining a concurrent scanning result;

[0249] S103: comprehensively analyze the concurrent scanning result, and obtain a security detection report; wherein the security detection report comprises error description and repair suggestion.

[0250] From the above description, it can be known that the blockchain smart contract security detection method and device provided by the application can construct a smart contract security verification framework. The framework integrates some tool sets with high maintenance rate, high vulnerability coverage rate, high accuracy rate and fast scanning speed in the form of plug-ins, integrates various types of tools into the framework, takes advantages of each other, standardizes and unifies the interface and configuration, shields the complex configuration options of various security scanning tools, supports security detection of multiple contract languages, facilitates the developers to quickly perform security scanning on the smart contract code, and improves the coverage rate and accuracy rate of the security scanning of the smart contract as a whole.

[0251] Those skilled in the art should understand that the embodiments of the application can be provided as a method, device, or computer program product. Therefore, the application can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the application can take the form of a computer program product implemented on one or more computer usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer usable program code.

[0252] The application is described with reference to flowcharts and / or block diagrams according to the embodiments of the application. It should be understood that each flow and / or block in the flowcharts and / or block diagrams, and the combination of the flows and / or blocks in the flowcharts and / or block diagrams can be implemented by computer program instructions. These computer program instructions can be provided to a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to produce a machine, so that the instructions executed by the computer or other programmable data processing devices produce a device that implements the functions specified in the flowcharts and / or block diagrams. Figure 1 The functions specified in one or more flows and / or blocks Figure 1 The device that implements the functions specified in one or more flows and / or blocks.

[0253] These computer program instructions can also be stored in a computer readable storage medium that can guide the computer or other programmable data processing devices to work in a specific way, so that the instructions stored in the computer readable storage medium produce a product including instruction devices that implement the functions specified in the flowcharts and / or block diagrams. Figure 1 The functions specified in one or more flows and / or blocks Figure 1 The device that implements the functions specified in one or more flows and / or blocks.

[0254] These computer program instructions can also be loaded into a computer or other programmable data processing devices, so that a series of operational steps are generated to realize the computer-implemented processes, and the instructions executed on the computer or other programmable devices provide a process for implementing the functions specified in the flowchart Figure 1 one flow or multiple flows and / or the functions specified in the block Figure 1 one flow or multiple flows and / or the functions specified in the block

[0255] The principles and implementation manners of the present application are described in the specific embodiments. The above embodiment descriptions are only used to help understand the method and core idea of the present application. Meanwhile, for those skilled in the art, according to the idea of the present application, the specific implementation manners and application ranges will be changed. In summary, the content of the present application should not be understood as a limitation.

Claims

1. A blockchain smart contract security detection method, characterized in that, The method comprises the following steps: According to the security detection plug-in parameter configuration requirement in the detection processing request, the security detection plug-in is globally configured and plug-in related configuration is performed; The language type and code location parameters of the smart contract are analyzed concurrently using the security detection plug-in which has been globally configured and plug-in related configuration; According to the language type and code location parameters, the executor is called to execute the concurrent scanning task of the smart contract, and the concurrent scanning result is obtained; The security detection report is obtained by comprehensively analyzing the concurrent scanning result; wherein the security detection report includes error description and repair suggestion. 2.The method of claim 1, wherein, According to the security detection plug-in parameter configuration requirement in the detection processing request, the security detection plug-in is globally configured and plug-in related configuration is performed; According to the security detection plug-in parameter configuration requirement, the scanning mode corresponding to the detection processing request is determined; wherein the scanning mode includes local execution mode or online service mode; According to the scanning mode, the scanning mode parameter configuration in the global general configuration is performed; According to the scanning language identifier and code location identifier in the security detection plug-in parameter configuration requirement, the scanning language configuration and code location configuration in the global general configuration are performed; According to the advanced configuration requirement in the security detection plug-in parameter configuration requirement, the plug-in related configuration is performed. 3.The method of claim 1, wherein, According to the language type and code location parameters, the executor is called to execute the concurrent scanning task of the smart contract, and the concurrent scanning result is obtained; According to the language type, the security detection plug-in set required for scanning the smart contract is determined; According to the security detection plug-in deployment location, the number of concurrent scanning tasks is determined; The plug-in adapter of each security detection plug-in in the security detection plug-in set is asynchronously called by the executor, and the number of concurrent scanning tasks does not exceed the number of concurrent scanning tasks, and the concurrent scanning result is obtained; wherein the concurrent scanning task is to concurrently scan the smart contract code indicated by the code location parameter. 4.The method of claim 3, wherein, The plug-in adapter of each security detection plug-in in the security detection plug-in set is asynchronously called by the executor, and the number of concurrent scanning tasks does not exceed the number of concurrent scanning tasks, and the concurrent scanning result is obtained; wherein the concurrent scanning task is to concurrently scan the smart contract code indicated by the code location parameter. According to the security detection plug-in deployment location, the number of concurrent scanning tasks is determined; If the security detection plug-in deployment location is remote, it is determined to allow concurrent calling of all security detection plug-ins in the security detection plug-in set; If the security detection plug-in deployment location is local, it is determined to allow concurrent calling of no more than the number of logical cores of central processor security detection plug-ins. 5.The method of claim 4, wherein, ​ ​ ​ 6. The method of claim 1, wherein, The comprehensive analysis of the concurrent scanning results obtains a security detection report, and the security detection report includes: extracting scanning result basic information in the concurrent scanning results; counting total problem quantity, scanning total status, scanning file total quantity and scanning total line number in the concurrent scanning results to obtain first scanning summary abstract information; dividing problem quantity according to severity and type respectively to obtain second scanning summary abstract information; generating error description and repair suggestion according to the scanning result basic information, the first scanning summary abstract information and the second scanning summary abstract information. 7.A blockchain smart contract security detection apparatus characterized by comprising: It includes: The plug-in configuration unit is configured to configure the security detection plug-in globally and relatedly according to the security detection plug-in parameter configuration requirement in the detection processing request; The concurrent scanning unit is configured to concurrently scan each smart contract in the detection processing request by using the security detection plug-in configured globally and relatedly to obtain concurrent scanning results; The comprehensive analysis unit is configured to comprehensively analyze the concurrent scanning results to obtain a security detection report; wherein the security detection report includes error description and repair suggestion.

8. An electronic device comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, characterized in that, The processor executes the program to realize the steps of the blockchain smart contract security detection method in any one of claims 1 to 6.

9. A computer readable storage medium having stored thereon a computer program, characterized in that, The computer program is executed by the processor to realize the steps of the blockchain smart contract security detection method in any one of claims 1 to 6.

10. A computer program product comprising computer programs / instructions, characterized in that, The computer program / instruction is executed by the processor to realize the steps of the blockchain smart contract security detection method in any one of claims 1 to 6.