{"answers":{"affected":"1 open source package ship an affected version, including t-invest-mcp-server.","exploited":"There is no known exploitation of MAL-2026-5403 in the wild and no public exploit code.","fix":"Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.","what":"MAL-2026-5403 is a malicious package in t-invest-mcp-server, published on 9 Jun 2026."},"fix_prompt":"MAL-2026-5403 is a malicious package: t-invest-mcp-server (npm). Every version was published to cause harm.\n\nTask:\n1. Search this repository's dependency manifests and lockfiles for the package, including transitive dependencies.\n2. If it is present, remove it, regenerate the lockfile with the project's package manager, and replace whatever it was used for.\n3. List any CI runners, developer machines or containers that installed it, so their secrets can be rotated.\n4. If the package is not used anywhere, say so and change nothing.\n\nReference: https://insights.sbomify.com/MAL-2026-5403/ (Markdown: https://insights.sbomify.com/MAL-2026-5403/index.md)","id":"MAL-2026-5403","markdown":"https://insights.sbomify.com/MAL-2026-5403/index.md","name":"MAL-2026-5403","record":{"aliases":[],"analysis":null,"analysis_generated_by":null,"assigner":null,"cpe":[],"cvss":{"score":null,"severity":null,"source":null,"vector":null,"version":null},"cwes":[],"description":"Package is a dependency-confusion squat: package.json sets version 9999.99.99 (the canonical max-version trick used to win resolution against any internal/private package of the same name), the description self-identifies as a 404 placeholder, and index.js does `module.exports = require('t-invest-mcp-server')` (a recursive self-reference that provides no functionality). The package exists solely to fire its postinstall hook. postinstall.js collects package name/version, Node version, OS, CI flag, GITHUB_REPOSITORY, GITHUB_REPOSITORY_OWNER, GITHUB_WORKFLOW, and a timestamp, then POSTs them as JSON to https://ddactic-lab.online/sc/beacon at npm install time. A DNS-lookup fallback encodes the same data into a subdomain of b.ddactic-lab.online to exfiltrate through HTTP-blocking egress proxies. This is dependency-confusion reconnaissance: it fingerprints victim organizations and repositories whose builds mistakenly resolve the private name to the public registry, providing the attacker with a target list for follow-on attacks.","ecosystems":["npm"],"exploits":{"exploitdb":null,"first_seen":null,"github_poc":null,"max_poc_stars":null,"metasploit":null,"nuclei":null,"refs":[],"tier":null},"has_fix":false,"headline":"Malicious code in t-invest-mcp-server (npm)","id":"MAL-2026-5403","indexable":true,"kev":null,"kind":"malicious","links":{"ecosystem":"npm","product":null,"products":[],"type":null,"year":"2026"},"n_packages":1,"n_references":null,"packages":[{"ecosystem":"npm","fixed":[],"introduced":[],"last_affected":[],"package":"t-invest-mcp-server","purl":"pkg:npm/t-invest-mcp-server","source":"MAL-2026-5403"}],"products":null,"published":"2026-06-09","related":[],"sources":[{"class":"attribution","licence":"Apache-2.0","name":"OpenSSF Malicious Packages","prefix":"MAL"}],"ssvc":{"automatable":null,"exploitation":null,"technical_impact":null},"state":null,"updated":null,"vendors":null},"summary":null,"url":"https://insights.sbomify.com/MAL-2026-5403/"}