Skip to content

yusufarbc/npm-supply-chain-network-analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

182 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NPM Supply Chain Network Analysis

Complex network analysis of the NPM ecosystem: from course project to master's thesis

This repository contains two phases of research on NPM dependency networks:

  1. Pre-Thesis (Course Project): Initial exploration with ~2,000 packages and Behavioral Risk Score (BRS) model
  2. Thesis (Master's Research): Full-scale analysis of the entire NPM registry using complex network theory

📂 Repository Structure

pre_thesis/ — Course Project (Completed)

Small-scale study (~2K packages) introducing the Behavioral Risk Score model and initial topological analysis.

Key Contributions:

  • Scale-free topology identification
  • Bridge nodes and betweenness centrality analysis
  • Behavioral Risk Score (BRS) formulation
  • Robustness simulation

➡️ View course project details

thesis/ — Master's Thesis (In Progress)

Full-scale complex network analysis of the entire NPM ecosystem.

Research Goals:

  • Complete NPM registry coverage (millions of packages)
  • Comprehensive complex network metrics
  • Scalable graph processing infrastructure
  • Advanced vulnerability propagation models

➡️ View thesis details


🔬 Evolution of Research

Aspect Pre-Thesis (Course) Thesis (Master's)
Scope ~2,000-20,000 packages Full NPM registry (millions)
Data Source Ecosyste.ms + BFS crawl NPM registry dump
Metrics Basic centrality (degree, betweenness) Full complex network suite
Infrastructure In-memory NetworkX Distributed/disk-based processing
Runtime Hours Days/weeks
Focus Risk score model (BRS) Complex network dynamics

🚀 Quick Start

For Pre-Thesis Work

cd pre_thesis/analysis
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
python -m notebook  # Open analysis.ipynb

For Thesis Work

cd thesis
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
# See thesis/README.md for pipeline details

📚 Documentation


📜 License

This project is licensed under the MIT License.