首页 > 其他分享 >Devign方法复现——漏洞检测

Devign方法复现——漏洞检测

时间:2024-11-05 14:46:15浏览次数:5  
标签:mirrors torch Devign 漏洞 报错 复现 aliyun input com

1、论文及代码

        (1)论文:Zhou Y, Liu S, Siow J, et al. Devign: Effective vulnerability identification by learning comprehensive program semantics via graph neural networks[J]. Advances in neural information processing systems, 2019, 32.

        (2)代码:GitHub - epicosy/devign: Effective Vulnerability Identification by Learning Comprehensive Program Semantics via Graph Neural Networks

2、配置环境

        (1)博主采用环境为:Python=3.10.11、Pytorch=2.4.0、Joern=1.7.0、torch-geometric=2.6.1、gensim、sklearn、cpgclien。

        (2)torch-geometric配置可参考这篇文章,torch_geometric详细安装教程_torch-geometric-CSDN博客

        (3)其他库安装命令如下:

                (a)gensim

pip install gensim -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

                (b)sklearn

pip install scikit-learn -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com 

                (c)cpgclient

pip install cpgclientlib -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

3、运行

        (1)修改main.py,只是为了快速跑通代码,修改如下图。           

        (2)处理第一个报错,报错如下。

                (a)处理方法:找到“devign-master\src\data\datamanager.py”文件,将该文件中所有“append”修改“_append”,共有4处。  

        (3)处理第二个报错,报错如下。

                (a)报错原因:“data/input/”的数据集有问题。

                (b)处理方法:删除 “data/input/”下所有文件,可使用别人构造的cpg_input.pkl文件,或者自己构造cpg_input.pkl文件。

                        (i)使用别人构造的(为了快速跑通代码,博主使用此方法)。下载地址: https://www.123684.com/s/dKwvTd-s52pd?提取码:64h9

                        (ii)自己构造。Joern报错时可参考这篇文章,在joern中使用graph-for-funcs.sc报错-CSDN博客   

        (4)处理第四个报错,报错如下

                (a)处理方法:在“data/”目录下,创建个“model”文件夹。

        (5)成功运行。

4、关闭训练提前结束机制

        (a)操作方法:注释“src/process/modeling.py”的28-34行代码。关闭后,训练不会提前结束,而是根据config.json中的epochs的值来结束。

5、一些疑惑

        (1)不知道为什么有时跑出来数据很奇怪,重复跑几次还是奇怪,TP、FP都为零。感觉根本就没有学习到漏洞特征,直接全部预测为无漏洞。有朋友知道的话,欢迎留言讨论

 

标签:mirrors,torch,Devign,漏洞,报错,复现,aliyun,input,com
From: https://blog.csdn.net/m0_56887139/article/details/143501925

相关文章

  • 挖漏洞怎么赚钱?挖漏洞入门到精通,收藏这篇就够了
    我就是一个最普通的网络安全工程师,出道快10年了,不出意外地遭遇到瓶颈期,但是凭技术在各大平台挖漏洞副业,硬是妥妥扛过来了。因为对于程序员来讲,这是个试错成本很低、事半功倍的选择。编程技能是一种强大生产力,决定程序员是一个高薪职业,同时由于技术迭代太快,决定程序员也是......
  • 需要了解这些关于漏洞的知识
    漏洞它是计算机信息系统在需求、设计、实现、配置、运行等过程中,有意或无意产生的缺陷。这些缺陷会以不同的形式存在于计算机信息系统的各个层次和环节之中,通常情况下不影响软件的正常功能,但如果被恶意主体所利用,有可能驱使软件去执行一些额外的恶意代码,就会对计算机信息系统的......
  • pikachu靶场漏洞代码分析
    pikachu靶场代码漏洞分析部署工具:phpstudyCommandInjection命令注入exec"ping"路径:http://localhost/pikachu-master/vul/rce/rce_ping.php请求方式:POST参数:ipaddress=xxx漏洞成因:利用由不可信赖的数据构建的命令来调用shell_exec()。这种调用会导致程序以攻击者的......
  • xss漏洞解析
    xss跨站脚本攻击案例xss案例有一段代码php $a=$_GET['a'];echo$a;?>XSS简介XSS被称为跨站脚本攻击(CrossSiteScripting),由于和CSS重名,所以改为XSS。XSS就是将恶意代码注入到网页中,以达到攻击的效果。XSS主要使用javascript,javascript可以非常灵活的操作html......
  • 七月在线具身智能机器人复现实战营值得报名吗
    本人对该文全部内容真实性负责。先说结论:劝退任何人。对具身智能领域有兴趣,但之前没相关基础想快速入门的人来说,这里十分不适合你,课程对于基础不好的人照顾低,大部分原理讲解不清晰。进来后大概率还是自学。千万别花这个冤枉钱,而且具身智能领域所涉及内容众多,对于个人来说硬......
  • 常见的软件安全性缺陷和漏洞
    软件的安全有很多方面的内容,主要的安全问题是由软件本身的漏洞造成的,下面介绍常见的软件安全性缺陷和漏洞。1、缓冲区溢出缓冲区溢出已成为软件安全的头号公敌,许多实际中的安全问题都与它有关。造成缓冲区溢出问题通常有以下两种原因。1)设计空间的转换规则的校验问题即缺乏......
  • 《安全软件开发框架(SSDF) 1.1:降低软件漏洞风险的建议》解读(三)
    安全软件开发框架SSDF是由美国国家标准与技术研究院发布的关于安全软件开发的一组实践,帮助开发组织减少发布的软件中的漏洞数量,减少利用未检测到或未解决的漏洞的潜在影响,从根本上解决漏洞防止再次发生。本文根据《SecureSoftwareDevelopmentFramework(SSDF)Version1.1:R......
  • #渗透测试#SRC漏洞挖掘#自动化脚本的编写01
    免责声明本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章阅读。什么是python?Python是一种广泛使用的高级编程语言,以其简洁......
  • Hierarchical Cross-Modal Agent forRobotics Vision-and-Language Navigation论文的
    GitHub-GT-RIPL/robo-vln:PytorchcodeforICRA'21paper:"HierarchicalCross-ModalAgentforRoboticsVision-and-LanguageNavigation"Installationgitclonehttps://github.com/GT-RIPL/robo-vlncdrobo-vlnexportrobovln_rootdir=$PWD......
  • 1day未公开索贝融媒体工作平台 login 存在弱口令漏洞
    0x01阅读须知        技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者......