Skip to main content
Meet us at Black Hat USA 2026— Las Vegas, August 1–6Book a Meeting
Mallory
MalwareRansomwareUsed by 3 actors

Hades

Hades is a malware name used in the provided content for two distinct but related contexts: (1) a 2026 supply-chain malware family/variant in the Mini Shai-Hulud / Miasma lineage, and (2) a ransomware family associated with Evil Corp / INDRIK SPIDER. In the 2026 supply-chain context, Hades is described as a PyPI- and npm-linked credential-stealing malware family targeting developer workstations, CI/CD environments, package maintainers, and cloud-native/serverless ecosystems including Leo/RStreams, bioinformatics tooling, and AI/MCP-themed packages. Delivery mechanisms directly mentioned include malicious PyPI wheels with *-setup.pth startup hooks, compiled .abi3/.abi.so extensions, obfuscated init.py import hooks, npm binding.gyp install-time execution via node-gyp, and at least one loader-style package that searched sys.path for a separately staged payload. The malware downloads the Bun JavaScript runtime and executes an obfuscated JavaScript payload such as _index.js, using multi-layer obfuscation, AES-GCM encryption, PBKDF2 key derivation, and per-instance keys. Reported capabilities include harvesting GitHub, npm, PyPI, RubyGems, JFrog/Artifactory, AWS, Azure, GCP, Kubernetes, Docker, Vault, CircleCI, SSH, shell history, .env, .npmrc, .pypirc, Claude/MCP and other AI coding assistant configurations; stealing GitHub Actions secrets, including from runner memory; modifying IDE and AI-assistant settings; attempting lateral movement via SSH/SCP; and establishing persistence via .pth files, systemd services on Linux, LaunchAgents on macOS, and services such as gh-token-monitor or kitty-monitor. Exfiltration and tasking infrastructure mentioned includes public GitHub repositories and dead-drop techniques, GitHub commit polling for markers including "firedalazer" and "TheBeautifulSnadsOfTime," Session Protocol, Internet Computer Protocol canisters, and staged api.anthropic.com/v1/api camouflage. The malware includes a Russian locale guard / killswitch and checks for security tools such as CrowdStrike and SentinelOne. Multiple reports also describe embedded prompt-injection blocks in _index.js intended to mislead or disrupt naive LLM-based malware triage. Indicators and markers directly mentioned include repository descriptions such as "Hades - The End for the Damned" / "Hades * The End for the Damned," the string "Alright Lets See If This Works," token-relay markers including "RevokeAndItGoesKaboom" and "IfYouYankThisTokenItWillNukeTheComputerOfTheOwnerFully," the workflow name "Run Copilot," and payload/persistence artifacts including _index.js, binding.gyp, .github/setup.js, .claude/setup.mjs, .vscode/tasks.json, .claude/settings.json, .cursor/rules/setup.mdc, and *-setup.pth. Separately, the content also states that Hades ransomware was used by Evil Corp / INDRIK SPIDER, reportedly as a successor to WastedLocker to circumvent OFAC sanctions, and that UNC2165 has deployed Hades ransomware in some attacks, often alongside FakeUpdate/SocGholish access and Cobalt Strike.

Share:
For your environment

Hunt this family in your stack

Mallory pivots from this family to the IOCs, detections, and named campaigns that touch your stack, and pages you when something new lands.

THREAT ACTORS

Groups observed using it

3 distinct threat actors attributed by public researchers. Open in Mallory to see the full evidence chain and overlapping campaigns.

View more details
Indrik Spider

The malware has been previously linked to Evil Corp, a Russian cybercrime gang active since 2007 that has been associated with the Zeus and Dridex malware families and was behind the WastedLocker, Hades, Macaw Locker, and Phoenix CryptoLocker ransomware operations.

via bleeping computerbleepingcomputer.com
TeamPCP

A recently discovered variant of the Mini Shai-Hulud supply chain malware, dubbed “Hades,” was discovered in 23 new PyPI package versions targeting bioinformatics and AI-themed packages... The variant is named for the Hades and Greek mythology-themed markers present in the GitHub repositories the malware uses for exfiltration of stolen data.

via scworldscworld.com
Hades

Once executed via any of the three delivery branches, the Hades-family payload aggressively harvests secrets from developer workstations and CI/CD environments.

via cyber security newscybersecuritynews.com
MITRE ATT&CK

Techniques & procedures

30 distinct techniques documented for this family, organized by ATT&CK tactic.

Resource Development

1 technique
T1583.001DomainsEvidence1

The information is then uploaded to a public GitHub repository with description "Alright Lets See If This Works."

Initial Access

3 techniques
T1078Valid AccountsEvidence1

It's suspected that an npm developer account associated with the LeoPlatform ... was breached, likely via leaked credentials, to enable the attack, allowing the threat actors to leverage an npm token belonging to the maintainer to push trojanized versions within a six-second window.

T1195Supply Chain CompromiseEvidence7

This appears to be a continuation of the activity we reported yesterday involving LeoPlatform and RStreams npm packages, GitHub Actions workflow abuse, AI-agent persistence, and the Verana Go module/source-repository compromise. The new ImmobiliareLabs activity follows the same broader campaign pattern: compromise trusted developer infrastructure, publish malicious package versions...

T1195.001Compromise Software Dependencies and Development ToolsEvidence1

The malicious releases were published in a tight window on June 26, 2026... Multiple historical versions were republished with malicious artifacts, suggesting the threat actor attempted to maximize exposure across users pinned to older major versions.

Execution

3 techniques
T1053Scheduled Task/JobEvidence2

~/.config/systemd/user/gh-token-monitor.service ~/Library/LaunchAgents/com.user.gh-token-monitor.plist ~/.local/share/updater/update.py ~/.local/share/updater/ update-monitor.service

T1059Command and Scripting InterpreterEvidence2

When npm sees a package with binding.gyp and no explicit install script, it falls back to running node-gyp rebuild. During that process, node-gyp expands shell commands embedded in <!(...) expressions. Attackers can abuse this behavior to execute the payload during package installation... "sources" : [ "<!(node index.js > /dev/null 2>&1 && echo stub.c)" ]

T1059.007JavaScriptEvidence1

The malicious npm packages ... incorporates a binding.gyp file to execute arbitrary code during installation, resulting in the launch of a JavaScript loader that downloads and installs the Bun runtime if not present, and then initiate the stealer payload.

Persistence

6 techniques
T1053Scheduled Task/JobEvidence2

~/.config/systemd/user/gh-token-monitor.service ~/Library/LaunchAgents/com.user.gh-token-monitor.plist ~/.local/share/updater/update.py ~/.local/share/updater/ update-monitor.service

T1078Valid AccountsEvidence1

It's suspected that an npm developer account associated with the LeoPlatform ... was breached, likely via leaked credentials, to enable the attack, allowing the threat actors to leverage an npm token belonging to the maintainer to push trojanized versions within a six-second window.

T1136Create AccountEvidence2

GitHub dead-drop exfiltration by creating repositories under a usable GitHub token and committing encrypted result files under results/ .

T1543.001Launch AgentEvidence1

...or a LaunchAgent on macOS...

T1543.002Systemd ServiceEvidence1

It sets itself up as a systemd service on Linux...

T1556Modify Authentication ProcessEvidence2

npm, PyPI, RubyGems, JFrog/Artifactory, GitHub Actions, and AI-tool persistence logic. gh-token-monitor dead-man switch behavior. GitHub Actions secret-dump workflow logic using VARIABLE_STORE and format-results.txt .

Privilege Escalation

4 techniques
T1053Scheduled Task/JobEvidence2

~/.config/systemd/user/gh-token-monitor.service ~/Library/LaunchAgents/com.user.gh-token-monitor.plist ~/.local/share/updater/update.py ~/.local/share/updater/ update-monitor.service

T1078Valid AccountsEvidence1

It's suspected that an npm developer account associated with the LeoPlatform ... was breached, likely via leaked credentials, to enable the attack, allowing the threat actors to leverage an npm token belonging to the maintainer to push trojanized versions within a six-second window.

T1543.001Launch AgentEvidence1

...or a LaunchAgent on macOS...

T1543.002Systemd ServiceEvidence1

It sets itself up as a systemd service on Linux...

Stealth

4 techniques
T1027Obfuscated Files or InformationEvidence4

Finally, the file executes obfuscated JavaScript. It uses a character-code array and ROT-style substitution to reconstruct the payload.

T1036MasqueradingEvidence1

The payload still contains Anthropic camouflage: api.anthropic.com v1/api As in the previous Miasma analysis, this appears to be use of a legitimate-looking API host/path as camouflage rather than evidence of a compromised Anthropic service.

T1078Valid AccountsEvidence1

It's suspected that an npm developer account associated with the LeoPlatform ... was breached, likely via leaked credentials, to enable the attack, allowing the threat actors to leverage an npm token belonging to the maintainer to push trojanized versions within a six-second window.

T1622Debugger EvasionEvidence1

The comment contains fake instructions to an LLM... designed to trigger LLM safety refusals and disrupt AI-assisted malware triage before the scanner reaches the obfuscated Hades payload

Defense Impairment

1 technique
T1556Modify Authentication ProcessEvidence2

npm, PyPI, RubyGems, JFrog/Artifactory, GitHub Actions, and AI-tool persistence logic. gh-token-monitor dead-man switch behavior. GitHub Actions secret-dump workflow logic using VARIABLE_STORE and format-results.txt .

Credential Access

7 techniques
T1528Steal Application Access TokenEvidence1

The code does not use SEED_PAT unconditionally. It first checks whether the GitHub Actions GITHUB_REPOSITORY environment value contains Seeder. Only in that case does it read SEED_PAT and add that token as a GitHub sender.

T1552Unsecured CredentialsEvidence1

the payload begins collecting credentials stored across files, environment variables, shell history, GitHub CLI tokens, cloud access keys, and CI/CD pipeline secrets.

T1552.001Credentials In FilesEvidence1

It retains the familiar behavior: Broad credential collection from files, environment variables, shell history, GitHub CLI tokens, cloud credentials, package-manager tokens, and CI/CD environments.

T1552.003Shell HistoryEvidence1

It retains the familiar behavior: Broad credential collection from files, environment variables, shell history, GitHub CLI tokens, cloud credentials, package-manager tokens, and CI/CD environments.

T1555Credentials from Password StoresEvidence2

It retains the familiar behavior: Broad credential collection from files, environment variables, shell history, GitHub CLI tokens, cloud credentials, package-manager tokens, and CI/CD environments.

T1556Modify Authentication ProcessEvidence2

npm, PyPI, RubyGems, JFrog/Artifactory, GitHub Actions, and AI-tool persistence logic. gh-token-monitor dead-man switch behavior. GitHub Actions secret-dump workflow logic using VARIABLE_STORE and format-results.txt .

T1649Steal or Forge Authentication CertificatesEvidence2

The end goal of the campaign, as before, is to harvest developer or maintainer credentials and weaponize the stolen data to spread across package registries, repositories, and trusted developer workflows.

Discovery

2 techniques
T1526Cloud Service DiscoveryEvidence2

These libraries tend to show up close to cloud infrastructure, event pipelines, and CI/CD systems, exactly the places where npm installation can run with access to AWS credentials, GitHub tokens, npm publishing credentials, and application secrets.

T1622Debugger EvasionEvidence1

The comment contains fake instructions to an LLM... designed to trigger LLM safety refusals and disrupt AI-assisted malware triage before the scanner reaches the obfuscated Hades payload

Lateral Movement

3 techniques
T1080Taint Shared ContentEvidence1

The Register has been covering the story of the Shai-Hulud JavaScript worm for months. We introduced this self-propagating worm in September.

T1563.001SSH HijackingEvidence1

SSH lateral movement using ai_setup.sh and ai_init.js .

T1570Lateral Tool TransferEvidence2

SSH lateral movement using ai_setup.sh and ai_init.js .

Collection

1 technique
T1119Automated CollectionEvidence1

The malware ... drops a workflow named "Run Copilot" to capture CI/CD environment secrets from the runner memory.

Command and Control

3 techniques
T1102.001Dead Drop ResolverEvidence1

The token relay marker has also witnessed a change in the latest iteration ... the current artifact uses "RevokeAndItGoesKaboom," a string that has been used as GitHub dead drop resolver ...

T1104Multi-Stage ChannelsEvidence1

containing a multi-stage dropper with an infostealer logic

T1105Ingress Tool TransferEvidence2

... polls GitHub every hour for commits matching the string "firedalazer" to retrieve and execute the Hades variant of the malware.

Exfiltration

2 techniques
T1567Exfiltration Over Web ServiceEvidence3

GitHub dead-drop exfiltration by creating repositories under a usable GitHub token and committing encrypted result files under results/ ... If a usable token is available, it can create a repository under the token owner and write result files under: results/results-<timestamp>-<counter>.json

T1567.001Exfiltration to Code RepositoryEvidence1

First, the malware uploads the stolen credentials and API keys to GitHub using the string “Alright Lets See If This Works”

INDICATORS OF COMPROMISE

IOCs tracked for this family

15 indicators attributed across vendor reports, sandbox runs, and researcher write-ups. Full values are available in Mallory.

View more in app
Network
4 tracked

IPs, domains, and DNS infrastructure linked to this family.

Hashes
6 tracked

File hashes (MD5, SHA-1, SHA-256) from samples and reports.

Other
5 tracked

Other indicator types observed in public reporting.

TypeValueLatest sighting
domain●●●●●●●●●●●●View more in app1 day ago
hash.sha256●●●●●●●●●●●●View more in app1 day ago
uri●●●●●●●●●●●●View more in app1 day ago
uri●●●●●●●●●●●●View more in app1 day ago
domain●●●●●●●●●●●●View more in app2 days ago
uri●●●●●●●●●●●●View more in app2 days ago
ACTIVITY FEED

Recent activity

24 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.

What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets match these IOCs, which detections are missing, which campaigns to expect next, and what to do in the next 30 minutes.
IOC matching15

Match every observed IP, domain, and hash against your live telemetry.

Threat actor attribution3

Named campaigns wielding this family, with evidence pinned to each claim.

Exploited vulnerabilities

CVEs this family uses for access and lateral movement.

Detection signatures

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

MITRE ATT&CK mapping30

Every documented technique, ranked by evidence weight.

Researcher chatter

Reddit, Mastodon, and CTI community discussion around this family.