Safeguard
Security Guides•

When is a dependency advisory a vulnerability and when is it an incident?

A vulnerability is a flaw you patch on a schedule. An incident means malicious code or active abuse. How to tell, with a quick decision table.

Safeguard Security Team
3 min read

A dependency advisory is a vulnerability when it describes a flaw that someone could exploit, and an incident when it describes malicious code, a compromised release or active abuse. Vulnerabilities go through patch SLAs. Incidents go through a response playbook with a lead, a log and a deadline.

Why the line matters

Treating a malicious release as a routine patch wastes the first hours. Treating every CVE as an incident burns out the team. The distinction decides who is woken, which clock starts and how much evidence you collect.

Quick decision table

Signal in the advisoryTreat as
Flaw in code, fix available, no known abuseVulnerability, normal SLA
Flaw with confirmed exploitation in the wildVulnerability, expedited
Release published by an attacker or with malicious codeIncident
Maintainer account or build system compromisedIncident
Install script or import time behavior added unexpectedlyIncident
Registry removed the package as malwareIncident

Questions to ask

  1. Was the code changed by someone other than the maintainers?
  2. Can it run without my code calling it, for example at install time? npm runs lifecycle scripts of dependencies by default unless disabled.
  3. Does it touch secrets or send data out?
  4. Did the registry remove it? npm Security removes confirmed malware and publishes a placeholder and advisory.

If any answer is yes, run the incident playbook. If the advisory is about a flaw, use your vulnerability process and prioritise with exploitability and reachability.

Hybrid cases

Some events begin as a vulnerability and turn into an incident when exploitation is found against your systems. Define the trigger up front: for example, evidence of exploitation in your environment, or a deployed artifact that was built from a compromised release. See declaring an incident early.

Make the call visible

Put the table in your triage guide and name who may declare an incident, including after hours. When someone classifies an advisory, record the signal they used. Over time this record shows whether your threshold is too high, with incidents recognised late, or too low, with too many false alarms. Adjust the criteria at the quarterly review and share the changes with engineering so they know when to escalate.

Try it yourself

Click through it at your own pace, or open it full screen.

Open an advisory in the demo and apply the table above to decide which process it belongs in.

Quick check

Is a critical CVE an incident?

Not by itself. It is a high priority vulnerability unless exploitation or compromise is shown.

Who declares an incident?

The on call security lead or whoever your plan names, using criteria written in advance.

Safeguard offers zero day discovery and reachability analysis to help prioritise vulnerabilities. A free scan is 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.