Close Menu
  • Home
  • News
  • Cyber Security
  • Internet of Things
  • Tips and Advice

Subscribe to Updates

Get the latest creative news from FooBar about art, design and business.

What's Hot

Attackers Hijack Popular WordPress Plugins to Deploy Backdoors

June 15, 2026

19 Packages Poisoned to Auto-Run Bun Credential Stealer

June 15, 2026

Cyber Experts Urge US to Lift Ban on Anthropic’s Frontier AI Models

June 15, 2026
Facebook X (Twitter) Instagram
Monday, June 15
Facebook X (Twitter) Instagram Pinterest Vimeo
Cyberwire Daily
  • Home
  • News
  • Cyber Security
  • Internet of Things
  • Tips and Advice
Cyberwire Daily
Home»News»19 Packages Poisoned to Auto-Run Bun Credential Stealer
News

19 Packages Poisoned to Auto-Run Bun Credential Stealer

Team-CWDBy Team-CWDJune 15, 2026No Comments6 Mins Read
Share Facebook Twitter Pinterest LinkedIn Tumblr Reddit Telegram Email
Share
Facebook Twitter LinkedIn Pinterest Email


The Miasma supply chain campaign has sparked a fresh attack wave called Hades, this time involving 37 malicious wheel artifacts across 19 packages in the Python Package Index (PyPI) registry, as the Mini Shai-Hulud-style attacks continue to be refined and splintered to target specific ecosystems.

“The compromised releases shipped a *-setup.pth file that attempts to execute automatically during Python startup, download the Bun JavaScript runtime, and run an obfuscated JavaScript payload named _index.js,” Socket said in a new analysis.

The list of identified packages is below –

  • bramin 0.0.2, 0.0.3, 0.0.4
  • cmd2func 0.2.2, 0.2.3
  • coolbox 0.4.1, 0.4.2
  • dynamo-release 1.5.4
  • executor-engine 0.3.4, 0.3.5
  • executor-http 0.1.3, 0.1.4
  • funcdesc 0.2.2, 0.2.3
  • magique 0.6.8, 0.6.9
  • magique-ai 0.4.4, 0.4.5
  • mrbios 0.1.1, 0.1.2
  • napari-ufish 0.0.2, 0.0.3
  • nucbox 0.1.2, 0.1.3
  • okite 0.0.7, 0.0.8
  • pantheon-agents 0.6.1, 0.6.2
  • pantheon-toolsets 0.5.5, 0.5.6
  • spateo-release 1.1.2
  • synago 0.1.1, 0.1.2
  • ufish 0.1.2, 0.1.3
  • uprobe 0.1.3, 0.1.4

Like in the previous Shai-Hulud and Miasma campaigns, the malicious payload downloads and installs the Bun JavaScript runtime, which is then used to launch a heavily obfuscated JavaScript stealer that can harvest a wide range of data from developer systems.

This includes secrets associated with GitHub, npm, PyPI, RubyGems, JFrog, CircleCI, Anthropic, AWS, GCP, Azure, and Kubernetes, along with Docker configurations, Vault tokens, SSH keys, shell histories, .env files, .npmrc files, .pypirc files, Claude/MCP configurations, and other local or runner-accessible credentials.

What’s changed this time around is the campaign marker. While previous iterations exported the harvested data to a public GitHub repository with the description “Miasma: The Spreading Blight,” “Miasma: The Spreading Blight,” and “Miasma – The Spreading Blight,” the latest wave includes the repository descriptions –

  • Hades – The End for the Damned
  • Hades * The End for the Damned

“That makes Hades best understood as a PyPI branch of the same Mini Shai-Hulud / Miasma lineage, not a standalone Python malware incident,” the application security company said. “The core playbook remains the same: abuse trusted package channels, execute before normal package use, stage a Bun-powered JavaScript payload, steal developer and CI/CD credentials, and use GitHub-centric exfiltration and propagation logic.”

What has changed this time around is the use of a *-setup.pth file that’s processed by Python’s “site” module during interpreter startup, resulting in the execution of the malicious payload after installation without requiring the victim to import the poisoned package. The payload, in turn, downloads and runs Bun from GitHub and runs the stealer, but not before checking if the system corresponds to the Russian locale.

“This is the Python equivalent of the npm install-hook problem that Shai-Hulud and Miasma repeatedly exploit,” Socket explained. “The syntax is different, but the security consequence is the same: dependency installation creates an execution edge before application code is reviewed or invoked.”

Hades Cluster Attempts to Mislead AI Security Scanners

Also compromised as part of the Hades campaign are a number of packages related to the computational biology, bioinformatics, and genotype-phenotype analysis ecosystem –

  • embiggen 0.11.97
  • ensmallen 0.8.101
  • gpsea 0.9.14
  • mflux-streamlit 0.0.3, 0.0.4
  • nhmpy 2.4.7
  • ppkt2synergy 0.1.1
  • pyphetools 0.9.120

Interestingly, this cluster employs a different approach in that the entry point is embedded inside the package’s “__init__.py” file as an obfuscated single-line import hook. However, the outcome is the same: Downloading and running the Bun runtime, followed by the execution of the JavaScript payload.

“The use of the Bun runtime remains a consistent theme,” StepSecurity said. “Downloading Bun as a standalone ZIP file allows the malware to run complex JavaScript tasks in environments that lack a Node.js installation, bypassing traditional package manager controls and network proxy logs.”

In what has been characterized as a novel artificial intelligence (AI) defense evasion technique, the malware also incorporates a plain-text prompt injection that attempts to deceive Large Language Model (LLM)-based package analysis tools to instruct the model to classify the package as safe.

On top of that, the malware queries GitHub commits for the keyword “TheBeautifulSnadsOfTime” to extract a Base64-encoded string containing a JavaScript payload. It also polls GitHub for commits matching the keyword “firedalazer” so as to fetch a Python-based dropper and execute it.

Some of the important features built into the Hades malware are listed below –

  • Replicate and spread laterally across developer networks via SSH or SCP, push trojanized versions of PyPI packages from compromised systems by exploiting the developers’ OpenID Connect (OIDC) trust configurations.
  • Target GitHub repositories to extract organization secrets using GitHub Actions runners if the harvested GitHub token has appropriate write permissions.
  • Backdoor local workspace folders to trigger code execution when analyzed by AI assistants or opened in IDEs. Targets include Anthropic Claude, OpenAI Codex, Google Gemini, Microsoft Copilot, Cline, Aider, Tabby, Amazon Q, Cody, Bolt, and Continue.
  • Install a background service named “gh-token-monitor” that acts as a wiper by removing all data (“rm -rf ~/; rm -rf ~/Documents”) if the stolen GitHub token is revoked by the developer.

“A key capability of the Miasma actor is reading the process memory of the GitHub Actions runner (the Runner.Worker process) to extract secrets,” security researcher Rohan Prabhu said. “In earlier campaigns, this was limited to Linux systems using /proc/{pid}/mem. The Hades Campaign introduces tailored macOS and Windows memory scrapers.”

The development comes as StepSecurity revealed that an unknown attacker compromised the GitHub account (“LeonOstrez”) linked to “Pythagora-io/gpt-pilot,” a popular open-source AI developer tool, and force-pushed a variant of the Shai-Hulud credential-stealing worm to the main branch. The malware is designed to activate silently when an unsuspecting developer runs the project, while avoiding systems with a Russian locale.

“The malware, a variant of the Shai-Hulud worm, was stopped by an unlikely defender: ruff, a Python code formatter,” Ashish Kurmi, co-founder and CTO of StepSecurity, said. “The attacker tried twice to get the malicious code past CI and failed both times because their injected Python file did not match the project’s formatting and linting rules.”

Software supply chain security company Snyk has described these attacks as part of the Shai-Hulud / Miasma lineage, with each wave leveraging a Bun-runtime obfuscated stealer and combining it with “new persistence, new exfiltration routes, and new ways to fire code automatically at install or build time.”

“The Miasma campaign proves that having signed keys and authenticated maintainer accounts are no longer an absolute guarantee of safety,” Cloudsmith said. “When upstream registries and repos are compromised, public code becomes one of the easiest, and most direct, ways of getting pwned.”



Source

Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
Previous ArticleCyber Experts Urge US to Lift Ban on Anthropic’s Frontier AI Models
Next Article Attackers Hijack Popular WordPress Plugins to Deploy Backdoors
Team-CWD
  • Website

Related Posts

News

Attackers Hijack Popular WordPress Plugins to Deploy Backdoors

June 15, 2026
News

Cyber Experts Urge US to Lift Ban on Anthropic’s Frontier AI Models

June 15, 2026
News

LiteLLM Flaw CVE-2026-42271 Exploited in the Wild, Chains to Unauthenticated RCE

June 15, 2026
Add A Comment
Leave A Reply Cancel Reply

Latest News

North Korean Hackers Turn JSON Services into Covert Malware Delivery Channels

November 24, 202522 Views

macOS Stealer Campaign Uses “Cracked” App Lures to Bypass Apple Securi

September 7, 202517 Views

North Korean Hackers Target Crypto Firms with ClickFix and Zoom Lures

April 29, 202610 Views

Why SOC Burnout Can Be Avoided: Practical Steps

November 14, 20259 Views

Cyber M&A Roundup: Cyber Giants Strengthen AI Security Offerings

December 1, 20258 Views
Stay In Touch
  • Facebook
  • YouTube
  • TikTok
  • WhatsApp
  • Twitter
  • Instagram
Most Popular

North Korean Hackers Turn JSON Services into Covert Malware Delivery Channels

November 24, 202522 Views

macOS Stealer Campaign Uses “Cracked” App Lures to Bypass Apple Securi

September 7, 202517 Views

North Korean Hackers Target Crypto Firms with ClickFix and Zoom Lures

April 29, 202610 Views
Our Picks

What are brushing scams and how do I stay safe?

December 24, 2025

Don’t let “back to school” become “back to bullying”

September 11, 2025

What it is and how to protect yourself

January 8, 2026

Subscribe to Updates

Get the latest news from cyberwiredaily.com

Facebook X (Twitter) Instagram Pinterest
  • Home
  • Contact
  • Privacy Policy
  • Terms of Use
  • California Consumer Privacy Act (CCPA)
© 2026 All rights reserved.

Type above and press Enter to search. Press Esc to cancel.