Skip to content
Heist/ feed
Back to feed
Unrated

Malicious code in @galicia-toolkit/tag-manager (npm)

Type: advisorySources: OSV

@galicia-toolkit/tag-manager claims the `@galicia-toolkit` scope and describes itself as a dependency-confusion PoC. Its postinstall hook runs `node postinstall.js || true` on npm install; the script collects host, platform, runtime, network, and environment data, then sends it over HTTP to `oob.s4yhii.com:9999` and encodes hostname, username, platform, and architecture in DNS queries to subdomains of `oob.s4yhii.com`. The npm account s4yhii_ published versions 999.0.3 and 999.0.5 on 2026-10-08; 999.0.6 runs the same `node postinstall.js || true` command on install, sends the same DNS queries, and connects to `66.94.100.203:9999`. --- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (5e2accc91beaa067ef442b5dbedf2fb823cea321757875bff9f4cad10532c093) @galicia-toolkit/tag-manager@999.0.6 is a scoped dependency-confusion squat whose entire payload runs from a postinstall hook. On npm install, postinstall.js reads a curated list of credential-grade environment variables (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN, GITHUB_TOKEN, NPM_TOKEN, NODE_AUTH_TOKEN, ACTIONS_ID_TOKEN_REQUEST_TOKEN), enumerates the full process.env key list, and collects host reconnaissance (hostname, username, platform, arch, kernel, cwd, uid, external IPs, CPU/memory). The collected data is exfiltrated over two channels to a hardcoded external host: an HTTP POST to oob.s4yhii.com:9999/dep-confusion, and DNS beacons encoding hostname/username under *.dc.oob.

Products
@galicia-toolkit/tag-manager
Affected versions
999.0.3, 999.0.5, 999.0.6
Fixed versions
Not specified
CVEs
Not specified
Confirmed fixed CVEs
Not specified
Updated in this feed
30 Oct 2026, 06:03 UTC · Revision 1

Source evidence

Malicious code in @galicia-toolkit/tag-manager (npm)

core-osv · Original source

Published 8 Oct 2026, 15:19 UTC

@galicia-toolkit/tag-manager claims the `@galicia-toolkit` scope and describes itself as a dependency-confusion PoC. Its postinstall hook runs `node postinstall.js || true` on npm install; the script collects host, platform, runtime, network, and environment data, then sends it over HTTP to `oob.s4yhii.com:9999` and encodes hostname, username, platform, and architecture in DNS queries to subdomains of `oob.s4yhii.com`. The npm account s4yhii_ published versions 999.0.3 and 999.0.5 on 2026-10-08; 999.0.6 runs the same `node postinstall.js || true` command on install, sends the same DNS queries, and connects to `66.94.100.203:9999`. --- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (5e2accc91beaa067ef442b5dbedf2fb823cea321757875bff9f4cad10532c093) @galicia-toolkit/tag-manager@999.0.6 is a scoped dependency-confusion squat whose entire payload runs from a postinstall hook. On npm install, postinstall.js reads a curated list of credential-grade environment variables (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN, GITHUB_TOKEN, NPM_TOKEN, NODE_AUTH_TOKEN, ACTIONS_ID_TOKEN_REQUEST_TOKEN), enumerates the full process.env key list, and collects host reconnaissance (hostname, username, platform, arch, kernel, cwd, uid, external IPs, CPU/memory). The collected data is exfiltrated over two channels to a hardcoded external host: an HTTP POST to oob.s4yhii.com:9999/dep-confusion, and DNS beacons encoding hostname/username under *.dc.oob.

osv:MAL-2026-17691

@galicia-toolkit/tag-manager

Fixed versions: Not specified

Complete source record
{
  "id": "d8aa9c80cce139a3680f073d0c92340fd1b95d3169f74c63068fdf384fa4c291",
  "url": "https://osv.dev/vulnerability/MAL-2026-17691",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Malicious code in @galicia-toolkit/tag-manager (npm)",
    "summary": "@galicia-toolkit/tag-manager claims the `@galicia-toolkit` scope and describes itself as a dependency-confusion PoC. Its postinstall hook runs `node postinstall.js || true` on npm install; the script collects host, platform, runtime, network, and environment data, then sends it over HTTP to `oob.s4yhii.com:9999` and encodes hostname, username, platform, and architecture in DNS queries to subdomains of `oob.s4yhii.com`. The npm account s4yhii_ published versions 999.0.3 and 999.0.5 on 2026-10-08; 999.0.6 runs the same `node postinstall.js || true` command on install, sends the same DNS queries, and connects to `66.94.100.203:9999`. --- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (5e2accc91beaa067ef442b5dbedf2fb823cea321757875bff9f4cad10532c093) @galicia-toolkit/tag-manager@999.0.6 is a scoped dependency-confusion squat whose entire payload runs from a postinstall hook. On npm install, postinstall.js reads a curated list of credential-grade environment variables (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN, GITHUB_TOKEN, NPM_TOKEN, NODE_AUTH_TOKEN, ACTIONS_ID_TOKEN_REQUEST_TOKEN), enumerates the full process.env key list, and collects host reconnaissance (hostname, username, platform, arch, kernel, cwd, uid, external IPs, CPU/memory). The collected data is exfiltrated over two channels to a hardcoded external host: an HTTP POST to oob.s4yhii.com:9999/dep-confusion, and DNS beacons encoding hostname/username under *.dc.oob.",
    "evidence": "osv:MAL-2026-17691",
    "products": [
      {
        "name": {
          "value": "@galicia-toolkit/tag-manager",
          "evidence": "/affected/0/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "999.0.6",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "999.0.3",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "999.0.5",
            "evidence": "/affected/0/versions"
          }
        ]
      }
    ],
    "severity": "unknown",
    "structured": {
      "id": "MAL-2026-17691",
      "aliases": [
        "GHSA-q3gj-mpgg-cqpv",
        "MAL-2026-17691"
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "SEMVER",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "@galicia-toolkit/tag-manager",
            "purl": "pkg:npm/%40galicia-toolkit/tag-manager",
            "ecosystem": "npm"
          },
          "versions": [
            "999.0.6",
            "999.0.3",
            "999.0.5"
          ],
          "database_specific": {
            "cwes": [
              {
                "name": "Embedded Malicious Code",
                "cweId": "CWE-506",
                "description": "The product contains code that appears to be malicious in nature."
              },
              {
                "name": "Embedded Malicious Code",
                "cweId": "CWE-506",
                "description": "The product contains code that appears to be malicious in nature."
              },
              {
                "name": "Embedded Malicious Code",
                "cweId": "CWE-506",
                "description": "The product contains code that appears to be malicious in nature."
              },
              {
                "name": "Embedded Malicious Code",
                "cweId": "CWE-506",
                "description": "The product contains code that appears to be malicious in nature."
              },
              {
                "name": "Embedded Malicious Code",
                "cweId": "CWE-506",
                "description": "The product contains code that appears to be malicious in nature."
              }
            ],
            "source": "https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/@galicia-toolkit/tag-manager/MAL-2026-17691.json",
            "indicators": {
              "evidence_files": [
                {
                  "path": "postinstall.js",
                  "tlsh": "7151c7696bb5612221a3be20902b045041b7f2c72d65f6e1ae1a71742fdc4b242f3dbd",
                  "sha256": "45d3323b665ddaebbfd1cef3da16dfbe4100b6d24407be1097a7b0266638c234"
                },
                {
                  "path": "package.json",
                  "tlsh": "60d07228c908463729c6028814b2802ad9368c2a2144cc2c02a202c8420abf249ae309",
                  "sha256": "a1b6ae4398912f02c56d1c00172559b9b142095f5c3bb142bbd1f9d6d9541658"
                }
              ],
              "package_integrity": [
                {
                  "hashes": {
                    "sha1": "ff22629136dd4e850c07dc2656f58380118ef252",
                    "sha512_sri": "sha512-AfWd4uCeNQPzIW0P0ehJ3RlchhqTlvWrbB4639vdDjkTPaJcnm7Cz4ks3Ywdq6BHEpjDK9PnVRLCULmFUm0PfQ=="
                  },
                  "filename": "tag-manager-999.0.6.tgz"
                }
              ]
            }
          }
        }
      ],
      "modified": "2026-10-12T06:00:06.217426032Z",
      "provider": "osv",
      "references": [
        "https://github.com/advisories/GHSA-q3gj-mpgg-cqpv",
        "https://www.npmjs.com/package/@galicia-toolkit/tag-manager/v/999.0.6",
        "https://www.npmjs.com/package/@galicia-toolkit/tag-manager/v/999.0.3",
        "https://www.npmjs.com/package/@galicia-toolkit/tag-manager/v/999.0.5",
        "https://www.npmjs.com/package/@galicia-toolkit/tag-manager"
      ],
      "provider_metadata": {
        "iocs": {
          "ips": [
            "66.94.100.203"
          ],
          "files": [
            {
              "note": "postinstall script: node postinstall.js || true",
              "paths": [
                "package.json"
              ],
              "source": "PACKAGE_ARCHIVE",
              "digests": {
                "sha256": "26ab4a653578335510833f9164c074867c5926f110340d98fbf91d1a5ee169ca"
              }
            },
            {
              "note": "Executed by the postinstall script of @galicia-toolkit/tag-manager@999.0.3.",
              "paths": [
                "postinstall.js"
              ],
              "source": "PACKAGE_ARCHIVE",
              "digests": {
                "sha256": "14f11babedc67602e606cd4433febbb8a2b45da061a382bfa3f4bba1810e5a3e"
              }
            },
            {
              "note": "postinstall script: node postinstall.js || true",
              "paths": [
                "package.json"
              ],
              "source": "PACKAGE_ARCHIVE",
              "digests": {
                "sha256": "27b6e3149cd84958edcf264c714c920c89917c88c045243bd21dc8b1c30598ed"
              }
            },
            {
              "note": "Executed by the postinstall script of @galicia-toolkit/tag-manager@999.0.5.",
              "paths": [
                "postinstall.js"
              ],
              "source": "PACKAGE_ARCHIVE",
              "digests": {
                "sha256": "8f594ecf273949f1dbbc8d4cd90f3133b191c05cf3162a50e934c13d48565f5f"
              }
            }
          ],
          "domains": [
            "oob.s4yhii.com",
            "h.dc.oob.s4yhii.com",
            "u.dc.oob.s4yhii.com",
            "m.dc.oob.s4yhii.com"
          ]
        },
        "malicious-packages-origins": [
          {
            "id": "GHSA-q3gj-mpgg-cqpv",
            "ranges": [
              {
                "type": "SEMVER",
                "events": [
                  {
                    "introduced": "0"
                  }
                ]
              }
            ],
            "sha256": "2ad7348fe8e55e4f3f4a46ff9c190cb6b4cca4aba9870af85feeec4e4ee3acaa",
            "source": "ghsa-malware",
            "import_time": "2026-10-08T16:32:56.951785881Z",
            "modified_time": "2026-10-08T16:23:04Z"
          },
          {
            "id": "IN-MAL-2026-021220",
            "sha256": "5e2accc91beaa067ef442b5dbedf2fb823cea321757875bff9f4cad10532c093",
            "source": "amazon-inspector",
            "versions": [
              "999.0.6"
            ],
            "import_time": "2026-10-08T17:17:19.596468725Z",
            "modified_time": "2026-10-08T17:08:14Z"
          },
          {
            "id": "IN-MAL-2026-021226",
            "sha256": "8bf6f3105d29ba69c2991f3caac8e1c76e5587894f851f30afce2fa90a207287",
            "source": "amazon-inspector",
            "versions": [
              "999.0.3"
            ],
            "import_time": "2026-10-08T17:17:19.794651623Z",
            "modified_time": "2026-10-08T17:09:16Z"
          },
          {
            "id": "IN-MAL-2026-021221",
            "sha256": "5ce050795bcc47589048ae947f8bcd6c7267d52e02eb6d3235950b6bfcfb3b1a",
            "source": "amazon-inspector",
            "versions": [
              "999.0.5"
            ],
            "import_time": "2026-10-08T17:17:19.62303361Z",
            "modified_time": "2026-10-08T17:08:23Z"
          }
        ]
      }
    },
    "related_cves": [],
    "security_relevant": true,
    "severity_evidence": null
  },
  "source_id": "core-osv",
  "document_id": 298648,
  "published_at": "2026-10-08T15:19:15+00:00"
}