【技术实现步骤摘要】
一种恶意npm包检测方法、装置、设备及介质
[0001]本申请涉及程序包检测
,特别涉及一种恶意npm包检测方法、装置、设备及介质。
技术介绍
[0002]Javascript流行已久,V8引擎更是让其进化为服务端开发语言的一员。其对应的包管理工具npm(即node package manager,node包管理器)中存在着大量的可重用软件包,体量巨大。社区的热度促进了npm的发展,也促进了Node.js的发展。但在npm中发布一个新的包只需要注册一个npm账户即可,更新一个包的新版本也只需要简单地进行注册表上传同步。恶意包在近几年成为一大焦点问题,因为即使很快地发现并清除这些恶意包,在注册表中存活很短一段时间也会影响到很多终端用户。
[0003]目前,由于npm包发布量大,传统人工审核或半自动化审核的方式难以应对,且存在错误标记正常包或遗漏恶意包导致的准确率低的问题。
技术实现思路
[0004]有鉴于此,本申请的目的在于提供一种恶意npm包检测方法、装置、设备及介质,能够提升恶意npm包检测的 ...
【技术保护点】
【技术特征摘要】
1.一种恶意npm包检测方法,其特征在于,包括:提取待检测npm包的特征数据;将所述特征数据输入分类模型,得到所述待检测npm包的分类结果;当所述分类结果为正常包,则基于预设的检测逻辑对所述待检测npm包进行检测,得到检测结果。2.根据权利要求1所述的恶意npm包检测方法,其特征在于,所述基于预设的检测逻辑对所述待检测npm包进行检测,得到检测结果,包括:对所述待检测npm包内的源代码进行重构以得到重构文件,并基于所述重构文件以及所述待检测npm包在注册表中的信息判断所述待检测npm包是否为恶意包,得到检测结果;或,对所述待检测npm包内的可执行文件与已知恶意包进行比较,得到检测结果。3.根据权利要求1所述的恶意npm包检测方法,其特征在于,所述提取待检测npm包的特征数据,包括:提取所述待检测npm包内的源代码或可执行文件的特征数据;和/或,提取所述待检测npm包内的安装时运行脚本的特征数据;和/或,基于所述待检测npm包内的说明文件提取所述待检测npm包的版本特征数据。4.根据权利要求3所述的恶意npm包检测方法,其特征在于,所述提取所述待检测npm包内的源代码或可执行文件的特征数据,包括:提取所述待检测npm包内的源代码或可执行文件中目标操作的特征数据;所述目标操作包括获取用户个人信息的操作、访问特定的系统资源的操作、调用特定的APIs的操作;和/或,提取所述源代码或可执行文件的香农熵。5.根据权利要求4所述的恶意npm包检测方法,其特征在于,所述调用特定的APIs的操作包括调用动态代码生成的APIs的操作,...
【专利技术属性】
技术研发人员:金成强,余金开,
申请(专利权)人:杭州安恒信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。