npm是JavaScript的包管理工具,现代js开发中大部分第三方库的下载都是通过npm进行的,开源开发者们也乐意将自己得库上传到npm上。近些年许多攻击者针对流行的软件包管理器以及他们的用户进行供应链攻击,npm就包括在其中。在2021年,通过利用开源软件的供应链,安全攻击的数量同比增长了650%。
论文What are Weak Links in the npm Supply Chain?中对npm供应链的安全风险做了比较详细的分析,但是其中仍然有些不足,比如作者分析的后三种风险并没有得到从业者的认可,而作者通过调研得到的从业者的观点却没有得到深入分析,另外论文所使用的数据也有些过时了。因此本项目希望在此篇论文的基础上,结合自己的调研和讨论,从六个方面分析npm供应链的安全风险。
git clone git@github.com:Re-Li-fe/OSS-Security-Risk-Analysis.git
在Linux环境下创建配置并且激活虚拟环境
conda create -n ossd python=3.10
conda activate ossd
在根目录下运行
scrapy crawl ossd
运行backend目录下的wsgi.py即可运行项目
python wsgi.py
项目的运行端口和域名可以在wsgi.py中进行配置
yarn install
yarn dev
yarn build
我们目前已完成了如下任务:
数据爬取,通过npm官方提供的接口爬取所有包的相关数据用于进一步分析。
数据清洗,在爬取的数据中有部分不符合我们的需求或者无法用于分析,这部分数据需要剔除。
数据存储。实际操作中发现由于npm管理着百万级的第三方包,每次爬取都需要花费相当多的时间,因此我们将数据以一定组织形式存储起来。
JavaScript
80.0%
Python
10.2%
Vue
9.6%
npm是JavaScript的包管理工具,现代js开发中大部分第三方库的下载都是通过npm进行的,开源开发者们也乐意将自己得库上传到npm上。近些年许多攻击者针对流行的软件包管理器以及他们的用户进行供应链攻击,npm就包括在其中。在2021年,通过利用开源软件的供应链,安全攻击的数量同比增长了650%。
论文What are Weak Links in the npm Supply Chain?中对npm供应链的安全风险做了比较详细的分析,但是其中仍然有些不足,比如作者分析的后三种风险并没有得到从业者的认可,而作者通过调研得到的从业者的观点却没有得到深入分析,另外论文所使用的数据也有些过时了。因此本项目希望在此篇论文的基础上,结合自己的调研和讨论,从六个方面分析npm供应链的安全风险。
git clone git@github.com:Re-Li-fe/OSS-Security-Risk-Analysis.git
在Linux环境下创建配置并且激活虚拟环境
conda create -n ossd python=3.10
conda activate ossd
在根目录下运行
scrapy crawl ossd
运行backend目录下的wsgi.py即可运行项目
python wsgi.py
项目的运行端口和域名可以在wsgi.py中进行配置
yarn install
yarn dev
yarn build
我们目前已完成了如下任务:
数据爬取,通过npm官方提供的接口爬取所有包的相关数据用于进一步分析。
数据清洗,在爬取的数据中有部分不符合我们的需求或者无法用于分析,这部分数据需要剔除。
数据存储。实际操作中发现由于npm管理着百万级的第三方包,每次爬取都需要花费相当多的时间,因此我们将数据以一定组织形式存储起来。
JavaScript
80.0%
Python
10.2%
Vue
9.6%