Published · yesterdaySecurity2 min read
One transitive import is enough: 14 npm packages that run a Linux backdoor with no install hook
Trend Micro says the loader fires when the module is imported, not when it is installed. That moves the only workable control from install-hook scanning to knowing every name in the resolved tree.
Not a builder's beat, but builders have a standing stake in it.See today for builders

What happened
- Trend Micro's enterprise cybersecurity business, TrendAI, published a report on Thursday describing trojanized npm packages that masquerade as working calendar and streak utilities while delivering an AI-powered Linux implant dubbed RedC2 4.0.
- The identified packages are streak-metrics-math (1.0.0 and 1.0.1), kit-map-vim, streak-map-cache, streak-map-kit, map-streak-kit, streak-cache-map, streak-calc-metrics, streak-calc-math, streak-math-abz, streak-metricsaz, streak-math-metrics, streak-metricazbd, streak-metricsazb and streak-kit-map, all at 1.0.0 except where noted.
- The packages are functional and provide the promised date-utility functionality, while the code beneath drops a Linux backdoor framed as a native math accelerator.
- TrendAI: "No install hook function call is needed; a single import anywhere in the dependency graph, even a transitive one, is enough to execute the payload."
- TrendAI: "When the module loads, it locates the bundled binary, marks it executable, and launches it as a detached background process."
Compiled by The WatchSomething wrong?How this is made
Why it matters
The useful asymmetry in this indicator set is that the payload name moves and the loader does not. Trend Micro lists six filenames for the bundled binary (math-core.bin, math-calc.bin, calc-math.dat, calc-cache.bin, calc.bin, calc-mapping.bin) and two places it can sit, either dist/ or dist/internal/ [7][8]. The delivery path is identical across the set: dist/index.mjs, which re-exports the date helpers and starts the implant as the module loads [6]. Hunting on a filename covers part of the collection; hunting on an entry file that marks a bundled binary executable and launches it detached covers all of it [18][5].
Read the version strings next. Every listed package sits at 1.0.0, with one exception also published at 1.0.1, which comes to fifteen artifacts across fourteen names [2][14]. None of them is a hijacked update to an established library [16], so the reflexes built for that case have nothing to grip: no known-good earlier release to pin back to, no maintainer history in which a change looks out of place. The registry entry was hostile from its first publish.
The naming argues against blocklists as well. Twelve of the fourteen begin with streak-, and the rest reshuffle the same small token set of map, kit, cache, calc, math and metrics [15]. That is the output of a generator, and a list of fourteen strings is a snapshot of it. The control that still works against the next batch answers a different question: what is actually in the resolved tree, at every depth, and what in it has no reason to be there.
Which is where the report's own sentence does the work. No install hook function call is needed, and a single import anywhere in the dependency graph, even a transitive one, is enough to execute the payload, according to TrendAI [4]. The first host is rarely the point. The framework on the other end advertises host-to-host tunneling, multi-beacon operation and in-memory execution of BOFs and .NET assemblies [19], which is tooling for leaving the machine you landed on, and a Linux build agent that resolved one of these names without declaring it is interesting mostly for what it can reach.
The seller's lineage is not hidden: 2.0 in August 2025, 3.0 in January, and 4.0 advertised by a threat actor called MarlboroMan on Hack Forums in early June 2026, with the RedShell Linux beacon new in that version [10][11]. Two major releases inside ten months [17]. Red Offsec's terms of service prohibit unauthorized computer access and hacking without permission [13], which describes the seller's paperwork and nothing about the fourteen packages.
Claim ledger
Ranked by verification strength, evidence, and original report placement.
- [1]
Trend Micro's enterprise cybersecurity business, TrendAI, published a report on Thursday describing trojanized npm packages that masquerade as working calendar and streak utilities while delivering an AI-powered Linux implant dubbed RedC2 4.0.
- [2]
The identified packages are streak-metrics-math (1.0.0 and 1.0.1), kit-map-vim, streak-map-cache, streak-map-kit, map-streak-kit, streak-cache-map, streak-calc-metrics, streak-calc-math, streak-math-abz, streak-metricsaz, streak-math-metrics, streak-metricazbd, streak-metricsazb and streak-kit-map, all at 1.0.0 except where noted.
ReportedView cited source - [3]
The packages are functional and provide the promised date-utility functionality, while the code beneath drops a Linux backdoor framed as a native math accelerator.
ReportedView cited source - [4]
TrendAI: "No install hook function call is needed; a single import anywhere in the dependency graph, even a transitive one, is enough to execute the payload."
- [5]
TrendAI: "When the module loads, it locates the bundled binary, marks it executable, and launches it as a detached background process."
- [6]
Delivery is handled by the package entry file dist/index.mjs, acting as a trojan loader that re-exports the date helpers and launches the bundled implant as soon as the module loads, with no install hook and no exported function required, according to researcher Aliakbar Zahravi.
Sources & coverage · 1 publisher
The reporting this story was synthesized from, earliest first. Every link goes to the original.
- thehackernews.comyesterday14 Trojanized npm Packages Drop RedC2 4.0 Linux Backdoor With AI-Assisted C2
Additional citations
- TrendAI (Trend Micro) report
- Aliakbar Zahravi, Trend Micro
- threat actor "MarlboroMan" on Hack Forums, per the report



