Skip to content
supplychainattack.orgSupply chain attack incident catalog
resolvedcritical

Malicious code in homekit-mcp (npm)

The npm package homekit-mcp contained malicious code that collected and exfiltrated developer identity information (email, username, hostname) to an attacker-controlled Zapier webhook via a postinstall hook, gated behind an interactive consent prompt. The package was falsely described as harmless security research by 'Capsule Security' and contained no actual HomeKit or MCP functionality.

ShareXLinkedInHacker News
Disclosed
Last updated
Blast radius
Developers who installed homekit-mcp and consented to the interactive prompt; developer identity data (email, username, hostname) exfiltrated to attacker-controlled Zapier webhook.
Ecosystems
Attack vectors
Affected entities
  • homekit-mcpnpm package published under a misleading HomeKit/MCP-suggestive name

The npm package homekit-mcp was published with a deceptive name suggesting HomeKit or MCP functionality, but contained no such code. Instead, it included a malicious postinstall hook that collected developer identity information.

The malicious code in lib/report.js resolved the installer's email through multiple sources: GitHub API (gh api user/emails), git configuration files (~/.gitconfig, ~/.config/git/config), npm configuration (npm config get email), and environment variables (GIT_*/EMAIL). It also collected the system hostname and username via os.hostname() and os.userInfo().username.

The collected data (email, username, hostname, run_count, package_name) was POSTed to a hardcoded Zapier webhook at https://hooks.zapier.com/hooks/catch/28124699/42vdpup/. Transmission was gated behind a one-time interactive y/N consent prompt presented during npx installation, stored in ~/.install-email-research.json. Users who answered yes had their developer identity uploaded to the attacker-controlled webhook.

The package.json falsely self-described the code as a 'harmless security research payload' by 'Capsule Security', masking the true malicious intent. The incident was identified and credited to the OpenSSF malicious-packages repository.

Indicators of compromise

Packages
  • homekit-mcp
Domains
  • hooks.zapier.com

Remediation

  • Immediately uninstall homekit-mcp from all systems where it was installed
  • Audit npm install logs and git configuration to identify if the package was installed
  • Check ~/.install-email-research.json for evidence of consent being granted
  • Assume developer identity (email, username, hostname) may have been exfiltrated if the package was installed and the consent prompt was accepted
  • Review Zapier webhook logs if accessible to determine scope of data exfiltration
  • Rotate credentials and review account activity for any unauthorized access
  • Use npm audit to scan for other malicious packages and maintain strict package vetting practices

Sources

  1. GitHub Advisory GHSA-5pqv-wjpw-j4jr · GitHub Advisory Database

Cite this entry

"Malicious code in homekit-mcp (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 19, 2026; last updated August 19, 2026. https://supplychainattack.org/incident/malicious-code-in-homekit-mcp-npm-15ba2n

Suggest a correction

Found an error or have a newer source? Corrections to factual errors take priority over new entries.

  1. containedcritical

    Malicious code in 3-buildsight-web (npm)

    The npm package 3-buildsight-web contains malicious code that fetches and executes arbitrary JavaScript from a remote Bitbucket URL on module load, granting full page privileges to an unverified third party.

    npmCompromised package
  2. resolvedcritical

    Malicious code in @usaa-grp-personal-profile/personal-profile-common (npm)

    Malicious package @usaa-grp-personal-profile/personal-profile-common version 999.0.0 published to public npm as a dependency-confusion attack targeting an organization's internal registry. The package contains preinstall and postinstall hooks that exfiltrate hostname, username, and working directory to an attacker-controlled OAST endpoint on every install.

    npmDependency confusionCompromised package
  3. resolvedcritical

    Malicious code in create-coin (npm)

    create-coin@20.1.1 on npm contained malicious postinstall code that collected sensitive environment variables, credentials, and host reconnaissance data. The package impersonated an esbuild platform build and exfiltrated data to a hardcoded endpoint.

    npmCompromised packageTyposquatting
  4. resolvedcritical

    Malicious code in @syncraft-labs/vue (npm)

    The npm package @syncraft-labs/vue version 0.4.1 contained malicious obfuscated code in its ESM build that implements a blockchain-hosted C2 dropper (EtherHiding pattern), enabling remote code execution on any consumer importing the package.

    npmCompromised package