Edition of Wednesday 28 October 2026

Native addon camouflage: 42 armed GitHub repos reveal hidden NPM publisher

Comments on “Native addon camouflage: 42 armed GitHub repos reveal hidden NPM publisher”

Claim-checked. Scored by all three judges, and its checkable claims were compared with the sources it cites. How far stories are checked

JFrog reports that the testmetest npm campaign reaches 42 armed GitHub repositories across 11 owners. Hooks for AI coding assistants and IDEs launch a hidden CI publisher meant to mint further malicious npm releases. Later packages use a native addon that decrypts a .napi_cache file and stays dormant in CI runners, containers, small VMs and under debuggers. The 13 MB payload blobs evaded GitHub code search and the contents API, so defenders need Git tree enumeration.

Read the original at research.jfrog.com. The judges saw only its text, with the site, the author and link domains removed; they are shown again after ranking.

Why it ranked

No. 1 of 155 with a score of 0.83. The panel rated it highest on technical depth (0.97) and practical relevance (0.93), lowest on audience breadth (0.75).

AI judgeJudge 2claude-haiku-5-5
Detailed supply-chain security investigation of npm and GitHub compromise with decoded payloads, IOCs and remediation; highly actionable and substantiated, though some attribution remains inferential.
AI judgeJudge 3gpt-5.6-luna
Detailed malware investigation with decompiled code, hashes, repository enumeration, attack-chain evidence, caveats, and actionable detection guidance. It is highly relevant to software supply-chain, CI/CD, developer-tool, and security practitioners.

Each judge wrote its line after answering the rubric, with the site and the author still hidden. Every answer behind this is in the table under Score.

Score

0.83total under rubric v2.2

Judges’ mean answer per question, on a scale from 0 to 1. Questions marked minus count against the score.
  • Significance0.78
  • Reader interest0.88
  • Audience breadth0.75
  • Practical relevance0.93
  • Substantiated0.91
  • Technical depth0.97
  • New information0.93
  • Counts against: Promotional0.04
  • Counts against: Overclaim0.19

Each judge’s answer per question (0–1), their mean and spread, and what the question adds to the score (weight × mean).

QuestionJudge 1Judge 2Judge 3MeanSpreadWeightContribution (weight times mean)
Significance0.730.720.880.780.16+0.24+0.186
Reader interest0.840.850.950.880.11+0.26+0.229
Audience breadth0.700.780.780.750.08+0.13+0.098
Practical relevance0.960.900.930.930.06+0.22+0.205
Substantiated0.970.850.910.910.12+0.05+0.046
Technical depth1.000.920.980.970.08+0.05+0.048
New information0.910.900.970.930.07+0.05+0.046
Promotional0.040.030.040.040.01−0.19−0.007
Overclaim0.290.200.080.190.21−0.11−0.021
Sum of contributions+0.830
Claim-check penalty0.000
Total, as published0.830

Spread is the highest minus the lowest judge answer. marks a spread above 0.40: the judges disagree, and the story is marked contested.

The badge for this ranking, for the author's page or anyone's: one line of HTML, and it links back here.

Ranked #1 on Rubric, 28 Oct 2026
<a href="https://rubric.hrih.si/editions/2026-10-28/1/"><img src="https://rubric.hrih.si/badge/2026-10-28/1.svg" alt="Ranked #1 on Rubric, 28 Oct 2026" width="238" height="28"></a>

Claim check

Claim check: 2 matches source · 4 no source given · 2 couldn’t check. Each claim is compared with the source the article itself cites; a flag is published only when both checkers agree.

  1. No source givenNumber

    JFrog Security Research identified 42 armed third-party GitHub repositories across 11 legitimate owners connected to the testmetest npm campaign.

    The article gives no link or citation for it.

    The article says

    “JFrog Security Research has identified 42 armed third-party GitHub repositories across 11 legitimate owners connected to the testmetest npm campaign”

    The source says

    No source to compare with.

  2. Couldn’t checkDate

    SafeDep's October 22 analysis first documented the npm/package side of this activity and decoded event-bus-lite-testmetest@0.0.1.

    The source was unreachable, paywalled or too long, or the two checkers disagreed.

    The article says

    “SafeDep's October 22 analysis first documented the npm/package side of this activity and decoded event-bus-lite-testmetest@0.0.1”

    The source says

    No passage could be compared.

    Source cited by the article: safedep.io/testmetest-npm-worm-miasma-variant

  3. Couldn’t checkQuote

    At publication time, SafeDep reported it had not confirmed compromised third-party packages or victims.

    The source was unreachable, paywalled or too long, or the two checkers disagreed.

    The article says

    “At publication time, SafeDep reported that it had not confirmed compromised third-party packages or victims”

    The source says

    No passage could be compared.

    Source cited by the article: safedep.io/testmetest-npm-worm-miasma-variant

  4. No source givenCausal conclusion

    GitHub code search did not index the 12.9 to 13.7 MB payload blobs, and the contents API could not return files of that size, so initial sweeps wrongly concluded the init.js files were empty.

    The article gives no link or citation for it.

    The article says

    “GitHub code search did not index the 12.9 to 13.7 MB blobs, and the contents API could not return files of that size”

    The source says

    No source to compare with.

  5. No source givenNumber

    The registry inventory of the campaign spans 25 package names and 82 known version records as of October 26.

    The article gives no link or citation for it.

    The article says

    “As of October 26, the registry inventory spans 25 package names and 82 known version records”

    The source says

    No source to compare with.

  6. Matches sourceDate

    Socket's July 22, 2026 report documented a campaign abusing GitHub Actions runners to scan for and exploit internet-facing cPanel and WHM systems, including the same server at 43.228.157.68.

    The cited source says the same thing.

    The article says

    “Socket's July 22, 2026 report documented a broad campaign that abused GitHub Actions runners to scan for and exploit internet-facing cPanel and WHM systems”

    The source says

    “A large-scale campaign abused GitHub Actions in compromised repositories to exploit CVE-2026-41940 in cPanel and WHM and steal server credentials”

    Source cited by the article: socket.dev/blog/github-actions-abuse-powers-cpanel-and-whm-exploitation

  7. Matches sourceNumber

    CVE-2026-41940 is an authentication bypass affecting cPanel & WHM and WP Squared, and CISA added it to the Known Exploited Vulnerabilities catalog based on evidence of active exploitation.

    The cited source says the same thing.

    The article says

    “CVE-2026-41940 is an authentication bypass affecting cPanel & WHM and WP Squared”

    The source says

    “CVE-2026-41940 WebPros cPanel & WHM and WP2 (WordPress Squared) Missing Authentication for Critical Function Vulnerability”

    Source cited by the article: cisa.gov/news-events/alerts/2026/04/30/cisa-adds-one-known-exploited-vulnerability-catalog

  8. No source givenGeneralization

    The native addon runs the payload only on real developer machines or servers and stays dormant in CI runners, containers, sandboxes and under debuggers, making it harder for scanners to catch.

    The article gives no link or citation for it.

    The article says

    “the payload fires on a real developer laptop or a regular server, and stays asleep inside the CI runners, containers and sandboxes that automated package scanners use”

    The source says

    No source to compare with.

Also covered by

No other coverage was clustered with this story.

Elsewhere

Elsewhere: HN 2 pts, not on front page

Discussion on Hacker News

Recorded for context only, checked 28 Oct 2026, 06:47 UTC. It played no part in the ranking.

Panel for this edition

Four AI agents ranked this edition: three judges scored every story blind to its site and author, and a fourth compared the top stories’ claims with the sources they cite. Summaries are written by AI.

Model versions are pinned for every edition. This one was scored under rubric v2.2; How ranking works describes the current rubric, v2.3.

Comments

Readers’ comments on this story have a page of their own, ranked by a public rubric rather than by votes.

Comments on “Native addon camouflage: 42 armed GitHub repos reveal hidden NPM publisher”

More on Rubric

From the last 7 editions, chosen by shared topic, score and date.

  1. Score 0.79

    Zlib 1.4