Skip to content

29 results for “StepSecurity”

What you seeeverything
stepsecurity.iowriteup🛡️ Security

OVHcloud CLI Compromised via GitHub Release Swap: Detonating the Real GlassWorm Loader and What We Found

Analysis of the 19 October 2026 swap of binaries on five ovh/ovhcloud-cli GitHub releases (v0.11.0 to v0.15.0), live 94 minutes. StepSecurity rebuilt the attacker's binary, detonated the recovered GlassWorm preinstall.js loader against a controlled Solana dead drop, and found install.sh never exposed arm64 Linux, Homebrew was safe, and `ovhcloud version` showing "undefined" identifies the swapped build. Includes IOCs and recovery steps.

OVHcloud CLIGitHubSolana+3
GlassWormForceMemoGHSA-862f-55f5-vmvw+8

Supply Chain, Malware & RE, Threat Intel· Published and added 24 Oct 2026

stepsecurity.iowriteup🛡️ Security

GhostAction Returns: Malicious “Security Audit” Workflows Now Mine Credentials from Entire Git Histories

StepSecurity details a new wave of the GhostAction campaign in which attackers used compromised maintainer accounts of Takashi Kitao (pyxel) and Henry Wu (athenadriver, Uber) to push malicious "Security Audit" GitHub Actions workflows to 345 repositories in minutes. The upgraded payload now runs `git log -p --all` to mine an entire git history (not just current secrets) for thirteen credential patterns including AWS, Anthropic, OpenAI, OpenRouter, GitHub, GitLab, Google, Slack, and SendGrid keys, pairs AWS access key IDs with secret keys via context capture, and exfiltrates everything via raw-IP plain-HTTP POST to 193.32.204.199, bypassing DNS-based defenses. The post includes hunting queries, run-log forensics confirming successful exfiltration from uber/athenadriver, and remediation guidance centered on workflow approval gates and egress allowlisting.

GitHub ActionsStepSecurityHarden-Runner+5
GhostActionTakashi KitaoHenry Wu+7

Supply Chain, DevSecOps, Threat Intel· Published and added 9 Oct 2026

stepsecurity.iowriteup🛡️ Security

Tensorlake npm Package Compromised: A Worm With a Hostage Token That Wipes Your Machine If You Revoke It

StepSecurity details how tensorlake@0.5.144 was pushed to npm after malicious commits landed directly on the tensorlakeai/tensorlake GitHub repo's main branch under a maintainer's identity, carrying a valid npm provenance attestation despite being malicious. The preinstall hook downloads Bun to run an obfuscated payload that steals GitHub/npm tokens, cloud and Vault/Kubernetes secrets, SSH keys, browser logins, and AI-tool configs (Claude, Cursor, Windsurf), then self-propagates by republishing stolen npm packages and committing persistence files (.claude/settings.json, .vscode/tasks.json) to reachable repos. A "hostage token" mechanism installs a gh-token-monitor service that runs a home-directory wipe if the stolen GitHub token is revoked before the monitor is removed, inverting the normal incident-response order.

npmGitHubBun+3
Shai-Huludgh-token-monitoriseekaigogo.com

Supply Chain, Threat Intel· Published and added 8 Oct 2026

stepsecurity.iowriteup🛡️ Security

Active Supply Chain Attack: Malicious node-ipc Versions Published to npm

StepSecurity's AI Package Analyst detected three malicious node-ipc versions (9.1.6, 9.2.3, 12.0.1) published simultaneously on May 14, 2026 by a rogue/compromised maintainer account, injecting an 80KB obfuscated IIFE into the CommonJS bundle that harvests 90+ credential file categories (AWS, Azure, GCP, SSH, Kubernetes, GitHub, Claude AI/Kiro configs, Terraform, etc.) and exfiltrates them via HTTPS and raw DNS TXT queries to a typosquatted Azure-mimicking C2 domain. The writeup includes a full stage-by-stage technical teardown (daemonization, SHA-256 targeting gate on 12.0.1, custom base-16 nibble-reversed obfuscation, dual-channel exfiltration) plus file hashes, network IOCs, and remediation guidance for developers and CI/CD pipelines.

node-ipcnpmNode.js+2
peacenotwarRIAEvangelistBrandon Nozaki Miller+2

Supply Chain, Threat Intel· Added 5 Oct 2026

stepsecurity.iowriteup🛡️ Security

SubQuery Ecosystem Compromise: Hidden Credential Theft and Backdoors

StepSecurity's investigation of @subql/common@5.8.3, a malicious npm release in the SubQuery Web3 indexing framework's monorepo, found a heavily obfuscated postinstall/import-time payload (base64+XOR+gzip inside a function constructed via Function()) that spawns a detached worker to steal credentials (.npmrc, .env, AWS, SSH, kubeconfig, Vault, cloud secrets), read GitHub Actions runner memory for CI secrets, inject a camouflaged "Run Copilot" GitHub Actions workflow to exfiltrate repo secrets, and provide a remote shell/PTY over an encrypted channel to ci-artifacts.dev. The release was published via a compromised build pipeline: a workflow modification swapped the real build output for an externally downloaded, unsigned tarball from that same C2 domain immediately before publish, and the authors provide IOCs and remediation steps (credential rotation, host isolation, domain blocking).

npmGitHub ActionsNode.js+3
SubQuery@subql/commonianhe8x+2

Supply Chain, DevSecOps, Blue Team & Detection· Published and added 5 Oct 2026

stepsecurity.iowriteup🛡️ Security

Sckit Supply Chain Worm Hits MemTensor npm & PyPi scopes

StepSecurity documents a supply-chain attack against @memtensor/memos-cloud-openclaw-plugin on npm (versions 0.1.21, 0.1.23, 0.1.25) and MemoryOS 2.0.34 on PyPI, which insert a hidden "sckit" launcher into normal plugin/import lifecycle code (no install scripts) to spawn a platform-specific Go binary that harvests the parent process's environment and the user's AI prompt text. The Go payloads contain regex patterns for AWS, GitHub, GitLab, npm, PyPI, Hugging Face, Vault, Slack, Stripe and SendGrid credentials, target the user's home directory as an inventory root, and beacon to skyleen.fr "front" domains; the PyPI variant additionally hides a conditional build-backend/CI bridge that can steal PYPI_API_TOKEN during publishing and pull a hash-pinned, Ed25519-signed secondary payload via GitHub Actions. The writeup includes full IOC/remediation guidance.

npmPyPIPython+3
sckitMemTensorskyleen.fr+2

Supply Chain, Malware & RE, AI Security· Published and added 23 Sep 2026

stepsecurity.iowriteup🛡️ Security

Megalodon: Mass GitHub Actions Secret Exfiltration Across 5,500+ Public Repositories - StepSecurity

StepSecurity documents Megalodon, a May 2026 campaign that injected backdoored GitHub Actions workflow files named SysDiag or Optimize-Build directly into 5,500+ public repositories in a six-hour window via direct Poisoned Pipeline Execution (d-PPE), exploiting weak branch protection. The base64-encoded bash payload harvests AWS/GCP/Azure credentials, SSH keys, Kubernetes/npm/Docker configs, GitHub OIDC tokens, and grep-matched secrets from the workspace, exfiltrating everything via HTTPS POST to a hardcoded C2 IP; the npm package @tiledesk/tiledesk-server was among the confirmed poisoned downstream targets.

GitHub ActionsnpmStepSecurity+3
MegalodonT1195.002Tiledesk+8

Supply Chain, DevSecOps, Threat Intel· Added 5 Sep 2026

jessehouwing.netwriteup🛡️ Security

A trust checklist for GitHub Actions

Presents a tiered trust checklist for evaluating third-party GitHub Actions before referencing them in a workflow, covering maintenance/tooling signals, unpinned transitive dependencies, release attestations, and governance, with weaker popularity-based signals separated into a second tier. It then argues that any point-in-time trust assessment only holds if the referenced commit is immutable, and compares raw SHA pinning against GitHub's immutable releases and the new gh-actions-lock CLI extension, which verifies commit reachability to defeat impostor-commit attacks. It closes by noting StepSecurity's GitHub Action Advisor automates some of the checklist's queryable signals using Harden-Runner telemetry.

GitHub ActionsStepSecurityHarden-Runner+2
impostor commitWorkflow Dependency Pinning

DevSecOps, Supply Chain· Added 21 Sep 2026, published 4 Sep 2026

stepsecurity.iowriteup🛡️ Security

@7nohe/openapi-react-query-codegen Compromised Through an Exposed npm Publishing Workflow

StepSecurity documents how an external GitHub user (p00paboot) hijacked the release workflow of @7nohe/openapi-react-query-codegen by exploiting an npm publish issue-comment trigger that lacked commenter authorization checks, allowing pull-request code to be checked out and published via GitHub Actions OIDC trusted publishing. Ten malicious versions were pushed with preinstall hooks and a poisoned binding.gyp that executed a payload downloading Bun, stealing GitHub/git credentials, probing GCP metadata, and enumerating SSH keys, confirmed via StepSecurity Harden-Runner behavioral analysis on isolated runners. The post lists affected versions, file/hash IOCs, and remediation steps including credential rotation and pinning to clean releases.

npmGitHub ActionsBun+3
StepSecurityHarden-Runner@7nohe/openapi-react-query-codegen+2

Supply Chain, DevSecOps· Added 3 Sep 2026, published 28 Aug 2026

stepsecurity.iowriteup🛡️ Security

Rust Supply-Chain Attack: arrayref, internment, and append-only-vec Poisoned by the proc-macro1 Build-Time Dropper

StepSecurity's forensic writeup on a compromised crates.io maintainer account that published poisoned releases of arrayref (245M downloads), internment, and append-only-vec, each pulling in proc-macro1, a typosquat of proc-macro2 impersonating David Tolnay whose build.rs silently drops and executes a cross-platform stage-2 payload at compile time. The attacker also mass-yanked clean arrayref versions to funnel Cargo's "yanked" warning toward the one poisoned release, and StepSecurity reproduced the attack in GitHub Actions with Harden-Runner, capturing the C2 callback to 23.254.165.112:9089 and demonstrating automatic blocking via a global IOC block list. The post includes the full attack timeline, dropper base64-obfuscated URL scheme, SHA-256 hashes, C2 IOCs, and remediation/detection guidance for lockfiles and CI caches.

RustCargocrates.io+3
arrayrefinternmentappend-only-vec+15

Supply Chain, DevSecOps· Added 3 Sep 2026, published 22 Aug 2026

stepsecurity.iowriteup🛡️ Security

Compromised npm Packages: @joyfill/components and @joyfill/layouts Ship an Obfuscated Remote Access Trojan

StepSecurity dissects malicious beta versions of @joyfill/components and @joyfill/layouts published to npm on July 28, 2026, which inject a five-stage obfuscated payload that executes on import rather than via a postinstall hook, so npm install --ignore-scripts does not stop it. The chain resolves its C2 server by reading a transaction on the Tron blockchain (with Aptos as fallback), decrypts a BNB Smart Chain transaction to find the next stage, and deploys a Socket.IO remote access trojan with worm-like self-propagation that patches the global npm CLI, VS Code/Cursor's @vscode/deviceid module, Discord desktop, and GitHub Desktop, plus a Python credential stealer targeting browser data, wallets, and Git/GitHub tokens. The writeup includes fully deobfuscated source code, IOCs (C2 IPs, Tron addresses, file hashes), and results from detonating the packages under Harden-Runner in a sandbox.

npmNode.jsPython+3
@joyfill/components@joyfill/layoutsTron+3

Supply Chain, Malware & RE· Added 3 Sep 2026, published 30 Jul 2026

stepsecurity.iowriteup🛡️ Security

Compromised PyPI Package: mrmustard 0.7.4 Steals SSH, Cloud, and Kubernetes Credentials

StepSecurity reconstructs how a malicious version of XanaduAI's mrmustard quantum-photonics library (0.7.4) reached PyPI: an attacker compromised a maintainer's GitHub account, used a throwaway workflow to exfiltrate the project's PyPI and Codecov tokens via webhook.site, then published a poisoned tarball directly (the malicious code never touched the git source tree). On import, the payload evades CI/container sandboxes, then steals SSH keys, AWS/Kubernetes credentials, and HPC/GPU environment data, XOR-obfuscates it, and beacons to metrics.femboy.energy before installing three persistence mechanisms (cron job, Python .pth hook, shell rc hook). The post includes full IOCs, detection guidance via Harden-Runner's Secret Exfiltration Attempt detection and Global Block Policy, and step-by-step recovery instructions.

PyPIPythonGitHub Actions+3
mrmustardXanaduAIHarden-Runner+5

Supply Chain, DevSecOps, Malware & RE· Added 3 Sep 2026, published 25 Jul 2026

stepsecurity.iowriteup🛡️ Security

SleeperGem: Compromised git_credential_manager, Dendreo, and fastlane RubyGems Drop a Persistent Backdoor

StepSecurity analyzes SleeperGem, a coordinated RubyGems supply chain attack that trojanized git_credential_manager, Dendreo, and a fastlane plugin between July 18-19, 2026. The malicious releases act as CI-evading loaders that, on developer machines, download a second-stage native daemon and deploy.sh from an attacker-controlled Forgejo host (git.disroot.org), install dual persistence via systemd and cron, and attempt privilege escalation to plant a setuid backdoor mimicking ping6. The post uses Harden-Runner audit-mode captures to document the full kill chain and provides IOCs and cleanup steps, crediting Aikido Security with the original discovery.

RubyGemsGitHub ActionsHarden-Runner+3
SleeperGemAikido Securitygit_credential_manager+3

Supply Chain, Malware & RE, Blue Team & Detection· Added 3 Sep 2026, published 19 Jul 2026

stepsecurity.iowriteup🛡️ Security

Coordinated AsyncAPI Supply Chain Attack: Miasma RAT Delivered via Compromised CI/CD Pipelines in Two Repositories

On July 14, 2026, attackers compromised push access to two AsyncAPI GitHub repositories (asyncapi/generator and asyncapi/spec-json-schemas) and pushed malicious commits under a placeholder git identity that triggered legitimate CI/CD release workflows (release-with-changesets.yml, if-nodejs-release.yml), publishing five malicious npm package versions (@asyncapi/generator, generator-helpers, generator-components, specs) carrying a runtime-triggered obfuscated dropper for the Miasma RAT, complete with valid OIDC/SLSA provenance attestations. StepSecurity detected the packages within 30 minutes, used Harden-Runner in an isolated GitHub Actions job to capture the malware's C2 traffic (HTTP plus IPFS/Nostr/BitTorrent DHT fallback channels), and pushed the IOCs to their Global Block List to block exfiltration across customer pipelines; all malicious versions have since been unpublished.

npmGitHub ActionsNode.js
AsyncAPIMiasma RATStepSecurity+6

Supply Chain, DevSecOps, Malware & RE· Added 3 Sep 2026, published 16 Jul 2026

stepsecurity.iowriteup🛡️ Security

jscrambler npm package publishes malicious preinstall binary

StepSecurity documents a supply-chain compromise of jscrambler, the official npm CLI for the Jscrambler Code Integrity API, starting with version 8.14.0. A malicious preinstall hook (later inlined into the main module to evade install-script scanners) drops a Rust-compiled, platform-specific native binary (ELF/PE32+/Mach-O) smuggled inside a fake dist/intro.js behind a custom magic header, containing an embedded SQLite/LevelDB parser and BIP39 wordlist consistent with a credential and crypto-wallet stealer. The Linux payload dynamically links libbpf and loads an in-memory eBPF program for kernel-level instrumentation, and all three platform binaries include anti-debugging checks; affected versions (8.14.0, 8.16.0, 8.17.0, 8.18.0, 8.20.0) were interleaved with clean releases, and C2 traffic was observed reaching Tor entry-node infrastructure and two raw IPs.

jscramblernpmRust+3
Phantom GypMiasmaStepSecurity+3

Supply Chain, Malware & RE· Added 3 Sep 2026, published 12 Jul 2026

stepsecurity.iowriteup🛡️ Security

10 Layers Deep: How StepSecurity Stops TeamPCP's Trivy Supply Chain Attack on GitHub Actions

StepSecurity walks through the TeamPCP-led compromise of aquasecurity/trivy-action (CVE-2026-33634, CVSS 9.4), where attackers force-pushed a credential-stealing payload into 76 of 77 version tags, plus the related Checkmarx KICS action compromise, both harvesting secrets from /proc/pid/mem of the GitHub Actions Runner.Worker process and exfiltrating to a typosquatted domain (scan.aquasecurtiy.org, 45.148.10.212). The post details the attack technique of 'imposter commits' (fork commits reachable by SHA but not on any branch) used to hide the malicious tags, and situates the incident alongside the same-window CanisterWorm npm worm and TeamPCP credential stealers in litellm and telnyx PyPI packages, then maps ten StepSecurity/Harden-Runner defense-in-depth controls (egress blocking, process lockdown, SHA-pinning PRs, imposter-commit scanning, global blocklist) to each stage of the kill chain.

GitHub ActionsTrivyCheckmarx+3
CVE-2026-33634TeamPCPCanisterWorm+4

Supply Chain, DevSecOps, Threat Intel· Added 3 Sep 2026, published 2 Jul 2026

stepsecurity.iowriteup🛡️ Security

15 Malicious JetBrains Plugins Stole AI API Keys from 70,000 Developers

StepSecurity details a coordinated supply chain attack in which 15 fake AI-powered JetBrains plugins (published across 7 vendor accounts from October 2025 to June 2026) exfiltrated developer AI provider API keys in plaintext to a hardcoded Alibaba Cloud C2 server at 39.107.60.51. The plugins genuinely worked (code review, test generation, DeepSeek/OpenAI chat) but their save() methods intercepted valid-looking sk- API keys, disabled TLS certificate validation warnings JVM-wide, and POSTed the keys over unencrypted HTTP; a "donation wall" also resold stolen keys back to other victims. JetBrains banned the accounts and kill-switched the plugins on June 17, 2026, but StepSecurity confirmed the C2 server was still live two days later, and provides code snippets, network IOCs, and remediation/rotation steps.

JetBrainsDeepSeekOpenAI

Supply Chain, Threat Intel· Added 3 Sep 2026, published 1 Jul 2026

stepsecurity.iowriteup🛡️ Security

Mass npm Supply Chain Attack: 20 Leo Platform Packages Compromised

StepSecurity documents a June 24, 2026 attack that published malicious versions of 20 Leo Platform npm packages (including leo-logger and leo-sdk) within a 3-second window, using the same "Phantom Gyp" binding.gyp install-hook technique, three-layer obfuscation chain, and Bun runtime evasion seen in the earlier Miasma campaign (57 packages, June 3, 2026). The payload steals GitHub Actions runner memory, cloud/registry/password-manager credentials, exfiltrates via GitHub dead-drop commits using the victim's own token, self-propagates by publishing to any package the victim can access via the npm bypass_2fa mechanism, and escalates privileges via passwordless sudo on runners. The post includes IOCs and maps defenses (Harden-Runner, Secure Registry cooldowns, PR-based compromised-package checks) to each stage of the attack.

npmGitHub Actionsnode-gyp+3
MiasmaPhantom GypLeo Platform+2

Supply Chain, DevSecOps, Threat Intel· Added 3 Sep 2026, published 1 Jul 2026

socket.devwriteup🛡️ Security

Socket: Miasma Mini Shai-Hulud Hits ImmobiliareLabs npm Packages

Socket Threat Research documents a new wave of the Miasma Mini Shai-Hulud npm supply-chain campaign compromising @immobiliarelabs Backstage plugins for GitLab integration and LDAP authentication, published on June 26, 2026. The malicious tarballs (e.g. @immobiliarelabs/backstage-plugin-gitlab@7.0.2) add a hidden root-level index.js triggered via the "Phantom Gyp" node-gyp binding.gyp trick, which decrypts an AES-128-GCM payload, bootstraps Bun, and steals npm/GitHub/cloud/SSH/CI-CD secrets while planting GitHub Actions and AI-IDE persistence. The report also traces a plausible root cause to the earlier compromise of codfish/semantic-release-action (tag-hijacking reported by StepSecurity) and highlights abuse of GitHub's deployment event trigger — a technique flagged by researcher Adnan Khan — to run attacker workflows without touching protected workflow files.

npmBackstageGitHub Actions+3
MiasmaMini Shai-HuludPhantom Gyp+7

Supply Chain, Threat Intel, DevSecOps· Published and added 27 Jun 2026

stepsecurity.iowriteup🛡️ Security

Mastra npm Supply Chain Attack: 140+ Packages Backdoored via easy-day-js Typosquat

StepSecurity documents the Mastra AI framework npm supply-chain attack: attacker sergey2016 published easy-day-js, a typosquat clone of dayjs, then added it as a dependency across 140+ @mastra packages after compromising the org's npm credentials. The malicious 1.11.22 version's postinstall hook ran an obfuscated dropper (setup.cjs) that disabled TLS verification, beaconed the install path, fetched a stage-2 payload from a hardcoded C2, spawned it detached, and self-deleted to erase forensic traces; StepSecurity's Harden Runner blocked the C2 callout in a controlled GitHub Actions test, preventing credential exfiltration of LLM/cloud API keys.

npmNode.jsGitHub Actions+2
Mastraeasy-day-jsMiasma+3

Supply Chain, DevSecOps, Threat Intel· Added 3 Sep 2026, published 18 Jun 2026

stepsecurity.iowriteup🛡️ Security

The Hades Campaign: Graph ML PyPI Packages Deploy Cross-Platform Memory Scrapers, AI Analyst Misdirection, and a Wiper Deterrent

StepSecurity reports on the "Hades Campaign," a set of malicious PyPI packages masquerading as graph machine-learning libraries that deploy cross-platform memory-scraping malware. The campaign reportedly includes techniques designed to mislead AI-based security analysts reviewing the code, plus a destructive wiper component used as a deterrent against analysis or takedown. Content was not directly fetched, so details are based on the title and StepSecurity's known focus on software supply chain threats.

PyPI
Hades Campaign

Supply Chain, Threat Intel, Malware & RE· Added 3 Sep 2026, published 9 Jun 2026

stepsecurity.iowriteup🛡️ Security

Miasma Worm Hits Microsoft Again: Azure Functions Action and 72 Other Repositories Disabled After Supply Chain Attack Targeting AI Coding Agents

StepSecurity's forensic analysis of the June 5, 2026 Miasma worm incident, in which a compromised contributor account pushed a malicious commit to Microsoft's Azure/durabletask repository planting five files (.claude/settings.json, .gemini/settings.json, .cursor/rules/setup.mdc, .vscode/tasks.json, and a 4.6MB obfuscated .github/setup.js payload) that trigger credential-harvesting code execution the moment the repo is opened in Claude Code, Gemini CLI, Cursor, or VS Code — no package install or code run required. GitHub's automated abuse detection disabled 73 Microsoft repositories in a 105-second sweep, including Azure/functions-action, breaking CI/CD pipelines across GitHub Actions users relying on the mutable @v1 tag. The post ties this to the same compromised account behind the May 19 durabletask PyPI credential-stealer campaign and the broader TeamPCP-linked Miasma worm, which has infected 113+ repositories.

Claude CodeGemini CLICursor+4
Miasma wormTeamPCPt.m-kosche.com+6

Supply Chain, AI Security, DevSecOps· Added 3 Sep 2026, published 9 Jun 2026

stepsecurity.iowriteup🛡️ Security

Microsoft's durabletask PyPI Package Compromised in Supply Chain Attack

StepSecurity documents the compromise of Microsoft's durabletask PyPI package (versions 1.4.1-1.4.3, 400k+ monthly downloads), where an attacker bypassed the GitHub CI/CD pipeline entirely using stolen publishing credentials to inject a dropper for rope.pyz, a modular cloud-intrusion framework with dedicated collectors for AWS, Azure, GCP, Kubernetes, HashiCorp Vault, password managers, and the filesystem. The framework encrypts stolen data with AES-256-GCM/RSA-4096, exfiltrates via HTTPS, GitHub commit beacons, and attacker-created public repos using the victim's own stolen GitHub tokens, propagates via AWS SSM and kubectl exec, and drops a geo-targeted rm -rf wiper for systems matching Israeli locale/timezone markers. The post ties the attack to TeamPCP's Mini Shai-Hulud campaign (same infrastructure as TanStack, Mistral AI, LiteLLM, @antv) and later updates describe a second compromise of the Azure/durabletask GitHub repo that plants payloads triggering in Claude Code, Gemini CLI, Cursor, and VS Code.

PythonPyPIHarden-Runner+3
CVE-2026-45321TeamPCPMini Shai-Hulud+4

Supply Chain, Threat Intel, Malware & RE· Added 3 Sep 2026, published 9 Jun 2026

stepsecurity.iowriteup🛡️ Security

Pythagora-io/gpt-pilot Compromised on GitHub - Shai-Hulud Credential Stealer Blocked by Python Linter

StepSecurity documents a June 2026 compromise of the Pythagora-io/gpt-pilot GitHub repo (33.7k stars), where an attacker took over a co-founder's account and force-pushed a Shai-Hulud-variant credential stealer disguised as a "Revert" commit. The malware, a 758KB obfuscated Bun/JavaScript payload delivered via a Python telemetry module, steals AWS/npm/GitHub/Kubernetes/Vault/SSH credentials, uses GitHub commit messages as a covert C2 channel, exfiltrates via newly created GitHub repos, can abuse Sigstore/Fulcio to forge SLSA Build Level 3 attestations, and plants persistence hooks in Claude Code and VS Code. Notably, the attacker's injected code was blocked twice by the project's ruff CI linter/formatter before they gave up, illustrating code-quality tooling as an accidental security control, alongside full IOCs and lessons on branch protection and force-push monitoring.

npmGitHub ActionsBun+3
TeamPCPUNC6780Shai-Hulud+4

Supply Chain, Malware & RE, Threat Intel· Added 3 Sep 2026, published 9 Jun 2026

snyk.iowriteup🛡️ Security

Node-gyp Supply Chain Compromise: A Self-Propagating npm Worm That Hides in binding.gyp

Snyk documents an active npm supply-chain attack ("Node-gyp Supply Chain Compromise - June 2026") that abuses binding.gyp's GYP command-expansion syntax (<!(...)) to trigger arbitrary code execution via node-gyp during npm install, bypassing detection tools that only monitor preinstall/postinstall scripts. The worm, tracked as "Phantom Gyp"/"Miasma" (a Shai-Hulud descendant) by StepSecurity, has hit 57 packages including autotel-* and @vapi-ai/server-sdk, harvests npm/GitHub/AWS/GCP/Azure/Vault/Kubernetes credentials via a multi-stage obfuscated Bun-based loader, injects GitHub Actions workflows for persistence, and self-propagates by republishing from compromised maintainer accounts.

npmnode-gypGitHub Actions+2
binding.gypPhantom GypMiasma+5

Supply Chain, Malware & RE, Threat Intel· Added 3 Sep 2026, published 4 Jun 2026

stepsecurity.iowriteup🛡️ Security

Multiple redhat-cloud-services npm Packages compromised

StepSecurity's analysis of a supply-chain compromise affecting multiple @redhat-cloud-services npm packages, where malicious versions were published to the npm registry. The writeup details which packages/versions were affected and the indicators of compromise, helping downstream consumers assess exposure.

npm
redhat-cloud-services

Supply Chain· Added 3 Sep 2026, published 2 Jun 2026

stepsecurity.iowriteup🛡️ Security

Nx Console VS Code Extension Compromised

StepSecurity's technical teardown of the May 2026 compromise of the Nx Console VS Code extension (nrwl.angular-console v18.95.0, 2.2M+ installs), where a stolen contributor GitHub token was used to push a dangling orphan commit to nrwl/nx and publish a malicious extension via stolen VSCE_PAT credentials. The payload silently ran `npx github:nrwl/nx#<sha>` to fetch a heavily obfuscated 498KB Bun/Node credential stealer that harvests secrets from GitHub, npm, AWS, Vault, Kubernetes, 1Password and Claude Code config, exfiltrates via HTTPS/GitHub API/DNS tunneling, installs a macOS Python backdoor using the GitHub Search API as a C2 dead-drop, and can forge valid Sigstore/SLSA provenance attestations for downstream npm packages. The writeup ties this to a later GitHub breach (3,800 repos, attributed to TeamPCP) and provides detection signals, IOCs, and full recovery steps.

VS CodenpmGitHub+3
TeamPCPNx ConsoleGHSA-c9j4-9m59-847w+1

Supply Chain, Malware & RE, Threat Intel· Added 3 Sep 2026, published 2 Jun 2026

stepsecurity.iowriteup🛡️ Security

Laravel-Lang Supply Chain Attack: Every Tag Across Multiple Composer Packages Rewritten to Steal CI Secrets

StepSecurity documents a supply-chain attack where a single actor compromised four Laravel-Lang Composer packages (laravel-lang/lang, http-statuses, actions, attributes) by rewriting every existing git tag to point at malicious commits that add src/helpers.php to Composer's eager autoload.files map. On any composer install/update or app boot, the payload fetches a stage-2 loader and an ELF binary from the C2 domain flipboxstudio.info, exfiltrates CI/runner secrets, then self-deletes and reparents to init to evade forensics. The team confirmed end-to-end exploitation by detonating laravel-lang/http-statuses v3.4.5 inside a Harden-Runner-monitored GitHub Actions runner, capturing the full process tree, network calls, and providing recovery/IOC guidance for affected users and maintainers.

ComposerPHPLaravel+3
Laravel-Langflipboxstudio.infoHarden-Runner

Supply Chain, DevSecOps· Added 3 Sep 2026, published 2 Jun 2026

stepsecurity.iowriteup🛡️ Security

StepSecurity + Endor Labs: Mini-Shai-Hulud Wave 2

StepSecurity and Endor Labs document a second wave of the Mini Shai-Hulud npm worm spreading through the compromised 'atool' account, which publishes timeago.js and maintains packages in Alibaba's @antv namespace, hitting echarts-for-react, jest-canvas-mock and dozens of other packages. The payload scrapes GitHub Actions Runner.Worker process memory to steal masked CI/CD secrets, harvests 130+ credential file paths (cloud, SSH, Kubernetes, Vault, crypto wallets, Claude Code/VS Code configs), exfiltrates via a GitHub API dead-drop in antvis/G2 or a fake-OpenTelemetry C2 at t.m-kosche.com, drops persistent backdoors in Claude Code/VS Code, and has already used stolen GitHub tokens to spin up 2,500+ dead-drop repositories. The writeup includes full process/network telemetry from Harden-Runner showing the attack blocked, deobfuscated payload internals, IOCs, and detection/remediation guidance.

npmGitHub ActionsBun+3
Mini Shai-HuludatoolAntV+5

Supply Chain, Threat Intel, Malware & RE· Published and added 19 May 2026