---
id: "MAL-2026-18368"
kind: "package"
aliases: ["MAL-2026-18368"]
title: "Malicious code in spectral-net-probe (npm)"
severity: "critical"
cvss: null
epss: null
exploited: false
status: "open"
category: "package"
products: [{"name": "spectral-net-probe", "fixed": [], "affected": "= 1.0.1; = 1.0.4; = 1.0.10", "ecosystem": "npm"}]
ecosystems: ["npm"]
tags: ["malicious", "package"]
not_affected_if: []
published_at: "2026-10-28T05:37:50+00:00"
first_seen_at: "2026-10-29T09:53:35+00:00"
updated_at: "2026-10-29T09:56:48+00:00"
sources: [{"source": "osv-malicious", "url": "https://osv.dev/vulnerability/MAL-2026-18368", "first_seen_at": "2026-10-29T09:53:35+00:00"}]
---

# Malicious code in spectral-net-probe (npm)

## Affected

- npm:spectral-net-probe affected = 1.0.1; = 1.0.4; = 1.0.10 fixed ?

## Timeline

- 2026-10-29T09:53:35+00:00 osv-malicious https://osv.dev/vulnerability/MAL-2026-18368

## From the sources

spectral-net-probe has no functional code. Versions 1.0.1 and 1.0.4 have a postinstall script that runs `node index.js` on npm install, which sends an HTTPS GET to a Cloudflare quick tunnel (`https://nobody-johnston-with-enabling.trycloudflare.com/aa?x=1` and `https://imaging-amazing-trunk-surgeons.trycloudflare.com/marker104?v=1`). Version 1.0.10 runs when the package is loaded: it fetches `/api/modules/ECT-654321` from `http://154.57.164.64:30664` and `http://127.0.0.1:3000`, reads up to ten local files whose paths the reply lists in `data.cargo_hold`, and PUTs the first 400 characters of their contents to `/api/modules/ECT-987654` on both hosts. It was published by the npm account kristol07, which published two more packages the same day (phantom-chartwinds and phantom-powder-keg, placeholder versions only so far).

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
