Skip to main content
Sign in

Audit log

Every state-changing event for ChainDrop / Shai-Hulud npm Worm August 2026 — Crypto Credential Harvester: moderation decisions on community submissions, plus corrections and updates from the news pipeline. URL-based decisions are designed to carry three independent witnesses — the original source, an Internet Archive snapshot, and a Solana memo signed by our publicly-disclosed publisher key. Archive coverage is still being backfilled, so each decision below reports its own snapshot status rather than assuming one exists.

  1. #1publishby system:backfill
    2026-08-07 12:11:26Z
    Score: ?? (no score change)
    anchorpending
    chain
    hash
    J2HERHXb5hfo…DLCpcEtKsha256 → base58
    verifying row…
    canonical bytes (32192 B) ▸
    {"actor":"system:backfill","investigation_id":"1bdf6812-5d0c-4de6-a57f-980e0fe05984","kind":"publish","page_slug":"chaindrop-shai-hulud-npm-worm-august-2026-crypto-credential-harvester","published_at":"2026-08-07T12:11:26.740Z","sequence_num":1,"snapshot":{"content_type":"investigation","entity_name":"ChainDrop / Shai-Hulud npm Worm August 2026 — Crypto Credential Harvester","sections":[{"content":"ChainDrop is the name assigned by security researchers to a self-propagating npm supply-chain worm first detected on August 4, 2026. It is considered part of the broader Shai-Hulud worm family, a lineage of npm supply-chain attack tooling that has staged multiple waves since late 2025. The Shai-Hulud toolkit source code was allegedly published openly by a threat actor cluster identified as TeamPCP in May 2026; whether ChainDrop was operated by TeamPCP or by a separate actor reusing the released toolkit is disputed across published research. The attack is categorized by researchers as a credential-harvesting campaign primarily targeting software developers and CI/CD environments, with secondary exposure to cryptocurrency wallets stored on affected developer machines.","heading":"Overview and Classification","severity":"critical","sources":[{"credibility":2,"name":"Shai-Hulud strikes again: CHAINDROP worm hits 400+ npm packages — Elastic Security Labs","type":"research","url":"https://www.elastic.co/security-labs/shai-hulud-chaindrop-npm-supply-chain"},{"credibility":1,"name":"ChainDrop supply chain compromise: Anatomy of a self-propagating worm — Microsoft Security Blog","type":"research","url":"https://www.microsoft.com/en-us/security/blog/2026/08/04/chaindrop-supply-chain-compromise-anatomy-self-propagating-worm/"},{"credibility":2,"name":"ChainDrop: Inside a Self-Propagating npm Worm — Palo Alto Networks Unit 42","type":"research","url":"https://unit42.paloaltonetworks.com/chaindrop-npm-worm-analysis/"},{"credibility":2,"name":"Shai-Hulud Returns: When Software Trust Becomes the Attack Surface — Sygnia","type":"research","url":"https://www.sygnia.co/threat-reports-and-advisories/shai-hulud-returns-software-supply-chain-attack-npm-keyv/"}]},{"content":"The campaign began with the alleged compromise of the GitHub account belonging to Jared Wray, the maintainer of the widely used keyv key-value storage library (over 150 million weekly downloads). Attackers pushed malicious commits directly to the keyv main branch and to related repositories including cacheable, flat-cache, file-entry-cache, cacheable-request, and cache-manager. The maintainer's own GitHub Actions release pipelines were triggered by these commits, which automatically built and published poisoned versions to the npm registry bearing valid SLSA provenance attestations and digital signatures. The first malicious release, keyv@6.0.0, appeared at 09:35:00 UTC on August 4, 2026. Because the infected packages carried legitimate provenance metadata, automated supply-chain integrity checks did not block the initial spread.","heading":"Initial Compromise Vector","severity":"critical","sources":[{"credibility":2,"name":"ChainDrop npm Worm: Bun-loaded CI/CD credential harvester with Ethereum dead-drop C2 — StepSecurity","type":"research","url":"https://www.stepsecurity.io/blog/chaindrop-npm-worm"},{"credibility":2,"name":"ChainDrop: Inside a Self-Propagating npm Worm — Palo Alto Networks Unit 42","type":"research","url":"https://unit42.paloaltonetworks.com/chaindrop-npm-worm-analysis/"},{"credibility":2,"name":"It's not npm-ver yet: NPM worm Chaindrop hits 400+ packages — Semgrep","type":"research","url":"https://semgrep.dev/blog/2026/its-not-npm-ver-yet-npm-worm-chaindrop-hits-400-packages-including-jaredwray-servicetitan-ornikar-qlik-and-nebulajs/"}]},{"content":"The worm's self-propagating behavior is enabled by a two-phase payload injected into npm packages via a preinstall lifecycle hook. Phase one installs an obfuscated loader file (observed under the filenames setup.mjs or math_init.js). Rather than shipping a standalone binary, the loader downloads the official Bun JavaScript runtime (v1.3.13) directly from the legitimate oven-sh/bun GitHub releases endpoint, producing network traffic that appears to originate from github.com and therefore evades many network-level detections. Phase two, the stage-2 harvester (Math_Symbol.js), is then executed via Bun. As part of credential collection, the worm harvests npm authentication tokens from compromised developer machines and uses those tokens to republish itself — with identical preinstall hook injection — into every other npm package the victim maintainer has write access to. This auto-replication spread the worm to 444 packages and 2,212 versions across more than a dozen victim organizations within four hours, without further attacker interaction. Affected organizations named in research include Deliveroo, Ornikar, OneReach, Picsart, Qlik, ServiceTitan, and the OpenSearch project.","heading":"Propagation Mechanism","severity":"critical","sources":[{"credibility":2,"name":"ChainDrop npm Worm: Bun-loaded CI/CD credential harvester with Ethereum dead-drop C2 — StepSecurity","type":"research","url":"https://www.stepsecurity.io/blog/chaindrop-npm-worm"},{"credibility":2,"name":"ChainDrop: The Mini Shai Hulud npm worm's latest wave hits keyv and cacheable — Expel","type":"research","url":"https://expel.com/blog/chaindrop-the-mini-shai-hulud-npm-worms-latest-wave-hits-keyv-and-cacheable/"},{"credibility":2,"name":"ChainDrop Worm Hits 400 npm Packages with Two Billion Monthly Installs — Infosecurity Magazine","type":"news_article","url":"https://www.infosecurity-magazine.com/news/chaindrop-worm-400-npm-two-billion/"}]},{"content":"The stage-2 harvester is the payload of primary concern to cryptocurrency developers and holders. It scans more than 300 distinct credential patterns across a victim machine's filesystem. Categories of data collected include: cloud provider IAM credentials and temporary tokens from AWS, GCP, Azure, and Alibaba Cloud; npm and GitHub tokens (PATs, JWTs, session tokens); SSH private keys; Kubernetes service-account tokens and kubeconfigs; HashiCorp Vault tokens; Stripe and Slack tokens; Docker and Helm configurations; PyPI and RubyGems credentials; GitHub Actions runner secrets extracted from process memory via the IMDS endpoints (169.254.169.254 and 169.254.170.2); and AI coding tool authentication artifacts targeting configurations for Anthropic Claude Code, VS Code, Cursor, OpenAI Codex, and Gemini. With respect to cryptocurrency-specific targets, Unit 42 research confirmed the harvester scans for wallet.dat files associated with Bitcoin, Dash, Dogecoin, Litecoin, and Zcash core clients, as well as Electrum wallet files. The harvester additionally sweeps .env files and shell histories, which frequently contain hardcoded private keys and seed phrases in developer project directories. All collected data is encrypted prior to exfiltration. The malware also plants persistence hooks in .claude/settings.json and .vscode/tasks.json, which can cause re-execution when an AI coding assistant opens a project folder.","heading":"Credential Harvesting and Cryptocurrency Targeting","severity":"critical","sources":[{"credibility":2,"name":"ChainDrop: Inside a Self-Propagating npm Worm — Palo Alto Networks Unit 42","type":"research","url":"https://unit42.paloaltonetworks.com/chaindrop-npm-worm-analysis/"},{"credibility":2,"name":"Shai-Hulud strikes again: CHAINDROP worm hits 400+ npm packages — Elastic Security Labs","type":"research","url":"https://www.elastic.co/security-labs/shai-hulud-chaindrop-npm-supply-chain"},{"credibility":3,"name":"ChainDrop: the npm worm that steals your AI assistant's credentials — Zero Hunt","type":"research","url":"https://zerohunt.ai/blog/chaindrop-npm-worm-claude-code-hooks/"},{"credibility":3,"name":"keyv npm Supply Chain Attack Hides Malware in AI Agent Files Scanners Never Read — TechTimes","type":"news_article","url":"https://www.techtimes.com/articles/323089/20260805/keyv-npm-supply-chain-attack-hides-malware-ai-agent-files-scanners-never-read.htm"}]},{"content":"ChainDrop's most technically novel aspect is its use of an Ethereum smart contract for command-and-control (C2) resolution, a technique referred to in research as EtherHiding. Rather than hardcoding an exfiltration domain, the stage-2 payload queries the Ethereum smart contract at address 0xE1f2395ee43e45A1556EC6438a88c31B83493103 at runtime to retrieve the current active exfiltration endpoint. On August 4, 2026, attackers rotated the entire C2 infrastructure through a single Ethereum transaction (hash 0xc55920f1...) without modifying the deployed malware itself, demonstrating that blockchain-anchored C2 makes infrastructure takedown significantly harder for defenders. The operator wallet address associated with the contract is 0x55f9780e...f31cD. Active C2 domains identified by researchers include npm-cache[.]com and awqhnjewqjkl[.]icu. The worm implements two fallback C2 resolution mechanisms: first, it searches GitHub commit history for a cryptographically signed marker string (thebeautifulmarchoftime) and accepts a C2 domain only after validating it against an embedded RSA public key; second, if the first two paths fail, it exfiltrates collected data to a public GitHub repository created using the compromised victim's own account, with the repository description set to 'Shai-Hulud: Here We Go Again.' Additionally, a persistence commit marker string 'IfYouBlockThisAPIKeyItWillCrashTheLiveProductionServersOfAllThirdPartyClients' was found in some injected commits.","heading":"Blockchain-Based Command and Control Infrastructure","severity":"critical","sources":[{"credibility":2,"name":"ChainDrop: Inside a Self-Propagating npm Worm — Palo Alto Networks Unit 42","type":"research","url":"https://unit42.paloaltonetworks.com/chaindrop-npm-worm-analysis/"},{"credibility":2,"name":"Shai-Hulud strikes again: CHAINDROP worm hits 400+ npm packages — Elastic Security Labs","type":"research","url":"https://www.elastic.co/security-labs/shai-hulud-chaindrop-npm-supply-chain"},{"credibility":2,"name":"keyv and cacheable npm Package Hijacked in Supply Chain Attack — Wiz Blog","type":"research","url":"https://www.wiz.io/blog/keyv-and-cacheable-npm-supply-chain-attack"},{"credibility":2,"name":"'Shai-Hulud: Here We Go Again': Thousands of npm packages compromised in ChainDrop campaign — IT Pro","type":"news_article","url":"https://www.itpro.com/security/malware/shai-hulud-here-we-go-again-thousands-of-npm-packages-compromised-in-chaindrop-malware-campaign-where-hackers-taunt-victims"}]},{"content":"By researcher consensus, ChainDrop compromised between 444 and 452 public npm packages across 2,212 or more individual versions, with the highest estimates from later analysis reaching more than 1,300 packages. The combined monthly download count across affected packages has been reported at approximately two billion. Packages with the highest individual download exposure include keyv (over 600 million downloads per month at time of attack), flat-cache (approximately 565 million), file-entry-cache (approximately 557 million), cacheable-request (approximately 137 million), and cache-manager. Organizations whose npm namespaces were compromised in the secondary propagation wave include Deliveroo, Ornikar, OneReach, Picsart, Qlik (including the Nebula.js visualization library), and ServiceTitan, whose @servicetitan namespace alone contained approximately 300 affected packages. The OpenSearch project was also targeted through GitHub Actions OIDC token abuse. Palo Alto Networks Unit 42 reported traffic to C2 infrastructure observed from environments on four continents after the August 4 domain rotation.","heading":"Scale and Affected Parties","severity":"critical","sources":[{"credibility":2,"name":"ChainDrop Worm Hits 400 npm Packages with Two Billion Monthly Installs — Infosecurity Magazine","type":"news_article","url":"https://www.infosecurity-magazine.com/news/chaindrop-worm-400-npm-two-billion/"},{"credibility":2,"name":"New ChainDrop worm poisons over 1,300 npm packages — TechRadar","type":"news_article","url":"https://www.techradar.com/pro/security/new-chaindrop-worm-poisons-over-1-300-npm-packages-keyv-and-cacheable-among-those-hit"},{"credibility":2,"name":"A Massive Shai-Hulud Campaign Hits npm: +440 Packages Compromised — OX Security","type":"research","url":"https://www.ox.security/blog/a-new-infostealer-worm-hits-npm-affecting-keyv-and-cacheable/"},{"credibility":2,"name":"It's not npm-ver yet: NPM worm Chaindrop hits 400+ packages — Semgrep","type":"research","url":"https://semgrep.dev/blog/2026/its-not-npm-ver-yet-npm-worm-chaindrop-hits-400-packages-including-jaredwray-servicetitan-ornikar-qlik-and-nebulajs/"}]},{"content":"ChainDrop is the largest documented wave of the Shai-Hulud worm family. Earlier waves documented by researchers include: an initial Shai-Hulud campaign tracked by Microsoft Security Research in late 2025; a significant resurgence designated Mini Shai-Hulud identified in May 2026, which compromised more than 170 npm packages and two PyPI packages across 404 malicious versions; a copycat variant reported by The Register in May 2026 infecting at least one additional npm package; and a wave reported by The Register in June 2026 affecting Red Hat npm packages downloaded approximately 80,000 times per week. The toolkit's source code was allegedly open-sourced by the group TeamPCP in May 2026, which security researchers assess substantially lowered the barrier for subsequent actors to deploy similar campaigns. Attribution of any specific wave, including ChainDrop, to TeamPCP or any identified nation-state actor has not been confirmed by any Tier 1 source as of the date of this investigation.","heading":"Shai-Hulud Worm Family History","severity":"high","sources":[{"credibility":1,"name":"Shai-Hulud 2.0: Guidance for detecting, investigating, and defending — Microsoft Security Blog (December 2025)","type":"research","url":"https://www.microsoft.com/en-us/security/blog/2025/12/09/shai-hulud-2-0-guidance-for-detecting-investigating-and-defending-against-the-supply-chain-attack/"},{"credibility":2,"name":"Mini Shai-Hulud Strikes Again: 317 npm Packages Compromised — SafeDep","type":"research","url":"https://safedep.io/mini-shai-hulud-strikes-again-314-npm-packages-compromised/"},{"credibility":2,"name":"Shai-Hulud copycat worm infects yet another npm package — The Register","type":"news_article","url":"https://www.theregister.com/cyber-crime/2026/05/18/shai-hulud-copycat-hits-another-npm-package/5242180"},{"credibility":2,"name":"Shai-Hulud malware worms Red Hat npm package — The Register","type":"news_article","url":"https://www.theregister.com/security/2026/06/01/shai-hulud-malware-infects-red-hat-npm-packages-downloaded-80k-times-weekly/5249803"},{"credibility":2,"name":"Shai-Hulud npm supply chain attack: What you need to know — ReversingLabs","type":"research","url":"https://www.reversinglabs.com/blog/shai-hulud-worm-npm"}]},{"content":"Researchers have published the following indicators of compromise. Injected loader files appear under the names setup.mjs or math_init.js and are wired into a package's preinstall lifecycle hook. File size fingerprints for the two known loader variants are 757,598 bytes (Loader A, SHA-256: 54dc7ea54a1317cca0e890a2770630cf7fa6c97813e0cb9d2caa93012b350668) and 738,697 bytes (Loader B, SHA-256: fd3ca4007b225fdf8de7af4345a19179d5efa8c4bb9205f88cda806e5684b1eb). The stage-2 harvester binary carries SHA-256 hash 9fc2570b7cef51c1b8df116d144d11ff4096357be7d2c4c6367cfc2509cf1bcc. Network indicators include Bun runtime download requests to github.com (oven-sh/bun), creation of temporary directories prefixed bun-dl-, and DNS or HTTP requests to the C2 domains npm-cache[.]com and awqhnjewqjkl[.]icu. Persistence indicators include modification of .claude/settings.json and .vscode/tasks.json to execute stage-2 code on folder open. Malicious npm releases can be identified by the absence of npmVersion and nodeVersion metadata fields. GitHub commits from the address claude@users.noreply.github.com in repositories not owned by Anthropic should be treated as suspect. Monitoring the Ethereum contract at 0xE1f2395ee43e45A1556EC6438a88c31B83493103 for new transactions will surface future C2 domain rotations.","heading":"Indicators of Compromise","severity":"high","sources":[{"credibility":2,"name":"ChainDrop: Inside a Self-Propagating npm Worm — Palo Alto Networks Unit 42","type":"research","url":"https://unit42.paloaltonetworks.com/chaindrop-npm-worm-analysis/"},{"credibility":2,"name":"It's not npm-ver yet: NPM worm Chaindrop hits 400+ packages — Semgrep","type":"research","url":"https://semgrep.dev/blog/2026/its-not-npm-ver-yet-npm-worm-chaindrop-hits-400-packages-including-jaredwray-servicetitan-ornikar-qlik-and-nebulajs/"},{"credibility":2,"name":"ChainDrop npm Worm Compromises Packages via Preinstall Credential Harvester — Mallory","type":"research","url":"https://mallory.ai/stories/019fcc7f-9d0e-744a-8393-d8c22cca90e4"}]},{"content":"npm began unpublishing affected versions and reverting compromised packages starting approximately 10:39 UTC on August 4, 2026, less than two hours after the first malicious release. The keyv maintainer republished version 6.0.0 with clean code using npm Trusted Publishers and SLSA provenance protections. The Cyber Security Agency of Singapore (CSA) issued advisory AD-2026-009 covering the attack. CISA flagged the campaign in its regular security briefings. Multiple security vendors published remediation guidance. Recommended remediation steps published across sources include: identifying and removing all affected package versions from all environments; revoking and rotating npm tokens, GitHub PATs, AWS/cloud IAM credentials, SSH keys, and Kubernetes service-account tokens on any machine that installed affected versions; auditing git repositories for unauthorized commits, particularly from the email address claude@users.noreply.github.com; searching filesystems for the loader filenames setup.mjs and math_init.js, and for persistence modifications in .vscode/tasks.json and .claude/settings.json; purging lockfiles and package manager caches; blocking C2 domains at the DNS or TLS-SNI layer; upgrading to npm version 12 or later, which blocks preinstall hooks; enabling two-factor authentication universally on npm and GitHub accounts; and implementing soak periods or dependency allowlisting before adopting package version updates. For cryptocurrency-specific exposure, any machine that installed a compromised package version should be assumed to have had wallet.dat files, Electrum wallet files, .env files, and shell histories containing private key material exfiltrated.","heading":"Response and Remediation","severity":"high","sources":[{"credibility":1,"name":"Ongoing npm Supply Chain Attack Affecting Keyv (Shai-Hulud Worm) — Cyber Security Agency of Singapore Advisory AD-2026-009","type":"regulatory","url":"https://www.csa.gov.sg/alerts-and-advisories/advisories/ad-2026-009/"},{"credibility":2,"name":"ChainDrop npm Worm: Bun-loaded CI/CD credential harvester with Ethereum dead-drop C2 — StepSecurity","type":"research","url":"https://www.stepsecurity.io/blog/chaindrop-npm-worm"},{"credibility":3,"name":"Security Check-in: CISA Flags ChainDrop npm Worm — Rod Trent Substack","type":"news_article","url":"https://rodtrent.substack.com/p/security-check-in-quick-hits-cisa"},{"credibility":2,"name":"ChainDrop: The Keyv and Cacheable npm Supply Chain Attack — Integrity360","type":"research","url":"https://insights.integrity360.com/threat-advisories/chaindrop-the-keyv-and-cacheable-npm-supply-chain-attack"}]},{"content":"Attribution of ChainDrop to a specific threat actor remains contested. The worm shares code and operational characteristics with the Shai-Hulud toolchain first documented in 2025. In May 2026, a group identifying itself as TeamPCP claimed to have open-sourced the Shai-Hulud worm, explicitly inviting other threat actors to adopt and modify the code. Researchers at Palo Alto Networks Unit 42 note they cannot confirm whether ChainDrop was operated by TeamPCP itself or by a separate actor reusing the publicly released toolkit. No nation-state attribution has been made by any Tier 1 source. The use of Dune-themed references in payload strings (including the exfiltration repository description 'Shai-Hulud: Here We Go Again' and the fallback marker thebeautifulmarchoftime) is consistent across Shai-Hulud family campaigns but does not narrow attribution. No law enforcement action or indictment related to ChainDrop or the broader Shai-Hulud family had been publicly announced as of the date of this investigation.","heading":"Attribution","severity":"medium","sources":[{"credibility":2,"name":"ChainDrop: Inside a Self-Propagating npm Worm — Palo Alto Networks Unit 42","type":"research","url":"https://unit42.paloaltonetworks.com/chaindrop-npm-worm-analysis/"},{"credibility":2,"name":"'Shai-Hulud: Here We Go Again': Thousands of npm packages compromised — IT Pro","type":"news_article","url":"https://www.itpro.com/security/malware/shai-hulud-here-we-go-again-thousands-of-npm-packages-compromised-in-chaindrop-malware-campaign-where-hackers-taunt-victims"},{"credibility":2,"name":"Shai-Hulud npm supply chain attack: What you need to know — ReversingLabs","type":"research","url":"https://www.reversinglabs.com/blog/shai-hulud-worm-npm"}]}],"sources_used":[{"credibility":2,"name":"Shai-Hulud strikes again: CHAINDROP worm hits 400+ npm packages — Elastic Security Labs","type":"research","url":"https://www.elastic.co/security-labs/shai-hulud-chaindrop-npm-supply-chain"},{"credibility":1,"name":"ChainDrop supply chain compromise: Anatomy of a self-propagating worm — Microsoft Security Blog","type":"research","url":"https://www.microsoft.com/en-us/security/blog/2026/08/04/chaindrop-supply-chain-compromise-anatomy-self-propagating-worm/"},{"credibility":2,"name":"ChainDrop: Inside a Self-Propagating npm Worm — Palo Alto Networks Unit 42","type":"research","url":"https://unit42.paloaltonetworks.com/chaindrop-npm-worm-analysis/"},{"credibility":2,"name":"ChainDrop npm Worm: Bun-loaded CI/CD credential harvester with Ethereum dead-drop C2 — StepSecurity","type":"research","url":"https://www.stepsecurity.io/blog/chaindrop-npm-worm"},{"credibility":2,"name":"ChainDrop: The Mini Shai Hulud npm worm's latest wave hits keyv and cacheable — Expel","type":"research","url":"https://expel.com/blog/chaindrop-the-mini-shai-hulud-npm-worms-latest-wave-hits-keyv-and-cacheable/"},{"credibility":2,"name":"ChainDrop Worm Hits 400 npm Packages with Two Billion Monthly Installs — Infosecurity Magazine","type":"news_article","url":"https://www.infosecurity-magazine.com/news/chaindrop-worm-400-npm-two-billion/"},{"credibility":2,"name":"ChainDrop credential stealing worm infects over 400 npm packages — CSO Online","type":"news_article","url":"https://www.csoonline.com/article/4205276/chaindrop-credential-stealing-worm-infects-over-400-npm-packages.html"},{"credibility":2,"name":"New ChainDrop worm poisons over 1,300 npm packages — TechRadar","type":"news_article","url":"https://www.techradar.com/pro/security/new-chaindrop-worm-poisons-over-1-300-npm-packages-keyv-and-cacheable-among-those-hit"},{"credibility":2,"name":"Shai-Hulud Returns: When Software Trust Becomes the Attack Surface — Sygnia","type":"research","url":"https://www.sygnia.co/threat-reports-and-advisories/shai-hulud-returns-software-supply-chain-attack-npm-keyv/"},{"credibility":2,"name":"keyv and cacheable npm Package Hijacked in Supply Chain Attack — Wiz Blog","type":"research","url":"https://www.wiz.io/blog/keyv-and-cacheable-npm-supply-chain-attack"},{"credibility":2,"name":"It's not npm-ver yet: NPM worm Chaindrop hits 400+ packages — Semgrep","type":"research","url":"https://semgrep.dev/blog/2026/its-not-npm-ver-yet-npm-worm-chaindrop-hits-400-packages-including-jaredwray-servicetitan-ornikar-qlik-and-nebulajs/"},{"credibility":2,"name":"A Massive Shai-Hulud Campaign Hits npm: +440 Packages Compromised — OX Security","type":"research","url":"https://www.ox.security/blog/a-new-infostealer-worm-hits-npm-affecting-keyv-and-cacheable/"},{"credibility":2,"name":"'Shai-Hulud: Here We Go Again': Thousands of npm packages compromised — IT Pro","type":"news_article","url":"https://www.itpro.com/security/malware/shai-hulud-here-we-go-again-thousands-of-npm-packages-compromised-in-chaindrop-malware-campaign-where-hackers-taunt-victims"},{"credibility":1,"name":"Ongoing npm Supply Chain Attack Affecting Keyv (Shai-Hulud Worm) — Cyber Security Agency of Singapore Advisory AD-2026-009","type":"regulatory","url":"https://www.csa.gov.sg/alerts-and-advisories/advisories/ad-2026-009/"},{"credibility":1,"name":"Shai-Hulud 2.0: Guidance for detecting, investigating, and defending — Microsoft Security Blog","type":"research","url":"https://www.microsoft.com/en-us/security/blog/2025/12/09/shai-hulud-2-0-guidance-for-detecting-investigating-and-defending-against-the-supply-chain-attack/"},{"credibility":2,"name":"Shai-Hulud npm supply chain attack: What you need to know — ReversingLabs","type":"research","url":"https://www.reversinglabs.com/blog/shai-hulud-worm-npm"},{"credibility":2,"name":"Mini Shai-Hulud Strikes Again: 317 npm Packages Compromised — SafeDep","type":"research","url":"https://safedep.io/mini-shai-hulud-strikes-again-314-npm-packages-compromised/"},{"credibility":2,"name":"Shai-Hulud copycat worm infects yet another npm package — The Register","type":"news_article","url":"https://www.theregister.com/cyber-crime/2026/05/18/shai-hulud-copycat-hits-another-npm-package/5242180"},{"credibility":2,"name":"Shai-Hulud malware worms Red Hat npm packages — The Register","type":"news_article","url":"https://www.theregister.com/security/2026/06/01/shai-hulud-malware-infects-red-hat-npm-packages-downloaded-80k-times-weekly/5249803"},{"credibility":2,"name":"Massive ChainDrop npm supply-chain attack infects hundreds of packages — BleepingComputer","type":"news_article","url":"https://www.bleepingcomputer.com/news/security/massive-chaindrop-npm-supply-chain-attack-infects-hundreds-of-packages/"},{"credibility":2,"name":"ChainDrop: The Keyv and Cacheable npm Supply Chain Attack — Integrity360","type":"research","url":"https://insights.integrity360.com/threat-advisories/chaindrop-the-keyv-and-cacheable-npm-supply-chain-attack"},{"credibility":2,"name":"ChainDrop npm Worm Compromises Packages via Preinstall Credential Harvester — Mallory","type":"research","url":"https://mallory.ai/stories/019fcc7f-9d0e-744a-8393-d8c22cca90e4"},{"credibility":3,"name":"ChainDrop: the npm worm that steals your AI assistant's credentials — Zero Hunt","type":"research","url":"https://zerohunt.ai/blog/chaindrop-npm-worm-claude-code-hooks/"},{"credibility":3,"name":"Shai-Hulud Returns With Self-Propagating npm Worm — CyberPress","type":"news_article","url":"https://cyberpress.org/shai-hulud-npm-worm-returns/"},{"credibility":3,"name":"CHAINDROP: npm Worm Turned 127M Weekly Downloads Into Credential-Stealing Botnet — UnderCode Testing","type":"news_article","url":"https://undercodetesting.com/chaindrop-the-npm-worm-that-turned-127-million-weekly-downloads-into-a-credential-stealing-botnet-video/"}],"summary":"ChainDrop is a self-propagating supply-chain worm that, on August 4, 2026, poisoned more than 444 npm packages and 2,212 package versions — representing roughly two billion monthly downloads — within a four-hour window by compromising a single high-privilege maintainer GitHub account. The payload is a multi-stage credential harvester covering cloud provider keys, developer tokens, SSH private keys, cryptocurrency wallet files (wallet.dat, Electrum), and AI-coding-tool secrets, with exfiltration endpoints resolved dynamically through an Ethereum smart contract rather than hardcoded infrastructure. ChainDrop is classified as the largest wave of the Shai-Hulud worm family, whose source code was publicly released by a group calling itself TeamPCP in May 2026, though attribution of this specific campaign remains uncertain.","timeline":[{"date":"2025-12-09","event":"Microsoft Security Research publishes Shai-Hulud 2.0 guidance, documenting an earlier wave of the Shai-Hulud npm supply-chain campaign.","source":"Microsoft Security Blog","source_url":"https://www.microsoft.com/en-us/security/blog/2025/12/09/shai-hulud-2-0-guidance-for-detecting-investigating-and-defending-against-the-supply-chain-attack/"},{"date":"2026-05-11","event":"Microsoft Security Research identifies a new Mini Shai-Hulud resurgence compromising over 170 npm packages and two PyPI packages across 404 malicious versions.","source":"SafeDep / Microsoft Security Research","source_url":"https://safedep.io/mini-shai-hulud-strikes-again-314-npm-packages-compromised/"},{"date":"2026-05-18","event":"A Shai-Hulud copycat worm infects at least one additional npm package, reported by The Register.","source":"The Register","source_url":"https://www.theregister.com/cyber-crime/2026/05/18/shai-hulud-copycat-hits-another-npm-package/5242180"},{"date":"2026-05-22","event":"ChainDrop C2 infrastructure is deployed by attacker, approximately two weeks before the main attack wave.","source":"Palo Alto Networks Unit 42","source_url":"https://unit42.paloaltonetworks.com/chaindrop-npm-worm-analysis/"},{"date":"2026-06-01","event":"Shai-Hulud worm variant infects Red Hat npm packages downloaded approximately 80,000 times per week, reported by The Register.","source":"The Register","source_url":"https://www.theregister.com/security/2026/06/01/shai-hulud-malware-infects-red-hat-npm-packages-downloaded-80k-times-weekly/5249803"},{"date":"2026-08-04","event":"ChainDrop attack begins at approximately 09:02 UTC with malicious commits pushed to the jaredwray GitHub account (keyv maintainer). First poisoned release keyv@6.0.0 published at 09:35 UTC.","source":"StepSecurity / Semgrep","source_url":"https://www.stepsecurity.io/blog/chaindrop-npm-worm"},{"date":"2026-08-04","event":"Secondary propagation wave begins at approximately 09:38 UTC using harvested npm credentials. By 13:20 UTC, 444 packages and 2,212 versions across more than a dozen organizations have been compromised.","source":"Elastic Security Labs","source_url":"https://www.elastic.co/security-labs/shai-hulud-chaindrop-npm-supply-chain"},{"date":"2026-08-04","event":"Attackers rotate C2 exfiltration endpoints via Ethereum transaction on smart contract 0xE1f2395ee43e45A1556EC6438a88c31B83493103, adding domain awqhnjewqjkl[.]icu without modifying deployed malware.","source":"Palo Alto Networks Unit 42","source_url":"https://unit42.paloaltonetworks.com/chaindrop-npm-worm-analysis/"},{"date":"2026-08-04","event":"npm begins unpublishing and reverting compromised package versions starting approximately 10:39 UTC. Elastic Security Labs identifies and reports the campaign at approximately 5:39 AM EST.","source":"Elastic Security Labs / Semgrep","source_url":"https://www.elastic.co/security-labs/shai-hulud-chaindrop-npm-supply-chain"},{"date":"2026-08-04","event":"Microsoft Security Blog publishes 'ChainDrop supply chain compromise: Anatomy of a self-propagating worm.'","source":"Microsoft Security Blog","source_url":"https://www.microsoft.com/en-us/security/blog/2026/08/04/chaindrop-supply-chain-compromise-anatomy-self-propagating-worm/"},{"date":"2026-08-05","event":"Wiz, Palo Alto Networks Unit 42, StepSecurity, Expel, and additional security firms publish independent analyses with indicators of compromise and remediation guidance.","source":"Wiz Blog / Unit 42 / StepSecurity","source_url":"https://www.wiz.io/blog/keyv-and-cacheable-npm-supply-chain-attack"},{"date":"2026-08-05","event":"Cyber Security Agency of Singapore issues advisory AD-2026-009 covering the ongoing attack on keyv and related packages.","source":"Cyber Security Agency of Singapore","source_url":"https://www.csa.gov.sg/alerts-and-advisories/advisories/ad-2026-009/"}]},"v":1}
    Verify offline (run on your own machine)
    python -m src.verify_decision 51642016-fa42-401c-ba3b-6253c55ac9f0
  2. #2reviewby reviewerreviewer
    2026-08-08 03:44:28Z
    Score: 00 (no score change)
    The investigation accurately documents a real and serious supply-chain attack with strong corroboration from Tier 1 and Tier 2 sources for the core facts: attack date, entry vector, propagation mechanism, Ethereum C2 infrastructure, IOC hashes and strings, and attribution uncertainty. Two material inaccuracies were found: the loader file byte sizes (Loader A and Loader B) are overstated by roughly 25x and 67x compared to values in StepSecurity and Semgrep, and the ServiceTitan affected-package count ('approximately 300') is overstated relative to primary-source figures of 141–200+. The CSA advisory date in the timeline is off by one day (page says August 5; advisory was issued August 6). These errors are concentrated in the IOC and Scale sections and do not undermine the overall characterization of the attack.
    anchorpending
    chain
    hash
    B7ViGuMAu8Wc…nrwu5YJCsha256 → base58
    verifying row…
    canonical bytes (1224 B) ▸
    {"actor":"reviewer","decided_at":"2026-08-08T03:44:28.446Z","decision":"review","investigation_id":"1bdf6812-5d0c-4de6-a57f-980e0fe05984","new_score":0,"page_slug":"chaindrop-shai-hulud-npm-worm-august-2026-crypto-credential-harvester","prev_score":0,"reason":"The investigation accurately documents a real and serious supply-chain attack with strong corroboration from Tier 1 and Tier 2 sources for the core facts: attack date, entry vector, propagation mechanism, Ethereum C2 infrastructure, IOC hashes and strings, and attribution uncertainty. Two material inaccuracies were found: the loader file byte sizes (Loader A and Loader B) are overstated by roughly 25x and 67x compared to values in StepSecurity and Semgrep, and the ServiceTitan affected-package count ('approximately 300') is overstated relative to primary-source figures of 141–200+. The CSA advisory date in the timeline is off by one day (page says August 5; advisory was issued August 6). These errors are concentrated in the IOC and Scale sections and do not undermine the overall characterization of the attack.","score_delta":0,"sequence_num":2,"submission_content_hash":null,"submission_id":null,"submission_kind":null,"submission_valence":null,"v":1}
    Verify offline (run on your own machine)
    python -m src.verify_decision bc4cfed8-c131-4385-9187-6a90cf7537af
  3. #3review reviseby judgejudge
    2026-08-08 03:44:28Z
    Score: 00 (-12)
    The review confirmed 15 of 24 claims outright, with strong corroboration from Tier 1 and Tier 2 sources for all core facts: attack date and entry vector, propagation mechanism, Ethereum C2 infrastructure, and attribution uncertainty. However, three claims were disputed and three were unverifiable, yielding a 25% disputed rate. Two material inaccuracies drive the penalty: claim_findings[4] shows the IOC loader byte sizes (757,598 and 738,697 bytes) are contradicted by StepSecurity and Semgrep, which report 29,918 and 11,017 bytes respectively — a 25x–67x overstatement that could mislead incident responders relying on these indicators; and claim_findings[10] overstates the ServiceTitan affected-package count ('approximately 300') against primary-source figures of 141–200+. The CSA advisory date in the timeline (claim_findings[16]) is off by one day. Two high-priority coverage gaps — on-chain tracing of the C2 contract and confirmed downstream wallet theft — are recommended additions.
    anchorpending
    chain
    hash
    4ptjDzZrTTcS…M6mwnU9Fsha256 → base58
    verifying row…
    canonical bytes (1405 B) ▸
    {"actor":"judge","decided_at":"2026-08-08T03:44:28.446Z","decision":"review_revise","investigation_id":"1bdf6812-5d0c-4de6-a57f-980e0fe05984","new_score":0,"page_slug":"chaindrop-shai-hulud-npm-worm-august-2026-crypto-credential-harvester","prev_score":0,"reason":"The review confirmed 15 of 24 claims outright, with strong corroboration from Tier 1 and Tier 2 sources for all core facts: attack date and entry vector, propagation mechanism, Ethereum C2 infrastructure, and attribution uncertainty. However, three claims were disputed and three were unverifiable, yielding a 25% disputed rate. Two material inaccuracies drive the penalty: claim_findings[4] shows the IOC loader byte sizes (757,598 and 738,697 bytes) are contradicted by StepSecurity and Semgrep, which report 29,918 and 11,017 bytes respectively — a 25x–67x overstatement that could mislead incident responders relying on these indicators; and claim_findings[10] overstates the ServiceTitan affected-package count ('approximately 300') against primary-source figures of 141–200+. The CSA advisory date in the timeline (claim_findings[16]) is off by one day. Two high-priority coverage gaps — on-chain tracing of the C2 contract and confirmed downstream wallet theft — are recommended additions.","score_delta":-12,"sequence_num":3,"submission_content_hash":null,"submission_id":null,"submission_kind":null,"submission_valence":null,"v":1}
    Verify offline (run on your own machine)
    python -m src.verify_decision 626c78c2-489e-4c32-b787-ad15ff851dbc
How verification works. The “Row integrity” check above is computed in your browser — your machine recomputes the SHA-256 of the canonical bytes and compares against the stored hash. No avoid.net server can fake that check. The “full verify” link goes one level deeper: your browser fetches the on-chain transaction from a Solana RPC node and confirms the same hash is in the memo. If you don’t want to trust either avoid.net or the public RPC, run the CLI verifier on your own machine — python -m src.verify_decision <event_id>.