Free npm malware detectors on DataDog's dataset: 6 tools ranked

On a sealed half of DataDog's malicious npm packages (112 with a payload) and 150 popular benign packages, Penthera 2.0.0 ranked 1st of 6 free tools, with caught minus false alarms 0.71. Next was malcontent with 0.63. Measured on 25 October 2026.

Which free tool catches the most malicious npm packages, with the fewest false alarms?

Penthera 2.0.0 ranked 1st of 6 free tools by caught minus false alarms (0.71); next, malcontent (0.63). Scored by caught (packages with a payload) minus false alarms (benign packages): Youden's J.

  1. Penthera0.71
  2. malcontent0.63
  3. GuardDog0.59
  4. ossgadget0.05
  5. clamav0.01
  6. yara0.00
Score: caught minus false alarms, relative to the top score. Ranked tools only.

Every tool, with 95% intervals

Counts are found over total. Intervals are 95% Wilson intervals. Penthera's row is bold.

RankToolCaughtFalse alarmsScore: caught minus false alarms
1Penthera 2.0.00.71 [0.62, 0.78] 79/1120.00 [0.00, 0.02] 0/1500.71
2malcontent 1.27.1 (bf280ad6), yara-x 1.21.00.68 [0.59, 0.76] 76/1120.05 [0.03, 0.10] 8/1500.63
3GuardDog 3.2.00.62 [0.52, 0.70] 69/1120.03 [0.01, 0.07] 4/1500.59
4ossgadget 0.2.20 (414b6a59)0.94 [0.88, 0.97] 105/1120.89 [0.83, 0.93] 133/1500.05
5clamav 1.5.40.01 [0.00, 0.05] 1/1120.00 [0.00, 0.02] 0/1500.01
6yara yara-python 4.5.4 (YARA 4.5), YARA-Forge core 202610040.00 [0.00, 0.03] 0/1120.00 [0.00, 0.02] 0/1500.00
Not rankedPenthera 1.9.00.57 [0.48, 0.66] 64/1120.00 [0.00, 0.02] 0/1500.57
Not rankedosv-scanner 2.6.00.90 [0.83, 0.94] 101/1120.01 [0.00, 0.04] 1/1500.90

Not ranked, and why

Where another tool does better than Penthera

Tools that are not here

Paid tools (GitGuardian, Socket, Snyk, Phylum, Semgrep Pro) are not here. None publishes results on these benchmarks; we cannot measure them (cost and licence terms).

Published elsewhere, on other data

Not comparable with the numbers above: other datasets, other scoring.

Check it yourself

The dataset is DataDog malicious software packages dataset. The ranking rules were written down before the run: the protocol. Every number on this page is read from published.json when the site is built; the results file has the method and per-family detail, and the runner's README says how to reproduce it.

Measured on . Sealed test half, scored once (E11b § 10). All four benchmarks.

penthera.org · Benchmarks · Blog · Live check · Terms · Trust · Source · MIT license