Skip to content
supplychainattack.orgSupply chain attack incident catalog
resolvedhigh

Malicious code in cubesat-upstream-driver (PyPI)

Malicious code was published to PyPI in the cubesat-upstream-driver package, capable of collecting environment variables. The package was detected as part of a CTF-like exercise or pentest campaign and does not appear to exfiltrate data autonomously.

ShareXLinkedInHacker News
Disclosed
Last updated
Blast radius
Low to moderate; limited to users who installed the malicious package from PyPI.
Ecosystems
Attack vectors
Affected entities
  • cubesat-upstream-driverMalicious package published to PyPI

A malicious package named cubesat-upstream-driver was published to PyPI containing code designed to collect environment variables from affected systems. The package was attributed to user kam193 and detected by Aikido security researchers.

The malicious code does not autonomously exfiltrate collected environment variables, suggesting the attack relied on an external trigger or secondary mechanism for data extraction. The incident was classified as a probable pentest or CTF-like exercise with low inherent harm potential.

The package was part of a broader campaign (2026-08-cubesat-upstream-driver) and was identified through the OpenSSF's malicious-packages repository. The attack vectors included dependency confusion and general package compromise.

Indicators of compromise

Packages
  • cubesat-upstream-driver

Remediation

  • Remove cubesat-upstream-driver from all environments and dependency lists
  • Audit environment variables and secrets that may have been exposed on systems where the package was installed
  • Review PyPI package dependencies for similar suspicious packages
  • Monitor for any unauthorized access or data exfiltration attempts
  • Update security policies to include automated scanning of PyPI packages for malicious code

Sources

  1. GitHub Advisory GHSA-xjgc-gwrp-p632 · GitHub Advisory Database

Cite this entry

"Malicious code in cubesat-upstream-driver (PyPI)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 9, 2026; last updated August 9, 2026. https://supplychainattack.org/incident/malicious-code-in-cubesat-upstream-driver-pypi-95fdf0

Suggest a correction

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

  1. resolvedhigh

    Malicious code in kb-ai (PyPI)

    The kb-ai package on PyPI contained malicious code designed to demonstrate a dependency confusion attack. The package exfiltrated basic system data (IP address, username) and executed arbitrary code during installation via setup.py override.

    PyPICompromised packageDependency confusion
  2. containedcritical

    Malicious code in plp-contract (PyPI)

    The PyPI package plp-contract intentionally depends on a malicious package (neutrl-core) designed to exfiltrate sensitive credentials including environment variables, SSH keys, and dotenv files. The malicious code is disguised as telemetry and activates via remote command delivery from an attacker-controlled endpoint.

    2026 08 Neutrl CorePyPICompromised packageDependency confusion
  3. resolvedcritical

    Malicious code in neutrl-contracts (PyPI)

    The PyPI package neutrl-contracts intentionally depends on a malicious package (neutrl-core) that exfiltrates sensitive credentials including environment variables, SSH keys, and dotenv files. The malicious code is disguised as telemetry and activated remotely by an attacker-controlled endpoint.

    PyPICompromised packageDependency confusion
  4. resolvedhigh

    Malicious code in atlas-internal (PyPI)

    Multiple malicious versions of atlas-internal were published to PyPI containing code that exfiltrates host information (hostname, working directory, username) during installation. The package overrides the egg_info command in setup.py to execute automatically on pip install without user interaction, sending collected data to attacker-controlled out-of-band callback servers.

    PyPICompromised packageDependency confusion