You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: website/docs/how-remediation-works.mdx
+36Lines changed: 36 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -541,6 +541,42 @@ Common skip reasons:
541
541
542
542
---
543
543
544
+
## Malicious package advisories (MAL-)
545
+
546
+
OSV includes a separate class of advisory for packages that were intentionally published with malicious code. These carry a `MAL-` prefix in their advisory ID (for example, `MAL-2026-3744`).
547
+
548
+
CVE Lite CLI handles MAL- findings differently from CVE/GHSA findings because the nature of the risk is different:
549
+
550
+
-**CVE/GHSA:** The vulnerability is in the package's code logic. `lodash@4.17.20` has a prototype pollution bug whether it came from the public npm registry or your private Artifactory mirror. The version is what matters.
551
+
-**MAL-:** The maliciousness *is* the artifact. A specific package published to the public npm registry at a specific version contained injected malicious code. If your private registry has a package with the same name and version, it is a completely different artifact - the MAL- advisory may not apply.
552
+
553
+
### Unverifiable (private source)
554
+
555
+
When CVE Lite CLI detects that a package with a MAL- advisory resolved from a URL other than `https://registry.npmjs.org/`, it cannot confirm whether the advisory applies to your artifact. Instead of reporting a false-positive "Malicious" finding, it surfaces the finding as:
556
+
557
+
```
558
+
⚠ Unverifiable (private source) - MAL- advisory could not be confirmed for this artifact.
559
+
```
560
+
561
+
This means:
562
+
- A MAL- advisory exists for a package with this name and version on the public npm registry
563
+
- Your lockfile shows this package was installed from a different registry (private Artifactory, GitHub Packages, internal npm proxy, workspace link, etc.)
564
+
- CVE Lite CLI cannot verify whether your artifact matches the malicious one
565
+
566
+
**What to do:** Verify the artifact's integrity through your private registry's audit trail. If you are confident the package is trusted, the finding can be safely dismissed. If you are unsure, treat it as a risk until verified.
567
+
568
+
### Confirmed malicious
569
+
570
+
If the package resolved from `https://registry.npmjs.org/`, CVE Lite CLI treats the MAL- advisory as confirmed and displays:
571
+
572
+
```
573
+
⚠ Malicious - Remove this package from your dependencies immediately.
574
+
```
575
+
576
+
MAL- findings do not produce automated fix commands. The appropriate action is removal of the package or, for transitive findings, removal of the parent that pulls it in.
577
+
578
+
---
579
+
544
580
## Current limitations
545
581
546
582
CVE Lite CLI does not guarantee that a dependency upgrade is compatible with your application. It checks vulnerability and package metadata, not runtime behaviour.
0 commit comments