Font Size: a A A

Design And Implementation Of Python Program Vulnerability Detection Plug-in Based On Graph Neural Network

Posted on:2022-05-24Degree:MasterType:Thesis
Country:ChinaCandidate:N F HeFull Text:PDF
GTID:2518306530480754Subject:Computer technology
Abstract/Summary:PDF Full Text Request
With the rapid development of information technology today,Internet-related technologies have brought tremendous convenience to mankind and society,and security issues have also become the focus of attention.With the increasing demand for informatization of enterprises,government agencies and educational institutions and the derivation and development of various development languages,various information management systems,application software and development languages have emerged.The Python language has the characteristics of simplicity,scalability and portability,and it has become more and more widely used in the application development market,resulting in a linear increase in the number,type,and risk level of software vulnerabilities.Therefore,software developed using the Python language has brought about the security threats cannot be ignored.Researchers have proposed a variety of methods for program vulnerability detection,but with the continuous changes and derivation of vulnerability characteristics,detection methods that rely solely on vulnerability libraries still have problems such as high false alarm rates,inaccurate location of vulnerabilities,and error type predictions.The poor detection effect of existing program vulnerability detection methods is mainly reflected in the following aspects:incomplete coverage of vulnerability features leads to missed detection of new types of vulnerabilities and high false positives;failure to find data dependencies and control relationships suitable for program execution Data structure represents,learns,and mines the logical relationships between code lines,which leads to inaccurate location of vulnerabilities;understanding and learning of relationships between code lines,vulnerability data representation learning,and model generalization capabilities have become pain points for code vulnerability detection.Therefore,in response to the above three problems,this paper studies the representation and preprocessing methods of Python source code data,as well as the identification and learning of vulnerability defect characteristics,code data flow and potential vulnerability feature relationship between code data flow and control flow,and proposes a Python program based on graph neural network.The vulnerability detection method solves the problem that the existing vulnerability detection methods cannot accurately locate the location of the vulnerability and determine the type of the vulnerability.The experimental results show that the method in this paper has certain advantages in accuracy,and can accurately detect whether there are loopholes in the code line,and determine the specific location of the loophole and the type of loophole it belongs to.Combined with the Python program vulnerability detection method based on graph neural network proposed in this paper,the Python static code audit plug-in Pylint is improved and optimized.Source code preprocessing,vulnerability detection,detection result analysis,log management,and result storage are designed and implemented for the plug-in.Visualize the five major functional modules,optimize and improve Pylint's detection accuracy and generalization ability in code vulnerability detection.Finally,after testing,the tool can locate the vulnerability location and detect the vulnerability type in actual application scenarios.
Keywords/Search Tags:Vulnerability detection, Data representation, Graph neural network, Plug-in
PDF Full Text Request
Related items