npm Supply Chain Risk Explorer

Every dependency in your tree is a link in your supply chain that can be compromised. Adjust the sliders to see how dependency count, breach probability, and time horizon affect your cumulative risk.

Breach probability
34.48%
over 12.0 months
Expected time to breach
2.4 years
with 820 total packages
Hidden transitive risk
33.45%
risk from 800 transitive deps

Look up a real package

Pull the actual dependency count for an npm package and load it into the model below.

Parameters

20
1200
800
05000
12.0mo
1d3.0yr
1.41e-6
1e-8 (~0.00037%/yr)1e-3 (~30.6%/yr)

About the default

The default ~1.4e-6/day corresponds to roughly 0.05% annual probability per package — a conservative estimate based on published supply-chain incident rates across npm.

Cumulative breach probability over time

0%25%50%75%100%0d73d146d219d292d365dDaysBreach Probability
All 820 deps
Direct only (20)
Half transitive (420)

Risk by dependency count (comparison)

0%25%50%75%100%0d73d146d219d292d365dDaysBreach Probability
50 deps
200 deps
500 deps
1000 deps
2000 deps

How the math works

Each package has a small daily probability p of being breached. With n total packages in your dependency tree, the probability that none are breached on a given day is (1 − p)^n.

Over d days, the probability of remaining breach-free is (1 − p)^(n × d). The cumulative breach probability is therefore:

P(breach) = 1 − (1 − p)n × d

This model treats each package-day as an independent Bernoulli trial. In reality, breaches are correlated (e.g., a single maintainer compromise can affect many packages), so this model is a lower bound on actual risk.