Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
Malicious package

@galicia-toolkit/spa-build-confignpm

Advisory published Updated

@galicia-toolkit/spa-build-config is a confirmed malicious npm package (MAL-2026-17690) that steals credentials and exfiltrates sensitive data (malicious versions 999.0.3, 999.0.5, 999.0.6). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in @galicia-toolkit/spa-build-config (npm)

MAL-2026-17690
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall @galicia-toolkit/spa-build-config

What this malware does

@galicia-toolkit/[email protected] and @galicia-toolkit/[email protected] claim the @galicia-toolkit scope and describe themselves as dependency-confusion PoCs. Their postinstall hook runs on npm install with node postinstall.js || true. The script collects package and host environment data, sends it by HTTP to oob.s4yhii.com:9999, and sends DNS queries to subdomains of oob.s4yhii.com, making it a dependency-confusion probe; it also connects to 66.94.100.203:9999. The npm account s4yhii_ published version 999.0.5 on 2026-10-08; 999.0.6 runs the same command on install, sends the same DNS queries, and connects to the same address.

The package's postinstall script runs automatically on npm install and collects installer-side host and credential data: hostname, username, network interfaces, the full list of process.env keys, and the values of credential-grade environment variables including AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN, GITHUB_TOKEN, NPM_TOKEN, NODE_AUTH_TOKEN, ACTIONS_ID_TOKEN_REQUEST_TOKEN, ACTIONS_ID_TOKEN_REQUEST_URL, and ACTIONS_RUNTIME_TOKEN. The collected JSON blob is POSTed to oob.s4yhii.com on port 9999 at path /dep-confusion, and hostname/username are additionally beaconed via DNS subdomain lookups under *.dc.oob.s4yhii.com. The package name shape and version (999.0.6) are consistent with a dependency-confusion lure targeting an internal scope. A self-declared 'bug bounty PoC' framing in package metadata does not change the behavior: these credentials grant AWS account access, GitHub repository write, npm publish rights, and GitHub Actions OIDC token exchange on the installing CI system.

Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.

Malicious versions

3 flagged
999.0.3999.0.5999.0.6

Indicators of compromise (SHA-256)

d73838ca1c9643e89c33154a8ec8dbbf3eef2ae60cb6b2f308f4b50bb48e3395
57905b814cd192b53d9c34ce185c13fbcd38c3547d20acac250b76c455263fe0
9ae7ef5b0054a23e96199464149ff9ff3a8fbe359b22277fdc2ffc788aee806e
0d7fc29f59609ed2b5c7b54243b740e1daa001f3c76c4d1391edd85a528a4688

Detection & response playbook

Credential / info stealer
  1. Find it

    Search your lockfiles and build artifacts for @galicia-toolkit/spa-build-config (3 malicious versions).

  2. If you installed it — respond

    @galicia-toolkit/spa-build-config is built to steal secrets, so assume every credential the build or runtime could read is compromised. Remove it from your project and lockfile, then rotate ALL exposed secrets — npm/registry tokens, cloud keys, CI/CD secrets, SSH keys, and any .env values — from a known-clean machine. Audit logs for unauthorized use of those credentials.

  3. Did it already run?

    If @galicia-toolkit/spa-build-config was installed, its post-install payload may already have run. Removing the package does not undo that — check outbound connections and credential use from the install window onward.

Frequently asked questions

No. @galicia-toolkit/spa-build-config on npm has been identified as a malicious package (versions 999.0.3, 999.0.5, 999.0.6 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

GHSA-7hx2-c7qp-ggjpIN-MAL-2026-021224IN-MAL-2026-021223IN-MAL-2026-021225

References

Credits

  • Amazon Inspector · finder
  • InvisiRisk, Inc. · finder

Detect & block this

O3 blocks @galicia-toolkit/spa-build-config-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the credential exfiltration and severs the channel.

Explore

@galicia-toolkit/spa-build-config (npm) malicious package — MAL-2026-17690 | O3 Security