最新消息:

DataCon24供应链安全赛道亚军源码分享:MalNPMDetector NPM恶意软件包检测(武大)

好的外部文章和内容 admin 47浏览 0评论

转自:https://mp.weixin.qq.com/s/6dbWPMLyAJ50rcKDN0Abtw?mpshare=1&scene=1&srcid=0327JZTcfl2XUAv9c1arKJNq&sharer_shareinfo=f59e6cdd04bc3e9f58c306befe019f9f&sharer_shareinfo_first=f59e6cdd04bc3e9f58c306befe019f9f&color_scheme=light#rd

该资源是来自武汉大学0817团队,DataCon 2024软件供应链安全赛道亚军(一等奖)的开源分享,该团队构建了一个针对npm软件包的恶意包检测方法及系统——MalNPMDetector。极其适合开发者、研究者、学生学习和应用。快来 Gitee 点个 Star ⭐,Fork 🍴并 Watch👀, 试试吧!希望对大家有所帮助。

MalNPMDetector是一个针对npm软件包的恶意包检测方法及系统,包括如下步骤:

  • 高效的静态规则匹配在大样本数据集中初步过滤出可疑恶意包及混淆软件包;
  • 较为耗时的基于字符串的污点分析在规则匹配的可疑恶意包结果中进一步收缩范围;
  • 将两步过滤结果的可疑样本通过构造的prompt提交给ChatGPT验证其恶意性,同时学习新的恶意特征更新已有的静态规则;
  • 针对静态规则匹配检测出的混淆软件包,采用动态分析的方式确认其恶意性。本项目能够高效检测出npm软件包中的恶意包,误报率低、准确率高、能够检测新的攻击。

其开源地址如下:

  • https://gitee.com/jenniedn/mal-npmdetector.git

 

 

 

文章目录:

  • 🔥 什么是 Datacon? 
  • 🔥软件供应链的安全风险分析 
  • 🔥MalNPMDetector 
  • 💡 如何参与? 
  • 🎯让我们一起推动软件供应链安全项目的开源发展!

🔥 什么是 Datacon?

DataCon大数据安全分析竞赛是由奇安信集团、清华大学于2019年联合发起,是国内首个以大数据安全分析为目标的大型竞赛,旨在选拔和培养积极防御型网络安全人才,竞赛的最大特点是强调“实战化”,模拟真实网络环境的攻防对抗场景,重点考察选手利用新技术方法解决不同场景下安全问题的能力,目前已连续举办五届。比赛主页:

  • https://www.datacon.org.cn/competition/competitions/91/introduction

强烈建议从事网络安全、系统安全、AI安全及人工智能相关方向的同学积极参与DataCon比赛。该赛事通过产学研深度融合,为参赛者提供真实数据集和实践平台,有助于全面提升实战能力与科研水平。

🔥软件供应链的安全风险分析

随着软件供应链复杂性的增加,开源软件包 已成为现代软件开发的核心组成部分。然而,这一趋势也带来了 新的安全挑战,特别是 攻击者在开源软件源中投放恶意软件包,对开发者及其使用的系统构成潜在威胁。常见的NPM恶意软件包大致可以分为六类:

  • 信息窃取
    此类恶意包通常结构简单,具有统一模板。安装后会自动执行恶意脚本,收集并回传系统和用户信息等敏感数据,如用户目录、用户名、DNS服务器,网卡信息和 passwd 文件内容等;
  • 反弹shell
    此类恶意包危害极大,成功攻击后,攻击者可获取目标机器当前用户权限,并进步尝试提权,以最高权限执行任意命令,全面控制受害设备;
  • 后门木马
    此类恶意包在用户机器上下载或释放并执行已经精心制作好的后门木马;
  • 挖矿病毒
    此类恶意包以窃取计算资源为目的,将受害者的机器变为攻击者矿池的算力节点,为其持续提供算力。
  • 加密勒索
    此类恶意包会读取用户电脑上的重要目录文件内容,加密后再写回原文件,并留下勒索提示。
  • npm仓库污染
    此类恶意包没有太多实际作用,但是大量充斥于NPM开源仓库,某些情形下容易造成NPM整个仓库不可用。

🔥MalNPMDetector

👉 MalNPMDetector结合 静态 + 动态 + AI 辅助分析,实现高效、精准的恶意软件包检测,并具备 自学习与持续优化能力,增强软件供应链安全防护。其工作流程图可以如下图所示:

⭐ 其先进性在于:

(1)基于静态规则匹配的高效预筛选机制
构建大规模 恶意软件包特征库,结合 模式匹配、语法解析与启发式分析,在海量样本中 精准筛选疑似恶意包及代码混淆样本。采用 多层级匹配策略(关键字规则、代码模式、异常依赖链分析)降低误报率,为后续深度分析奠定基础。

(2)基于高级污点分析的恶意代码路径追踪
提出了一种基于字符串字面值的污点分析方法,并结合 Semgrep 进行更精准的检测。例如,我们仅在关键敏感字符串(如 bash -i、cat、curl 等)经过污点传播并最终进入系统执行函数时,才会报告恶意行为。

(3)基于 AI 的大规模恶意软件包自动化分类与持续学习
利用 ChatGPT 进行上下文感知的恶意性推理,实现恶意代码逻辑的深度解析与分类。

💡 如何参与?

MalNPMDetector是一个 开源项目,我们欢迎所有对软件供应链安全感兴趣的开发者参与贡献:

  • ⭐ 给个 Star,支持我们的项目!
  • 👀 Watch 关注项目,随时获取最新动态
  • 🍴 Fork 仓库,进行二次开发或学习研究!
  • 📝 提交 Issue 或 PR,共同优化软件供应链生态!
  • 👉 访问 Gitee 仓库:https://gitee.com/jenniedn/mal-npmdetector.git

(By: 武大0817团队 2025-03-27)

 

 

 

 

 

 

转载请注明:jinglingshu的博客 » DataCon24供应链安全赛道亚军源码分享:MalNPMDetector NPM恶意软件包检测(武大)

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址