CTIPilot
AI-generated · no human review · verify critical claims against the linked source. how it works →

Mini Shai-Hulud

campaign · campaign:mini-shai-hulud single-source

TeamPCP npm supply-chain worm family (initial wave: SAP CAP packages); the framework was later open-sourced, spawning derivatives including Phantom Gyp.

Aliases: Phantom Gyp

Coverage
13
9 about it · 4 mentions · first 2026-05-06 → last 2026-11-01
Latest activity
2026-10-29
SafeDep and JFrog: the testmetest npm worm now runs on import, so --ignore-scripts does not stop it; 42 repos…
Peak priority
high
5 high · 4 notable
Targets
technology
sectors: technology, public-sector, education · regions: europe
Sources cited
59
34 hosts
2026-05-1313 appearances2026-10-29

Action items (2)

Do-now tasks recorded on the entries about Mini Shai-Hulud, newest first. Check the date before acting on an older one.

  • Compare every lockfile and CI cache against the package list in SafeDep's post; on each host that installed or imported a listed package, disconnect it, remove persistence first and only then rotate the GitHub, npm, cloud and SSH credentials it could read, because the worm wipes the home directory when the stolen GitHub token is revoked.
    2026-10-29SafeDep and JFrog: the testmetest npm worm now runs…
  • Find every workflow in your GitHub organisations that references actions-cool/issues-helper or actions-cool/maintain-one-comment by tag; where either ran successfully on 2026-05-18 to 05-19 or 2026-09-16 to 09-25, rotate every secret that workflow could read and check the repository's commits since 2026-09-16 for added Claude Code or VS Code hook files, then remove the action or pin it to a full commit SHA from before 2026-05-18.
    2026-05-20The compromised actions-cool GitHub Actions were…

Defender insights

What each entry about Mini Shai-Hulud tells a defender to do, newest first.

2026-10-29NOTABLESafeDep and JFrog: the testmetest npm worm now runs on import, so --ignore-scripts does not stop it; 42 repos armed

Exposure · detection

2026-05-20HIGHThe compromised actions-cool GitHub Actions were re-enabled in September with malicious tags and ran the payload again

Exposure · triage · detection

2026-05-28HIGHexploitedNx Console / TanStack / DAEMON Tools supply-chain cascade lands three CISA KEV entries

Exposure · detection

2026-05-15NOTABLETeamPCP open-sourced its Shai-Hulud framework; Datadog maps its theft, persistence and npm-poisoning code

Exposure · detection

2026-05-13NOTABLEexploitedA Pwn Request, cache poisoning and runner-memory OIDC theft let attackers publish 84 malicious TanStack npm versions

Exposure · detection

2026-05-13NOTABLESAP patches unauthenticated code execution in Commerce Cloud and authenticated SQL injection in S/4HANA search

Exposure

Relationships explore in graph

Typed, source-stated connections from the entity registry; each edge cites the entry whose reporting establishes it.

attributed to

overlaps with

related to

includes

Story timeline

Every entry that names Mini Shai-Hulud, newest first. Rows tagged mention only name it in passing: they are listed for completeness and add nothing to the action items, pivots or ATT&CK profile on this page.

  1. 2026-10-29testmetest: an npm worm in the Miasma and Shai-Hulud family now starts when an application imports the package, so install with --ignore-scripts no longer protects, and JFrog finds 42 third-party GitHub repositories already armed with its publisher
    active-threatsSafeDep and JFrog: the testmetest npm worm now runs on import, so --ignore-scripts does not stop it; 42 repos armed
  2. 2026-10-10GhostAction returns: stolen maintainer credentials push a fake security-audit workflow into the victims' own GitHub repositories, which now harvests credentials from the entire git history
    mentionactive-threatsGhostAction: fake security workflows now harvest whole git histories; rotating Actions secrets is not enough
  3. 2026-06-09TeamPCP open-sources its Mini Shai-Hulud framework, spawning a new "Phantom Gyp" derivative
    active-threats
  4. 2026-06-02"Miasma" worm backdoors 32 Red Hat Cloud Services npm packages via OIDC trusted-publishing abuse
    active-threats
  5. 2026-06-01Two concurrent npm dependency-confusion campaigns target internal corporate namespaces
    active-threats
  6. 2026-05-28Nx Console / TanStack / DAEMON Tools supply-chain cascade lands three CISA KEV entries
    deep-dive
  7. 2026-05-21Verizon 2026 DBIR: vulnerability exploitation overtakes stolen credentials as the leading initial access vector for the first time in 19 years
    mentionresearchVerizon's 2026 DBIR puts exploitation at 31% of breaches; only 26% of KEV-listed flaws were fully remediated
  8. 2026-05-20actions-cool/issues-helper GitHub Action compromised in Mini Shai-Hulud: 53 tags moved to imposter commits that read Runner.Worker memory, re-enabled in September with the tags intact
    active-threatsThe compromised actions-cool GitHub Actions were re-enabled in September with malicious tags and ran the payload again
  9. 2026-05-19Grafana Labs confirms GitHub breach claimed by CoinbaseCartel: a workflow token missed after the TanStack npm compromise let attackers download its code and internal repositories
    mentionactive-threatsGrafana Labs: a GitHub workflow token missed after the TanStack npm compromise let attackers take its codebase
  10. 2026-05-15Datadog analyses TeamPCP's open-sourced Shai-Hulud framework: credential and runner-memory theft, IDE and Claude Code hook persistence, OIDC npm publishing and a wipe-on-revocation daemon
    active-threatsTeamPCP open-sourced its Shai-Hulud framework; Datadog maps its theft, persistence and npm-poisoning code
  11. 2026-05-15CVE-2026-45793, PHP Composer: GitHub Actions and GitHub App installation tokens printed in full to CI job logs when GitHub's new token format failed validation (CVSS 7.5)
    mentiontrending-vulnerabilitiesComposer printed GitHub Actions tokens into CI logs once GitHub's new token format arrived; fixed in 2.9.8 and 2.2.28
  12. 2026-05-13Mini Shai-Hulud hits TanStack: a pull_request_target Pwn Request, Actions cache poisoning and OIDC token theft from runner memory published 84 malicious @tanstack versions with valid provenance
    deep-diveA Pwn Request, cache poisoning and runner-memory OIDC theft let attackers publish 84 malicious TanStack npm versions
  13. 2026-05-13CVE-2026-34263 and CVE-2026-34260: SAP Commerce Cloud unauthenticated code injection and S/4HANA Enterprise Search SQL injection (May 2026 Patch Day)
    trending-vulnerabilitiesSAP patches unauthenticated code execution in Commerce Cloud and authenticated SQL injection in S/4HANA search
ATT&CK techniques (37 across 12 tactics)

37 techniques observed across 8 entries about this entity, derived from entry metadata and body evidence, never asserted without a published entry behind it · pinned to MITRE ATT&CK v20.0 · compare on the matrix · Navigator layer (JSON)

  • Initial AccessExploit Public-Facing Application · Supply Chain Compromise: Compromise Software Dependencies and Development Tools · Supply Chain Compromise: Compromise Software Supply Chain
  • ExecutionCommand and Scripting Interpreter: Unix Shell · Command and Scripting Interpreter: Python · Command and Scripting Interpreter: JavaScript · User Execution: Malicious File
  • PersistenceCreate or Modify System Process: Launch Agent · Create or Modify System Process: Systemd Service · Event Triggered Execution · Boot or Logon Autostart Execution: XDG Autostart Entries
  • Privilege EscalationCreate or Modify System Process: Launch Agent · Create or Modify System Process: Systemd Service · Event Triggered Execution · Boot or Logon Autostart Execution: XDG Autostart Entries · Abuse Elevation Control Mechanism: Sudo and Sudo Caching
  • StealthObfuscated Files or Information · Masquerading · Virtualization/Sandbox Evasion: System Checks
  • Defense ImpairmentSubvert Trust Controls: Code Signing
  • Credential AccessOS Credential Dumping: Proc Filesystem · Steal Application Access Token · Unsecured Credentials: Credentials In Files · Unsecured Credentials: Private Keys · Unsecured Credentials: Cloud Instance Metadata API · Unsecured Credentials: Container API · Credentials from Password Stores · Credentials from Password Stores: Password Managers · Credentials from Password Stores: Cloud Secrets Management Stores
  • DiscoverySystem Information Discovery · File and Directory Discovery · Virtualization/Sandbox Evasion: System Checks · System Location Discovery · System Location Discovery: System Language Discovery
  • Lateral MovementUse Alternate Authentication Material: Application Access Token
  • Command and ControlWeb Service: Dead Drop Resolver · Ingress Tool Transfer
  • ExfiltrationExfiltration Over C2 Channel · Exfiltration Over Alternative Protocol · Exfiltration Over Web Service · Exfiltration Over Web Service: Exfiltration to Code Repository
  • ImpactData Destruction

Initial Access TA0001

T1190Exploit Public-Facing Application×2

Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network. The weakness in the system can be a software bug, a temporary glitch, or a misconfiguration.

Evidence: 2026-05-13/mini-shai-hulud-s-github-actions-pwn-request-oidc-token-thef · 2026-05-13/cve-2026-34263-cve-2026-34260-sap-commerce-cloud-pre-auth-rc · ATT&CK page ↗

T1195.001Supply Chain Compromise: Compromise Software Dependencies and Development Tools×2

Adversaries may manipulate software dependencies and development tools prior to receipt by a final consumer for the purpose of data or system compromise. Applications often depend on external software to function properly. Popular open source projects that are used as dependencies in many applications, such as pip and NPM packages, may be targeted as a means to add malicious code to users of the dependency. This may also include abandoned packages, which in some cases could be re-registered by threat actors after being removed by adversaries. Adversaries may also employ "typosquatting" or name-confusion by choosing names similar to existing popular libraries or packages in order to deceive a user.

Evidence: 2026-05-28/nx-console-tanstack-daemon-tools-supply-chain-cascade-lands · 2026-05-13/mini-shai-hulud-s-github-actions-pwn-request-oidc-token-thef · ATT&CK page ↗

T1195.002Supply Chain Compromise: Compromise Software Supply Chain×6

Adversaries may manipulate application software prior to receipt by a final consumer for the purpose of data or system compromise. Supply chain compromise of software can take place in a number of ways, including manipulation of the application source code, manipulation of the update/distribution mechanism for that software, or replacing compiled releases with a modified version.

Evidence: 2026-10-29/testmetest-npm-worm-runs-on-import-ignore-scripts · 2026-06-01/two-concurrent-npm-dependency-confusion-campaigns-target-int · 2026-05-28/nx-console-tanstack-daemon-tools-supply-chain-cascade-lands · 2026-05-20/actions-cool-issues-helper-github-action-compromised-53-tags · 2026-05-15/datadog-security-labs-analyzes-leaked-teampcp-shai-hulud-off · 2026-05-13/mini-shai-hulud-s-github-actions-pwn-request-oidc-token-thef · ATT&CK page ↗

Execution TA0002

T1059.004Command and Scripting Interpreter: Unix Shell×1

Adversaries may abuse Unix shell commands and scripts for execution. Unix shells are the primary command prompt on Linux, macOS, and ESXi systems, though many variations of the Unix shell exist (e.g. sh, ash, bash, zsh, etc.) depending on the specific OS or distribution. Unix shells can control every aspect of a system, with certain commands requiring elevated privileges.

Evidence: 2026-05-15/datadog-security-labs-analyzes-leaked-teampcp-shai-hulud-off · ATT&CK page ↗

T1059.006Command and Scripting Interpreter: Python×2

Adversaries may abuse Python commands and scripts for execution. Python is a very popular scripting/programming language, with capabilities to perform many functions. Python can be executed interactively from the command-line (via the <code>python.exe</code> interpreter) or via scripts (.py) that can be written and distributed to different systems. Python code can also be compiled into binary executables.

Evidence: 2026-05-28/nx-console-tanstack-daemon-tools-supply-chain-cascade-lands · 2026-05-20/actions-cool-issues-helper-github-action-compromised-53-tags · ATT&CK page ↗

T1059.007Command and Scripting Interpreter: JavaScript×4

Adversaries may abuse various implementations of JavaScript for execution. JavaScript (JS) is a platform-independent scripting language (compiled just-in-time at runtime) commonly associated with scripts in webpages, though JS can be executed in runtime environments outside the browser.

Evidence: 2026-10-29/testmetest-npm-worm-runs-on-import-ignore-scripts · 2026-06-02/miasma-worm-backdoors-32-red-hat-cloud-services-npm-packages · 2026-05-15/datadog-security-labs-analyzes-leaked-teampcp-shai-hulud-off · 2026-05-13/mini-shai-hulud-s-github-actions-pwn-request-oidc-token-thef · ATT&CK page ↗

T1204.002User Execution: Malicious File×1

An adversary may rely upon a user opening a malicious file in order to gain execution. Users may be subjected to social engineering to get them to open a file that will lead to code execution. This user action will typically be observed as follow-on behavior from Spearphishing Attachment. Adversaries may use several types of files that require a user to execute them, including .doc, .pdf, .xls, .rtf, .scr, .exe, .lnk, .pif, .cpl, .reg, and .iso.

Evidence: 2026-05-20/actions-cool-issues-helper-github-action-compromised-53-tags · ATT&CK page ↗

Persistence TA0003

T1543.001Create or Modify System Process: Launch Agent×3

Adversaries may create or modify launch agents to repeatedly execute malicious payloads as part of persistence. When a user logs in, a per-user launchd process is started which loads the parameters for each launch-on-demand user agent from the property list (.plist) file found in <code>/System/Library/LaunchAgents</code>, <code>/Library/LaunchAgents</code>, and <code>~/Library/LaunchAgents</code>. Property list files use the <code>Label</code>, <code>ProgramArguments </code>, and <code>RunAtLoad</code> keys to identify the Launch Agent's name, executable location, and execution time. Launch Agents are often installed to perform updates to programs, launch user specified programs at login, or to conduct other developer tasks.

Evidence: 2026-05-28/nx-console-tanstack-daemon-tools-supply-chain-cascade-lands · 2026-05-15/datadog-security-labs-analyzes-leaked-teampcp-shai-hulud-off · 2026-05-13/mini-shai-hulud-s-github-actions-pwn-request-oidc-token-thef · ATT&CK page ↗

T1543.002Create or Modify System Process: Systemd Service×2

Adversaries may create or modify systemd services to repeatedly execute malicious payloads as part of persistence. Systemd is a system and service manager commonly used for managing background daemon processes (also known as services) and other system resources. Systemd is the default initialization (init) system on many Linux distributions replacing legacy init systems, including SysVinit and Upstart, while remaining backwards compatible.

Evidence: 2026-05-15/datadog-security-labs-analyzes-leaked-teampcp-shai-hulud-off · 2026-05-13/mini-shai-hulud-s-github-actions-pwn-request-oidc-token-thef · ATT&CK page ↗

T1546Event Triggered Execution×2

Adversaries may establish persistence and/or elevate privileges using system mechanisms that trigger execution based on specific events. Various operating systems have means to monitor and subscribe to events such as logons or other user activity such as running specific applications/binaries. Cloud environments may also support various functions and services that monitor and can be invoked in response to specific cloud events.

Evidence: 2026-05-15/datadog-security-labs-analyzes-leaked-teampcp-shai-hulud-off · 2026-05-13/mini-shai-hulud-s-github-actions-pwn-request-oidc-token-thef · ATT&CK page ↗

T1547.013Boot or Logon Autostart Execution: XDG Autostart Entries×1

Adversaries may add or modify XDG Autostart Entries to execute malicious programs or commands when a user’s desktop environment is loaded at login. XDG Autostart entries are available for any XDG-compliant Linux system. XDG Autostart entries use Desktop Entry files (`.desktop`) to configure the user’s desktop environment upon user login. These configuration files determine what applications launch upon user login, define associated applications to open specific file types, and define applications used to open removable media.

Evidence: 2026-06-02/miasma-worm-backdoors-32-red-hat-cloud-services-npm-packages · ATT&CK page ↗

Privilege Escalation TA0004

T1543.001Create or Modify System Process: Launch Agent×3

Adversaries may create or modify launch agents to repeatedly execute malicious payloads as part of persistence. When a user logs in, a per-user launchd process is started which loads the parameters for each launch-on-demand user agent from the property list (.plist) file found in <code>/System/Library/LaunchAgents</code>, <code>/Library/LaunchAgents</code>, and <code>~/Library/LaunchAgents</code>. Property list files use the <code>Label</code>, <code>ProgramArguments </code>, and <code>RunAtLoad</code> keys to identify the Launch Agent's name, executable location, and execution time. Launch Agents are often installed to perform updates to programs, launch user specified programs at login, or to conduct other developer tasks.

Evidence: 2026-05-28/nx-console-tanstack-daemon-tools-supply-chain-cascade-lands · 2026-05-15/datadog-security-labs-analyzes-leaked-teampcp-shai-hulud-off · 2026-05-13/mini-shai-hulud-s-github-actions-pwn-request-oidc-token-thef · ATT&CK page ↗

T1543.002Create or Modify System Process: Systemd Service×2

Adversaries may create or modify systemd services to repeatedly execute malicious payloads as part of persistence. Systemd is a system and service manager commonly used for managing background daemon processes (also known as services) and other system resources. Systemd is the default initialization (init) system on many Linux distributions replacing legacy init systems, including SysVinit and Upstart, while remaining backwards compatible.

Evidence: 2026-05-15/datadog-security-labs-analyzes-leaked-teampcp-shai-hulud-off · 2026-05-13/mini-shai-hulud-s-github-actions-pwn-request-oidc-token-thef · ATT&CK page ↗

T1546Event Triggered Execution×2

Adversaries may establish persistence and/or elevate privileges using system mechanisms that trigger execution based on specific events. Various operating systems have means to monitor and subscribe to events such as logons or other user activity such as running specific applications/binaries. Cloud environments may also support various functions and services that monitor and can be invoked in response to specific cloud events.

Evidence: 2026-05-15/datadog-security-labs-analyzes-leaked-teampcp-shai-hulud-off · 2026-05-13/mini-shai-hulud-s-github-actions-pwn-request-oidc-token-thef · ATT&CK page ↗

T1547.013Boot or Logon Autostart Execution: XDG Autostart Entries×1

Adversaries may add or modify XDG Autostart Entries to execute malicious programs or commands when a user’s desktop environment is loaded at login. XDG Autostart entries are available for any XDG-compliant Linux system. XDG Autostart entries use Desktop Entry files (`.desktop`) to configure the user’s desktop environment upon user login. These configuration files determine what applications launch upon user login, define associated applications to open specific file types, and define applications used to open removable media.

Evidence: 2026-06-02/miasma-worm-backdoors-32-red-hat-cloud-services-npm-packages · ATT&CK page ↗

T1548.003Abuse Elevation Control Mechanism: Sudo and Sudo Caching×1

Adversaries may perform sudo caching and/or use the sudoers file to elevate privileges. Adversaries may do this to execute commands as other users or spawn processes with higher privileges.

Evidence: 2026-05-28/nx-console-tanstack-daemon-tools-supply-chain-cascade-lands · ATT&CK page ↗

Stealth TA0005

T1027Obfuscated Files or Information×3

Adversaries may attempt to make an executable or file difficult to discover or analyze by encrypting, encoding, or otherwise obfuscating its contents on the system or in transit. This is common behavior that can be used across different platforms and the network to evade defenses.

Evidence: 2026-10-29/testmetest-npm-worm-runs-on-import-ignore-scripts · 2026-05-15/datadog-security-labs-analyzes-leaked-teampcp-shai-hulud-off · 2026-05-13/mini-shai-hulud-s-github-actions-pwn-request-oidc-token-thef · ATT&CK page ↗

T1036Masquerading×1

Adversaries may attempt to manipulate features of their artifacts to make them appear legitimate or benign to users and/or security tools. Masquerading occurs when the name or location of an object, legitimate or malicious, is manipulated or abused for the sake of evading defenses and observation. This may include manipulating file metadata, tricking users into misidentifying the file type, and giving legitimate task or service names.

Evidence: 2026-05-13/mini-shai-hulud-s-github-actions-pwn-request-oidc-token-thef · ATT&CK page ↗

T1497.001Virtualization/Sandbox Evasion: System Checks×1

Adversaries may employ various system checks to detect and avoid virtualization and analysis environments. This may include changing behaviors based on the results of checks for the presence of artifacts indicative of a virtual machine environment (VME) or sandbox. If the adversary detects a VME, they may alter their malware to disengage from the victim or conceal the core functions of the implant. They may also search for VME artifacts before dropping secondary or additional payloads. Adversaries may use the information learned from Virtualization/Sandbox Evasion during automated discovery to shape follow-on behaviors.

Evidence: 2026-10-29/testmetest-npm-worm-runs-on-import-ignore-scripts · ATT&CK page ↗

Defense Impairment TA0112

T1553.002Subvert Trust Controls: Code Signing×1

Adversaries may create, acquire, or steal code signing materials to sign their malware or tools. Code signing provides a level of authenticity on a binary from the developer and a guarantee that the binary has not been tampered with. The certificates used during an operation may be created, acquired, or stolen by the adversary. Unlike Invalid Code Signature, this activity will result in a valid signature.

Evidence: 2026-05-28/nx-console-tanstack-daemon-tools-supply-chain-cascade-lands · ATT&CK page ↗

Credential Access TA0006

T1003.007OS Credential Dumping: Proc Filesystem×3

Adversaries may gather credentials from the proc filesystem or `/proc`. The proc filesystem is a pseudo-filesystem used as an interface to kernel data structures for Linux based systems managing virtual memory. For each process, the `/proc/<PID>/maps` file shows how memory is mapped within the process’s virtual address space. And `/proc/<PID>/mem`, exposed for debugging purposes, provides access to the process’s virtual address space.

Evidence: 2026-05-20/actions-cool-issues-helper-github-action-compromised-53-tags · 2026-05-15/datadog-security-labs-analyzes-leaked-teampcp-shai-hulud-off · 2026-05-13/mini-shai-hulud-s-github-actions-pwn-request-oidc-token-thef · ATT&CK page ↗

T1528Steal Application Access Token×2

Adversaries can steal application access tokens as a means of acquiring credentials to access remote systems and resources.

Evidence: 2026-05-15/datadog-security-labs-analyzes-leaked-teampcp-shai-hulud-off · 2026-05-13/mini-shai-hulud-s-github-actions-pwn-request-oidc-token-thef · ATT&CK page ↗

T1552.001Unsecured Credentials: Credentials In Files×4

Adversaries may search local file systems and remote file shares for files containing insecurely stored credentials. These can be files created by users to store their own credentials, shared credential stores for a group of individuals, configuration files containing passwords for a system or service, or source code/binary files containing embedded passwords.

Evidence: 2026-10-29/testmetest-npm-worm-runs-on-import-ignore-scripts · 2026-05-28/nx-console-tanstack-daemon-tools-supply-chain-cascade-lands · 2026-05-15/datadog-security-labs-analyzes-leaked-teampcp-shai-hulud-off · 2026-05-13/mini-shai-hulud-s-github-actions-pwn-request-oidc-token-thef · ATT&CK page ↗

T1552.004Unsecured Credentials: Private Keys×1

Adversaries may search for private key certificate files on compromised systems for insecurely stored credentials. Private cryptographic keys and certificates are used for authentication, encryption/decryption, and digital signatures. Common key and certificate file extensions include: .key, .pgp, .gpg, .ppk., .p12, .pem, .pfx, .cer, .p7b, .asc.

Evidence: 2026-05-28/nx-console-tanstack-daemon-tools-supply-chain-cascade-lands · ATT&CK page ↗

T1552.005Unsecured Credentials: Cloud Instance Metadata API×3
T1552.007Unsecured Credentials: Container API×1

Adversaries may gather credentials via APIs within a containers environment. APIs in these environments, such as the Docker API and Kubernetes APIs, allow a user to remotely manage their container resources and cluster components.

Evidence: 2026-05-15/datadog-security-labs-analyzes-leaked-teampcp-shai-hulud-off · ATT&CK page ↗

T1555Credentials from Password Stores×1

Adversaries may search for common password storage locations to obtain user credentials. Passwords are stored in several places on a system, depending on the operating system or application holding the credentials. There are also specific applications and services that store passwords to make them easier for users to manage and maintain, such as password managers and cloud secrets vaults. Once credentials are obtained, they can be used to perform lateral movement and access restricted information.

Evidence: 2026-06-02/miasma-worm-backdoors-32-red-hat-cloud-services-npm-packages · ATT&CK page ↗

T1555.005Credentials from Password Stores: Password Managers×1

Adversaries may acquire user credentials from third-party password managers. Password managers are applications designed to store user credentials, normally in an encrypted database. Credentials are typically accessible after a user provides a master password that unlocks the database. After the database is unlocked, these credentials may be copied to memory. These databases can be stored as files on disk.

Evidence: 2026-05-28/nx-console-tanstack-daemon-tools-supply-chain-cascade-lands · ATT&CK page ↗

T1555.006Credentials from Password Stores: Cloud Secrets Management Stores×1

Adversaries may acquire credentials from cloud-native secret management solutions such as AWS Secrets Manager, GCP Secret Manager, Azure Key Vault, and Terraform Vault.

Evidence: 2026-05-28/nx-console-tanstack-daemon-tools-supply-chain-cascade-lands · ATT&CK page ↗

Discovery TA0007

T1082System Information Discovery×1

An adversary may attempt to get detailed information about the operating system and hardware, including version, patches, hotfixes, service packs, and architecture. Adversaries may use this information to shape follow-on behaviors, including whether or not the adversary fully infects the target and/or attempts specific actions. This behavior is distinct from Local Storage Discovery which is an adversary's discovery of local drive, disks and/or volumes.

Evidence: 2026-06-01/two-concurrent-npm-dependency-confusion-campaigns-target-int · ATT&CK page ↗

T1083File and Directory Discovery×1

Adversaries may enumerate files and directories or may search in specific locations of a host or network share for certain information within a file system. Adversaries may use the information from File and Directory Discovery during automated discovery to shape follow-on behaviors, including whether or not the adversary fully infects the target and/or attempts specific actions.

Evidence: 2026-06-01/two-concurrent-npm-dependency-confusion-campaigns-target-int · ATT&CK page ↗

T1497.001Virtualization/Sandbox Evasion: System Checks×1

Adversaries may employ various system checks to detect and avoid virtualization and analysis environments. This may include changing behaviors based on the results of checks for the presence of artifacts indicative of a virtual machine environment (VME) or sandbox. If the adversary detects a VME, they may alter their malware to disengage from the victim or conceal the core functions of the implant. They may also search for VME artifacts before dropping secondary or additional payloads. Adversaries may use the information learned from Virtualization/Sandbox Evasion during automated discovery to shape follow-on behaviors.

Evidence: 2026-10-29/testmetest-npm-worm-runs-on-import-ignore-scripts · ATT&CK page ↗

T1614System Location Discovery×1

Adversaries may gather information in an attempt to calculate the geographical location of a victim host. Adversaries may use the information from System Location Discovery during automated discovery to shape follow-on behaviors, including whether or not the adversary fully infects the target and/or attempts specific actions.

Evidence: 2026-06-01/two-concurrent-npm-dependency-confusion-campaigns-target-int · ATT&CK page ↗

T1614.001System Location Discovery: System Language Discovery×1

Adversaries may attempt to gather information about the system language of a victim in order to infer the geographical location of that host. This information may be used to shape follow-on behaviors, including whether the adversary infects the target and/or attempts specific actions. This decision may be employed by malware developers and operators to reduce their risk of attracting the attention of specific law enforcement agencies or prosecution/scrutiny from other entities.

Evidence: 2026-05-15/datadog-security-labs-analyzes-leaked-teampcp-shai-hulud-off · ATT&CK page ↗

Lateral Movement TA0008

T1550.001Use Alternate Authentication Material: Application Access Token×3

Adversaries may use stolen application access tokens to bypass the typical authentication process and access restricted accounts, information, or services on remote systems. These tokens are typically stolen from users or services and used in lieu of login credentials.

Evidence: 2026-05-28/nx-console-tanstack-daemon-tools-supply-chain-cascade-lands · 2026-05-15/datadog-security-labs-analyzes-leaked-teampcp-shai-hulud-off · 2026-05-13/mini-shai-hulud-s-github-actions-pwn-request-oidc-token-thef · ATT&CK page ↗

Command and Control TA0011

T1102.001Web Service: Dead Drop Resolver×1

Adversaries may use an existing, legitimate external Web service to host information that points to additional command and control (C2) infrastructure. Adversaries may post content, known as a dead drop resolver, on Web services with embedded (and often obfuscated/encoded) domains or IP addresses. Once infected, victims will reach out to and be redirected by these resolvers.

Evidence: 2026-05-15/datadog-security-labs-analyzes-leaked-teampcp-shai-hulud-off · ATT&CK page ↗

T1105Ingress Tool Transfer×3

Adversaries may transfer tools or other files from an external system into a compromised environment. Tools or files may be copied from an external adversary-controlled system to the victim network through the command and control channel or through alternate protocols such as ftp. Once present, adversaries may also transfer/spread tools between victim devices within a compromised environment (i.e. Lateral Tool Transfer).

Evidence: 2026-05-28/nx-console-tanstack-daemon-tools-supply-chain-cascade-lands · 2026-05-20/actions-cool-issues-helper-github-action-compromised-53-tags · 2026-05-13/mini-shai-hulud-s-github-actions-pwn-request-oidc-token-thef · ATT&CK page ↗

Exfiltration TA0010

T1041Exfiltration Over C2 Channel×2

Adversaries may steal data by exfiltrating it over an existing command and control channel. Stolen data is encoded into the normal communications channel using the same protocol as command and control communications.

Evidence: 2026-05-20/actions-cool-issues-helper-github-action-compromised-53-tags · 2026-05-15/datadog-security-labs-analyzes-leaked-teampcp-shai-hulud-off · ATT&CK page ↗

T1048Exfiltration Over Alternative Protocol×1

Adversaries may steal data by exfiltrating it over a different protocol than that of the existing command and control channel. The data may also be sent to an alternate network location from the main command and control server.

Evidence: 2026-05-28/nx-console-tanstack-daemon-tools-supply-chain-cascade-lands · ATT&CK page ↗

T1567Exfiltration Over Web Service×2

Adversaries may use an existing, legitimate external Web service to exfiltrate data rather than their primary command and control channel. Popular Web services acting as an exfiltration mechanism may give a significant amount of cover due to the likelihood that hosts within a network are already communicating with them prior to compromise. Firewall rules may also already exist to permit traffic to these services.

Evidence: 2026-05-28/nx-console-tanstack-daemon-tools-supply-chain-cascade-lands · 2026-05-13/mini-shai-hulud-s-github-actions-pwn-request-oidc-token-thef · ATT&CK page ↗

T1567.001Exfiltration Over Web Service: Exfiltration to Code Repository×3

Adversaries may exfiltrate data to a code repository rather than over their primary command and control channel. Code repositories are often accessible via an API (ex: https://api.github.com). Access to these APIs are often over HTTPS, which gives the adversary an additional level of protection.

Evidence: 2026-10-29/testmetest-npm-worm-runs-on-import-ignore-scripts · 2026-05-15/datadog-security-labs-analyzes-leaked-teampcp-shai-hulud-off · 2026-05-13/mini-shai-hulud-s-github-actions-pwn-request-oidc-token-thef · ATT&CK page ↗

Impact TA0040

T1485Data Destruction×3

Adversaries may destroy data and files on specific systems or in large numbers on a network to interrupt availability to systems, services, and network resources. Data destruction is likely to render stored data irrecoverable by forensic techniques through overwriting files or data on local and remote drives. Common operating system file deletion commands such as <code>del</code> and <code>rm</code> often only remove pointers to files without wiping the contents of the files themselves, making the files recoverable by proper forensic methodology. This behavior is distinct from Disk Content Wipe and Disk Structure Wipe because individual files are destroyed rather than sections of a storage disk or the disk's logical structure.

Evidence: 2026-10-29/testmetest-npm-worm-runs-on-import-ignore-scripts · 2026-05-15/datadog-security-labs-analyzes-leaked-teampcp-shai-hulud-off · 2026-05-13/mini-shai-hulud-s-github-actions-pwn-request-oidc-token-thef · ATT&CK page ↗

Entries about Mini Shai-Hulud (9)

2026-10-29 · view entry permalink →

NOTABLENATOB2

testmetest: an npm worm in the Miasma and Shai-Hulud family now starts when an application imports the package, so install with --ignore-scripts no longer protects, and JFrog finds 42 third-party GitHub repositories already armed with its publisher

SafeDep counts 19 npm packages from the same operator between 2026-10-19 and 2026-10-27, eight of them published through four npm accounts, that carry a worm sharing code with the June Miasma worm and adding the token-revocation wiper of Mini Shai-Hulud; SafeDep has not confirmed the lineage, and JFrog says its evidence does not establish that the original Miasma operators are responsible (SafeDep, 2026-10-27; JFrog Security Research, 2026-10-26). The install trigger has changed twice: first a command expansion in a binding.gyp file, with no install script; then a postinstall script that loads a native addon which decodes and starts the worm; and, since SafeDep's update of 27 October, an addon that runs when an application imports the package, so a hardening step that disables install scripts does not stop it (SafeDep, 2026-10-27).

The payload exits on CIS locales and in known analysis sandboxes. It steals SSH keys, registry and Git credentials, .env files, browser logins, AI-tool, cloud, Vault and Kubernetes secrets and GitHub Actions secrets read from runner memory (SafeDep, 2026-10-27). It exfiltrates by committing encrypted data, with the victim's encrypted GitHub token, to a new public repository in the victim's own account, injects a GitLab CI job that requests npm and PyPI OIDC tokens, adds its loader to the victim's npm packages and publishes new patch versions, republishes to PyPI and RubyGems, commits a fake CodeQL workflow and AI-agent configuration files that infect the host again, and copies itself over SSH to the hosts in known_hosts (SafeDep, 2026-10-27). A persistence service checks the stolen GitHub token every 45 seconds for 48 hours and on an authentication failure deletes the home directory (SafeDep, 2026-10-27). JFrog found 42 armed third-party GitHub repositories of 11 legitimate owners with hooks for AI coding assistants and IDEs, and says the payload blobs were large enough to evade GitHub's search and API paths (JFrog Security Research, 2026-10-26).

Any application that imports the package starts the worm.

The malicious versions steal credentials, spread to other packages and repositories, and install a wiper that deletes the home directory when the victim revokes the stolen GitHub token.

SafeDep (living post, updated 2026-10-27) 2026-10-27

The payload blobs were large enough to evade the GitHub search and API paths normally used to find this kind of compromise.

JFrog Security Research 2026-10-26

SafeDep has not confirmed its exact lineage.

SafeDep (living post, updated 2026-10-27) 2026-10-27

Builds on: The compromised actions-cool GitHub Actions were re-enabled in September with malicious tags…

threat29 Oct 04:47Zmulti-sourceOpen finding →

2026-05-20 · view entry permalink →

HIGHupdatedNATOB2

actions-cool/issues-helper GitHub Action compromised in Mini Shai-Hulud: 53 tags moved to imposter commits that read Runner.Worker memory, re-enabled in September with the tags intact

StepSecurity disclosed on 2026-05-18 that every existing tag of the actions-cool/issues-helper GitHub Action, 53 in total, had been moved to its own imposter commit that is not reachable from the action's default branch, and that all 15 tags of the companion actions-cool/maintain-one-comment action were moved the same way (StepSecurity, 2026-05-18). The payload downloads the Bun JavaScript runtime to the runner, then a python3 child process reads the memory of the Runner.Worker process, which holds the workflow's decrypted secrets, filters the captured bytes for values flagged as secret and sends them over HTTPS to an attacker-controlled domain (StepSecurity, 2026-05-18). The 53 imposter commits carry fake "Build action for vX.Y.Z" messages in the maintainer's style and were all created within 3 minutes 16 seconds on 2026-05-18 (StepSecurity, 2026-05-18). Socket's head of threat intelligence told The Hacker News that the @antv npm compromise in the Mini Shai-Hulud campaign is likely linked to the actions-cool hack because the two share an exfiltration domain, and that "the overlap is strong enough that we're treating them as related" (The Hacker News, 2026-05-19). GitHub's security team disabled both repositories on 2026-05-19 but left the malicious tags in place; both became reachable again on 2026-09-16, so every workflow referencing either action by tag ran the payload again until GitHub disabled them a second time by 2026-09-25 (Socket, 2026-09-24). SafeDep found six more repositories infected through issues-helper between 2026-09-20 and 09-24, with the payload also committing Claude Code and VS Code hooks that run on a developer's machine when the project is opened (The Hacker News, 2026-09-25).

Triage: an issue-housekeeping action has no reason to install a separate JavaScript runtime or run a multi-minute script; a scheduled workflow that switches from failing in seconds to running for minutes without any change to its own code means the tagged action became downloadable again (Socket, 2026-09-24).

GitHub security team disabled both repositories on May 19, 2026, one day after the malicious content was introduced.

On September 16, 2026, both repositories became accessible again. Their release tags were not cleaned up first.

have been disabled on GitHub again, so workflows referencing them now fail at job setup instead of running the payload.

Socket 2026-09-24

The payload steals the CI secrets. Then it commits Claude Code and VS Code hooks into the repository.

The Hacker News (quoting SafeDep)
Correctionrun 2026-09-30T0639Z-auditbodyclassificationtechniquestitleheadlinesummaryevent_date

The Hacker News reports that GitHub disabled access to the companion maintain-one-comment repository, and Socket described the link to the Mini Shai-Hulud npm campaign as likely, based on the shared exfiltration domain, rather than confirmed; no cited source ties it to PyPI (The Hacker News, 2026-05-19). The Nx Console extension compromise named in the earlier summary is a separate incident, and no cited source says EU or Swiss organisations were affected.

Updaterun 2026-10-20T0835Z-auditactionsbodyevidenceheadlinesourcessummarytechniquestitle

Socket reported on 2026-09-24 that GitHub's security team had disabled both actions-cool/issues-helper and actions-cool/maintain-one-comment on 2026-05-19, not only maintain-one-comment, and that both became reachable again on 2026-09-16, between 09:09 and 16:16 UTC, with every release tag still pointing at the content introduced on 2026-05-18, so any workflow referencing either action by tag ran the payload again on its next run; Socket could not determine why they were re-enabled (Socket, 2026-09-24). Socket places the compromise in the May 2026 Mini Shai-Hulud campaign and notes that GitHub's dependency graph lists about 15,000 dependent repositories for issues-helper alone (Socket, 2026-09-24). SafeDep found six more repositories infected through issues-helper between 2026-09-20 and 09-24, and says the payload steals the CI secrets and then commits Claude Code and VS Code hooks into the repository, which run the malware on the machine of a developer who pulls the change and opens the project (The Hacker News, 2026-09-25). GitHub disabled both repositories again by 2026-09-25, so referencing workflows now fail at job setup (Socket, 2026-09-24; The Hacker News, 2026-09-25).

threat20 May 05:00Zmulti-sourceOpen finding →

2026-06-09 · view entry permalink →

HIGHupdated

TeamPCP open-sources its Mini Shai-Hulud framework, spawning a new "Phantom Gyp" derivative

UPDATE (originally covered 2026-06-06): A SANS ISC handler diary tracking the TeamPCP supply-chain campaign through 7 June reports the operators have open-sourced their Mini Shai-Hulud framework on GitHub, triggering a second wave of derivative campaigns (SANS ISC, 2026-06-08). Beyond the previously-covered Miasma worm, which compromised npm packages including Red Hat's @redhat-cloud-services scope (Wiz, 2026-06-01), the diary names a newly-tracked Phantom Gyp campaign that abuses node-gyp / binding.gyp install-time script execution in compromised npm packages; both inject malicious CI/CD hooks (SANS ISC, 2026-06-08).

The diary's load-bearing detection-engineering point: valid SLSA provenance attestations do not protect against supply-chain injection when the build environment itself is subverted from the inside. The recommended shift is from attestation-verification to build-pipeline integrity, monitor GitHub Actions runner process trees for unexpected outbound network from within a build, alert on actions/upload-artifact shipping signed-but-anomalous binaries, and cross-check published package checksums against CI logs via independent transparency ledgers (e.g. Sigstore Rekor). EU/Swiss public-sector teams running npm-based automation or Red Hat tooling should audit CI/CD pipeline definitions for unexpected workflow-step insertions.

Updaterun 2026-06-27-40e791d4entitiessourcestagsbody

The Miasma / Mini Shai-Hulud / Hades supply-chain worm (last seen backdooring @redhat-cloud-services packages and the TeamPCP "Phantom Gyp" framework) ran a fresh wave on 2026-06-24: 23+ malicious versions across the LeoPlatform and RStreams serverless-data-pipeline npm ecosystems (leo-sdk, leo-auth, leo-aws, leo-cli) after the czirker publisher account was compromised, plus a Go-module compromise of Verana Blockchain (Socket Security, 2026-06-25).

The wave reuses the previously documented binding.gyp/node-gyp install-time execution to stage a Bun runtime that harvests .env files, npm/GitHub/cloud tokens, SSH keys and IDE/AI-agent configs, scraping GitHub Actions CI secrets (JFrog, 2026-06-26), and again carries the RevokeAndItGoesKaboom campaign marker that Socket ties to the earlier codfish/semantic-release-action compromise (documented by StepSecurity), where the malicious action searched GitHub commit messages bearing that string as an operator dead-drop channel (Socket Security, 2026-06-25). Any CH/EU team consuming these packages in CI should rotate all exposed CI/cloud credentials since 2026-06-20 and alert on node-gyp evaluating JavaScript from binding.gyp.

threat09 Jun 05:00Zmulti-sourceOpen finding →

Earlier coverage (6)

2026-06-02HIGHupdated"Miasma" worm backdoors 32 Red Hat Cloud Services npm packages via OIDC trusted-publishing abuse"Miasma" supply-chain worm compromised 32 @redhat-cloud-services npm packages via a hijacked maintainer GitHub account and OIDC trusted-publishing abuse, adding new GCP and Azure cloud-identity collectors (Wiz, 2026-06-01).2026-06-01HIGHTwo concurrent npm dependency-confusion campaigns target internal corporate namespacesTwo concurrent npm dependency-confusion campaigns target internal corporate package namespaces, Microsoft (45 packages across nine organisational scopes) and Sonatype (176 packages) document recon/staging payloads that win npm's version race against private registries when .npmrc is not scope-locked (Microsoft, 2026-05-30 · Sonatype, 2026-05-28). Distinct from the Mini Shai-Hulud / TrapDoor activity covered last week.2026-05-28HIGHexploitedupdatedNATOB1Nx Console / TanStack / DAEMON Tools supply-chain cascade lands three CISA KEV entriesCISA added three supply-chain CVEs to KEV on 2026-05-27, the Nx Console / TanStack / DAEMON Tools cascade. The Nx Console v18.95.0 VS Code extension compromise (CVE-2026-48027) traces to the TanStack npm supply-chain compromise (CVE-2026-45321), whose payload exfiltrated a contributor's GitHub CLI OAuth token. GitHub's CISO named the extension as the vector for the theft of about 3,800 GitHub internal repositories, and Grafana Labs traced its own breach to the upstream TanStack compromise. Separately, CVE-2026-8398 covers a roughly four-week trojanisation of signed DAEMON Tools Lite builds 12.5.0.2421 to 12.5.0.2434 from the vendor's build environment.2026-05-15NOTABLEupdatedNATOB2Datadog analyses TeamPCP's open-sourced Shai-Hulud framework: credential and runner-memory theft, IDE and Claude Code hook persistence, OIDC npm publishing and a wipe-on-revocation daemonOn 2026-05-12 a GitHub repository signed "Love - TeamPCP" published what Datadog Security Labs assesses as the complete source of the Shai-Hulud offensive framework; GitHub removed it soon after, but not before it was forked. Datadog's static analysis of 2026-05-13 finds a TypeScript and Bun toolkit that harvests more than 100 credential file paths, cloud, Kubernetes and Vault secrets and GitHub Actions runner memory, poisons repositories with VS Code and Claude Code hooks and npm packages with stolen tokens or a workflow's OIDC token, exits on Russian-locale systems, and installs a daemon that deletes the home directory when a stolen GitHub token is revoked.2026-05-13NOTABLEexploitedupdatedNATOA1Mini Shai-Hulud hits TanStack: a pull_request_target Pwn Request, Actions cache poisoning and OIDC token theft from runner memory published 84 malicious @tanstack versions with valid provenanceOn 2026-05-11 between 19:20 and 19:26 UTC an attacker published 84 malicious versions of 42 @tanstack/* npm packages through TanStack's own release workflow by chaining a pull_request_target Pwn Request, GitHub Actions cache poisoning and extraction of the workflow's OIDC token from runner memory; no npm token was stolen (TanStack). The install-time payload steals cloud, GitHub, npm and SSH credentials, spreads to its victims' other packages and plants a service that wipes the home directory when the stolen token is revoked (StepSecurity, NCSC-CH). The compromise is CVE-2026-45321 (CVSS 9.6), in CISA's KEV catalog since 2026-05-27.2026-05-13NOTABLEupdatedNATOA2CVE-2026-34263 and CVE-2026-34260: SAP Commerce Cloud unauthenticated code injection and S/4HANA Enterprise Search SQL injection (May 2026 Patch Day)SAP's May 2026 Security Patch Day (2026-05-12) fixed CVE-2026-34263 (CVSS 9.6), an improper Spring Security configuration in SAP Commerce Cloud that lets an unauthenticated user inject input leading to server-side code execution, with user interaction required under SAP's vector, and CVE-2026-34260 (CVSS 9.6), an SQL injection in SAP S/4HANA's Enterprise Search for ABAP that lets an authenticated attacker read database data and affect availability, but not integrity. SAP mentions no exploitation.

Co-occurring entities

Derived: referenced by the same focused operational entries (weekly summaries and report roundups don't count); ×N counts the shared entries.

Where this entity is cited

  • Threats8
  • Vulns2
  • Deep dive2
  • Research1

Source distribution

  • thehackernews.com7 (12%)
  • socket.dev5 (8%)
  • euvd.enisa.europa.eu4 (7%)
  • github.com4 (7%)
  • stepsecurity.io3 (5%)
  • bleepingcomputer.com2 (3%)
  • blog.gitguardian.com2 (3%)
  • helpnetsecurity.com2 (3%)
  • other30 (51%)
All cited sources (59)