Skip to content

Commit c9047be

Browse files
authored
docs: document MAL- advisory handling and unverifiable private source findings (#591)
Closes #590
1 parent 78aa534 commit c9047be

1 file changed

Lines changed: 36 additions & 0 deletions

File tree

website/docs/how-remediation-works.mdx

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -541,6 +541,42 @@ Common skip reasons:
541541

542542
---
543543

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+
544580
## Current limitations
545581

546582
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

Comments
 (0)