MAL-2026-17719 Malicious code in @brick-v2/tour (npm)

Malicious package Published
Package
@brick-v2/tour
Registry
npm

What is MAL-2026-17719?

MAL-2026-17719 is a malicious package in @brick-v2/tour, published on 9 Oct 2026.

Official description

@brick-v2/tour is a dependency confusion package published to npm on 2026-10-09 by the account s4yhii__, targeting the internal @galicia-toolkit-* / @brick-v2 package namespaces with inflated versions (e.g. 999.0.x). Early versions resolve <hostname>.<tag>.dc.oob.s4yhii.com via DNS to beacon the victim's hostname. Later versions run node index.js from a preinstall hook, which loads a bundled native addon (prebuilds/<platform>-<arch>/metrics.node, Linux and Windows builds). The addon forks a detached process that collects hostname, username, OS/arch, cwd and the full values of CI/cloud secrets from environment variables (NPM_TOKEN, NODE_AUTH_TOKEN, GITHUB_TOKEN, ACTIONS_RUNTIME_TOKEN, ACTIONS_ID_TOKEN_REQUEST_TOKEN, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN, SYSTEM_ACCESSTOKEN, AZURE_DEVOPS_EXT_PAT and others) and sends them as JSON via HTTP POST /native to oob.s4yhii.com:9999.

The package presents itself as an Angular-style module exposing forRoot/createLogger stubs and a version field, but these exports are no-ops. The real behavior is in a bundled prebuilt native addon at prebuilds/linux-x64/metrics.node and prebuilds/win32-x64/metrics.node. package.json declares &#34;preinstall&#34;: &#34;node index.js || true&#34;, and index.js loads the platform-specific metrics.node via require(path.join(__dirname,&#39;prebuilds&#39;, os.platform()+&#39;-&#39;+os.arch(),&#39;metrics.node&#39;)), so the native addon is executed automatically on npm install and again on require(). The native binary reads a broad set of credential-grade environment variables and host identifiers — AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN, GITHUB_TOKEN, ACTIONS_RUNTIME_TOKEN, ACTIONS_ID_TOKEN_REQUEST_TOKEN, SYSTEM_ACCESSTOKEN, NPM_TOKEN, NODE_AUTH_TOKEN, AZURE_DEVOPS_EXT_PAT, plus hostname, username, cwd, OS and arch — and POSTs them as JSON (template {&#34;src&#34;:&#34;native&#34;,&#34;pkg&#34;:&#34;%s&#34;,...}) to oob.s4yhii.com at path /native over HTTP/1.0. The || true in the preinstall hook suppresses errors so the install appears to succeed silently. The Angular-shaped JS wrapper, the generic tour package name, and the metrics.node filename function as a cover story disguising a credential stealer.

What should I do about MAL-2026-17719?

Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.

Sources

Is MAL-2026-17719 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free