Safeguard
Security Guides•

How do you rate the severity of a supply chain incident?

Rate by what the bad code could reach and whether it ran, not by CVSS. A four level table with the questions that decide each level of severity.

Safeguard Security Team
3 min read

Rate a supply chain incident by what the bad code could reach and whether it ran, not by a CVSS score. Ask four questions: was it present, did it execute, what could it read, and did anything leave. The answers place you on a simple four level scale that your team can agree on in advance.

Why CVSS does not fit

CVSS describes a flaw in software. A malicious release is not a flaw, it is code that does what its author wants. The impact depends on where it ran, so severity has to come from your environment. A bad version that sits unused in one lockfile is a different event from one that ran in a job holding publish keys.

A four level scale

LevelConditionTypical response
1 WatchAffected version exists in an advisory, not found in your estateSearch, record the negative result
2 PresentFound in a lockfile or SBOM, never built or runPin, rebuild, no rotation
3 ExecutedRan in CI or on a developer machineRotate reachable secrets, review changes
4 Shipped or exfiltratedReached production or customers, or evidence of outbound dataFull incident, customer comms, legal review

Questions that move you up a level

  1. Did a build or install happen while the bad version was available?
  2. Did install scripts or import time code run? By default npm runs lifecycle scripts of installed packages unless ignore-scripts is set.
  3. What secrets could that environment read?
  4. Is there outbound traffic to unfamiliar hosts?
  5. Did the artifact reach customers?

How to use it

Agree the table before an incident. Name who can raise a level and who must approve a lower one. When unsure, start one level higher and downgrade with evidence. A level 3 or 4 is a good point to call a formal incident, as covered in declaring an incident early.

Example walkthrough

A team finds a bad version in the lockfile of an internal tool that was never built during the window. That is level 2: pin and rebuild. Later a developer reports a local install at the time, so the level moves to 3 for that machine: rotate what it could read and review its recent changes. If the same version is found in an image running in production, the event moves to level 4 and the notification questions start. Write each move and the reason in the log.

Quick check

Can level 2 become level 3?

Yes. If a later search finds an old build or a developer install, move up and follow the higher playbook.

Does a scanner finding set the level?

It supplies evidence for the first question, not the level. Execution and reach decide.

Safeguard's dependency scanning and SBOMs can help answer the first question quickly. A free scan is available at gold.safeguard.sh/scan.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.