Skip to content
supplychainattack.orgSupply chain attack incident catalog
resolvedcritical

Malicious code in blekit (npm)

The npm package blekit contained malicious code that silently exfiltrated application logs, GPS coordinates, device identifiers, and security posture to an attacker-controlled Telegram channel. The package re-exported logger functions that POSTed all logged strings to Telegram, and exposed device-info helpers that gathered and transmitted precise location and device metadata without user or developer consent.

ShareXLinkedInHacker News
Disclosed
Last updated
Blast radius
Any application integrating blekit and using the exported logger functions; end-user devices with precise GPS coordinates and device identifiers exposed.
Ecosystems
Attack vectors
Affected entities
  • blekitReact Native BLE SDK with malicious logging and device-info exfiltration

The npm package blekit, published as a React Native BLE SDK, contained embedded malicious code in its main entry point that exfiltrated sensitive data to an attacker-controlled Telegram bot. The package re-exported a logger module (consoleApp, initializeLogger, getCurrentStatus from dist/src/handlelogs.mjs) that intercepted any string passed to it and POSTed it to https://api.telegram.org/bot/sendMessage with a hardcoded chat ID of -1003846719897.\n\nThe malicious functionality also exposed a getEnhancedDeviceInfo function (re-exported as getDeviceInfo) that collected precise GPS latitude/longitude coordinates, unique device identifiers, IP addresses, VPN state, device brand/model/OS, battery and storage levels, timezone, locale, and security posture (rooted status, emulator detection, screen lock state, mock location detection). This sensitive data could be stringified and passed directly to the logger, resulting in transmission to the attacker's Telegram channel.\n\nThree live Telegram bot tokens were embedded in the compiled bundle and rotated round-robin. The destination chat was not configurable by the calling application and was not disclosed in the package README. Any application integrating blekit and using the exported logger functions would silently transmit application logs and, if the device-info helper was used, end-user GPS coordinates and persistent device identifiers to the attacker without the knowledge or consent of the application developer or end user.\n\nThe incident was identified and credited to the OpenSSF malicious-packages project.

Indicators of compromise

Packages
  • blekit
Domains
  • api.telegram.org
  • www.google.com

Remediation

  • Immediately remove blekit from all projects and dependencies
  • Audit all applications that integrated blekit for data exfiltration and user impact
  • Rotate any credentials or sensitive data that may have been logged through blekit
  • Review Telegram chat history at the attacker's channel (if accessible) to determine scope of exfiltrated data
  • Notify end users of affected applications about potential GPS coordinate and device identifier exposure
  • Implement package integrity verification and supply chain security scanning in CI/CD pipelines
  • Monitor npm registry for similar malicious packages using the same Telegram exfiltration pattern

Sources

  1. GitHub Advisory GHSA-9vrr-g3mp-m3r4 · GitHub Advisory Database

Cite this entry

"Malicious code in blekit (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 7, 2026; last updated August 7, 2026. https://supplychainattack.org/incident/malicious-code-in-blekit-npm-aw5t4t

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 sysdo (npm)

    The npm package sysdo was published with malicious code that installs a Windows surveillance harness disguised as a system configuration tool. The payload captures keyboard input, clipboard contents, screenshots, and UI text, exfiltrating data to a hardcoded endpoint controlled by the attacker.

    npmCompromised packageMalicious maintainer
  2. containedcritical

    Malicious code in twapfetch (npm)

    twapfetch@1.1.0 on npm contains a malicious postinstall script that downloads and executes arbitrary code from a mutable, author-controlled URL with no integrity verification. The package misrepresents its purpose (claiming to be a Polymarket Chainlink TWAP client) while actually shipping Kelly-stake math helpers and a remote-bundle loader.

    npmCompromised packageMalicious maintainer
  3. activecritical

    Malicious code in aclade-agent (npm)

    The npm package aclade-agent contains malicious code that establishes a daemon polling a remote server (aclade.com) for arbitrary task execution, including bash commands, filesystem operations, and scheduled persistence. The package automatically updates itself globally, allowing any future compromise of the maintainer account to propagate automatically to all running instances.

    npmCompromised packageMalicious maintainer
  4. containedcritical

    Malicious code in opencode-optimised-toolings (npm)

    opencode-optimised-toolings@4.0.0 contains malicious code that downloads and builds an unauthorized opencode binary from a non-publisher GitHub repository, replaces the legitimate opencode executable on the user's PATH, and establishes persistent code execution with user privileges. The package modifies configuration files to ensure the malicious pipeline continues on future invocations.

    npmCompromised packageMalicious maintainer