惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

SecWiki News
SecWiki News
D
Darknet – Hacking Tools, Hacker News & Cyber Security
I
Intezer
月光博客
月光博客
Cyberwarzone
Cyberwarzone
雷峰网
雷峰网
Security Latest
Security Latest
量子位
博客园 - 聂微东
小众软件
小众软件
NISL@THU
NISL@THU
C
Cisco Blogs
The GitHub Blog
The GitHub Blog
C
Cybersecurity and Infrastructure Security Agency CISA
T
Tor Project blog
Y
Y Combinator Blog
V
V2EX
博客园 - 三生石上(FineUI控件)
P
Privacy & Cybersecurity Law Blog
F
Full Disclosure
Cisco Talos Blog
Cisco Talos Blog
Microsoft Security Blog
Microsoft Security Blog
S
Security @ Cisco Blogs
The Register - Security
The Register - Security
Google DeepMind News
Google DeepMind News
J
Java Code Geeks
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
IT之家
IT之家
Webroot Blog
Webroot Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
aimingoo的专栏
aimingoo的专栏
腾讯CDC
S
Schneier on Security
L
LINUX DO - 最新话题
Latest news
Latest news
Simon Willison's Weblog
Simon Willison's Weblog
罗磊的独立博客
A
Arctic Wolf
MyScale Blog
MyScale Blog
云风的 BLOG
云风的 BLOG
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
S
Secure Thoughts
S
Securelist
Stack Overflow Blog
Stack Overflow Blog
T
Troy Hunt's Blog
Recorded Future
Recorded Future
I
InfoQ
The Cloudflare Blog
H
Heimdal Security Blog
Hugging Face - Blog
Hugging Face - Blog

Wiz Blog | RSS feed

Meet Wiz for M365: Bringing SaaS into the Security Graph How to Harden GitHub Actions: An Updated Guide Bringing Security Visibility to Vercel with Wiz Axios NPM Distribution Compromised in Supply Chain Attack Tracking TeamPCP: Investigating Post-Compromise Attacks Seen in the Wild The Wiz Blue Agent, now Generally Available Beyond the Badge: What Achieving Microsoft’s Certified Software Designation Means for Your Cloud Security Introducing the Green Agent: AI-Powered Remediation for the Cloud Three’s a Crowd: TeamPCP trojanizes LiteLLM in Continuation of Campaign KICS GitHub Action Compromised: TeamPCP Strikes Again in Supply Chain Attack Introducing the Wiz Red Agent- AI-Powered Attacker Introducing Wiz AI Application Protection Platform (AI-APP) Introducing Wiz Agents & Workflows: Security at the Speed of AI AI Runtime Threat Detection: From Input to Real-World Impact Trivy Compromised: Everything You Need to Know about the Latest Supply Chain Attack It’s Official: Wiz Joins Google Understanding and Reducing AI Risk in Modern Applications Introducing Wiz Tenant Manager: Multi-Tenant Management for Federated Organizations The Agile FedRAMP Playbook, Part 4: Reactive Risk Management through Enriched Incident Response Wiz Achieves CPSTIC Certification in Spain Seeing AI Clearly: Building Visibility Across Modern AI Applications The Agile FedRAMP Playbook, Part 3: Preventative Risk Management by building Secure by Design Wiz Leads the 2026 Latio Application Security Report with awards in 4 categories Building an Agentic Cloud Security Ecosystem: A Reference Architecture with Wiz MCP and Infosys Cyber Next The Agile FedRAMP Playbook, Part 2: Proactive Risk Management with Continuous Monitoring Cloud-native Security for your Windows environment: Announcing the Wiz Runtime Sensor for Windows Would You Click ‘Accept’? Automatically detecting malicious Azure OAuth applications using LLMs Wiz Named a Leader in The Forrester Wave™: Cloud Native Application Protection Solutions, Q1 2026 From Detection to Remediation: It’s Time to Rethink AppSec Around Exploitability and Root Cause Fixes The Agile FedRAMP Playbook, Part 1: Why Risk is Your Best Starting Point Introducing AI Cyber Model Arena: A Real-World Benchmark for AI Agents in Cybersecurity Wiz + Spotify Backstage: Security at the Developer’s Desk Building AI Security Together: New Ways to Partner with Wiz for AI Security in 2026 Hacking Moltbook: The AI Social Network Any Human Can Control The Year in Wiz Research: 2025 Most Read Blogs WizExtend is Here: AI and Cloud Security Insights in Your Daily Workflow From Detection to Remediation: Wiz in Your JetBrains IDE Agentic Browser Security: 2025 Year-End Review CodeBreach: Infiltrating the AWS Console Supply Chain and Hijacking AWS GitHub Repositories via CodeBuild A 90-Day Action Plan to Turn Resolutions into Results with Wiz Introducing the Wiz Partner Alliance: A New Chapter for Partner Success Preparing for Post-Quantum Cryptography Wiz Recognized as a 2025 Customers’ Choice in the Gartner® Peer Insights™ Voice of the Customer for CNAPP Expanding the Zero Critical Club to set a new standard for AppSec and SecOps teams Protecting Against Zero-Day Vulnerabilities with SOC-Level ASM Alert MongoBleed (CVE-2025-14847) exploited in the wild: everything you need to know The Kenna Transition: Your Strategic Shift to Exposure Management From MCP to Vibe Coding: Full Endpoint Visibility in Wiz AI Security Bringing Oracle Cloud Identity to Wiz Zero‑Days in the Age of AI: Behind the Scenes of ZeroDay.cloud 2025, with a Record High of CVEs in Critical Cloud Infra Gogs 0-Day Exploited in the Wild Code to Cloud Attacks: From Github PAT to Cloud Control Plane Top AWS re:Invent Announcements for Security Teams in 2025 React2Shell: Technical Deep-Dive & In-the-Wild Exploitation of CVE-2025-55182 React2Shell (CVE-2025-55182): Everything You Need to Know About the Critical React Vulnerability Wiz Product Announcements at re:Invent 2025: Expanding Visibility from Code to Cloud Introducing Wiz SAST: Where Code Risk Meets Cloud Context Wiz Becomes Fastest Security ISV to Reach $1 Billion in AWS Marketplace Lifetime Sales It's Here! Wiz Exposure Management is Now GA Shai-Hulud 2.0 Aftermath: Trends, Victimology and Impact Service Catalog is Here: Expand Risk Visibility for Your Service and Its Dependencies, Simplify Issue Ownership WizOS: Powering Secured Image Adoption with AI 3 OAuth TTPs Seen This Month — and How to Detect Them with Entra ID Logs Mastering Software Governance with Hosted Technologies Inventory Shai-Hulud 2.0 Supply Chain Attack: 25K+ Repos Exposing Secrets Get Certified on Wiz Defend for Threat Detection and Response Blueprint for Security: A Guide to Code, Governance, and Response Frameworks Google Unified Security Recommended Program Names Wiz Among First 3 Strategic Partners Introducing Posture Issues: Transform Security Findings into Actionable Outcomes Empower and Accelerate Your SOC with the Blue Agent Exposure Report: 65% of Leading AI Companies Found with Verified Secret Leaks Wizdom 2025 Product Announcements: Extending the Cloud Operating Model When AI Becomes the Heart of Security: Powering a Future You Can Trust AI-Powered Wiz: From Agents to Everyday Intelligence Defend Agentless Workload Detection: Bringing Visibility to Blind Spots in Threat Detection Securing AI Agents with Wiz AI-SPM Introducing Wiz ASM: Context-Driven Attack Surface Management Securing Critical Infrastructure in the Cloud Era: A Policy and Technology Blueprint How CISOs Should Plan Security Budgets for 2026 Beyond the Checkbox: How Wiz Transforms SOC 2 into a Security Powerhouse Bringing Visibility to Kubernetes: Unified Inventory and Network Insight The Foundation Modern AppSec Is Still Missing: Code to Cloud, Rebuilt the Right Way Dismantling a Critical Supply Chain Risk in VSCode Extension Marketplaces Introducing HoneyBee: How We Automate Honeypot Deployment for Threat Research RediShell: Critical Remote Code Execution Vulnerability (CVE-2025-49844) in Redis, 10 CVSS score Defending against database ransomware attacks AI Security 101: Mapping the AI Attack Surface Introducing zeroday.cloud: First-of-its-kind cloud and AI hacking competition Unifying Cloud Risk and Network Defense: Wiz and Check Point The emerging use of malware invoking AI Wiz achieves FedRAMP High authorization Wiz + HCP Terraform: Close the IaC-to-Cloud Infrastructure Security Gap IMDS Abused: Hunting Rare Behaviors to Uncover Exploits Beyond CVEs: The Exploitation of Everyday Misconfigurations Wiz Research Discovers One in Five Organizations Exposed to Systemic Risks in Vibe-Coded Applications - Here's How to Secure Them Introducing Wiz Incident Response: Your Expert Partner for Cloud Security Incidents Shai-Hulud: Ongoing Package Supply Chain Worm Delivering Data-Stealing Malware DORA Compliance in the Cloud Era: Insights from Deloitte and Wiz How Wiz Customers like Brex and FICO See AI Changing Security Wiz Recognized as a Leader in the 2025 IDC MarketScape for ASPM
Snipping the Long Tail of Shai-Hulud 2.0
Rami McCarthy · 2025-12-30 · via Wiz Blog | RSS feed

Since the discovery of Shai-Hulud 2.0 (aka sha1-hulud), Wiz Research has tracked a persistent "long tail" of infections. To date, this incident has impacted over ⅓ of the Fortune 100, among hundreds of other organizations. 

While primary containment occurred in late November, the worm lingered in environments for weeks due to overlooked supply chain dependencies. Building on our previous reports on the initial incident and victimology, this update details:

  • Persistence Mechanics: How private registries and IDE extensions kept the worm alive.

  • “Snipping the Tail": How Wiz Research helped mitigate the worm’s persistence.

  • Unrotated Secrets: A status report on the leaked credentials that remain valid today.

  • The Trust Wallet Link: Analyzing a $7M exploit’s potential connection to sha1-hulud.

The Shape of the Long Tail 

At the peak of the sha1-hulud outbreak on November 24th, GHArchive recorded 13,686 new repositories containing exfiltrated victim data. GHArchive generally captures 50% of GitHub activity, matching Wiz’s capture of over twenty-five thousand repositories in the first day of the incident. While aggressive containment by the npm team and ecosystem partners triggered an immediate crash in new infections, the worm did not disappear.

Instead, we entered a month-long "long tail" period. From November 25th to December 24th, the infection rate stabilized at a persistent level of approximately 100-200 new compromised repositories every day.

On December 24th, Wiz Research moved to "snip the tail." By coordinating with the AsyncAPI team to publish a clean version (v1.1.0) of their OpenVSX extension, we forced an update across the IDE ecosystem. The impact was immediate: by December 29th, daily new repositories plummeted to just a handful.

Daily pace of new public repositories (log scale)

Why the Worm Lingered

Our analysis identifies two primary drivers for this persistence, even after the malicious packages were purged from the public npm registry:

  1. Private Registries & Cached Packages (5% of cases): Internal mirrors and local caches continued serving "poisoned" versions that had already been revoked upstream.

  2. The OpenVSX "Zombie" Extension (90%+ of cases): The malicious asyncapi-preview v1.0.1 extension remained active on developer machines because no higher version existed to trigger an automatic update … until our intervention on Dec 24th.

The Double-Edged Sword of Private Registries & Cached Packages

Roughly 5% of infections in the long tail were traceable to Private Registries & cached packages. 

Private registries (e.g., Sonatype Nexus, JFrog Artifactory) are a common security recommendation for governing third-party code. However, they introduce upstream desynchronization risk. In this campaign, some private registries failed to purge the malicious sha1-hulud packages after they were revoked from the official npm registry. As a result, these registries continued to serve "poisoned" packages to internal developers for weeks after the public threat was neutralized.

Persistence via Local Cache

We also identified instances where the malware persisted through the local npm cache. While the npm CLI typically validates versions against the registry, specific configurations bypass this check:

  • --offline: Forces npm to use the local cache exclusively.

  • --prefer-offline: Prioritizes the local cache, only hitting the registry if a package is missing.

In high-velocity CI/CD environments where these flags are a common performance enhancement, the "removal" of a package from the public registry is irrelevant if a malicious copy is already pinned in the local build environment.

OpenVSX asyncapi-preview (v1.0.1)

Over 90% of long-tail infections originated from a single source: the malicious asyncapi-preview v1.0.1 extension. Despite being pulled from the OpenVSX Registry on November 26th, the extension remained active on developer machines.

Our analysis found a recurring indicator in victim exfiltration logs: "_PACOTE_NO_PREPARE_": "git+ssh://git@github.com/asyncapi/cli.git#2efa4dff59bc3d3cecdf897ccf178f99b115d63d"

This commit hash points directly to the malicious fork used in the original Shai-Hulud attack. The persistence mechanism was simple: because the registry "rolled back" to v1.0.0, IDEs saw no reason to update or overwrite the installed (malicious) v1.0.1.

On December 23rd, Wiz Research reported this issue to the AsyncAPI security contact. On December 24th, the AsyncAPI team published a clean version 1.1.0 of the extension to the OpenVSX registry. IDEs with the malicious version installed automatically updated to the clean version, which has removed the majority of outstanding infections. 

Unremediated Secrets 

One month post-incident, the cleanup is far from complete. While platform-specific tokens (npm/GitHub) have seen aggressive revocation, critical infrastructure and AI credentials remain exposed.

Wiz Research Dataset Scope: Our analysis covers >29,000 leaked repositories and >12,000 unique compromised machines, representing almost the entire victim population.

As of December 28th, our telemetry on the "unrotated" landscape reveals dangerous remnants:

Credential TypeRevocation RateStatus / Outstanding Risk
GitHub Tokens>95%Dozens remain valid.
npm Tokens>90%Roughly a dozen remain valid.
Cloud Credentials~50%Hundreds of long-lived keys remain valid.
AI API KeysLow>200 valid keys (OpenAI, Gemini).
SaaS/Dev ToolsLowDozens of valid keys (Slack, Cloudflare, Airtable).

The Trust Wallet Incident, a High-Stakes Case Study

On December 25th, Trust Wallet reported $7 million in thefts resulting from a malicious update (v2.68) to their browser extension. Trust Wallet is continuing their investigation, and has stated they will cover user losses.

While the investigation is ongoing, Wiz Research has identified indicators suggesting this breach may be a direct downstream consequence of the sha1-hulud incident. 

Update 12/30 16:10 UTC: Shortly after publication of this blog post, Trust Wallet released an initial post-mortem, stating "we have high confidence that the Browser Extension v2.68 incident is likely related to the industry-wide Sha1-Hulud incident in November"

The most compelling evidence lies in the specific secrets exfiltrated during the Shai-Hulud campaign. Our dataset confirms that Trust Wallet was a victim, and among other data, the following credentials leaked:

  • GitHub Token: A valid token with admin:enterprise scope over the trustwallet GitHub organization.

  • Web Store Credentials: A Chrome Web Store Client ID, Client Secret, and refresh token exfiltrated from GitHub Action secrets.

The leak of these two assets provides multiple viable paths to hijacking the browser extension's distribution pipeline.

Thematic and Temporal Alignment

There are additional indications of a potential connection within the naming and timing of the attack.

  • Naming Conventions: The domain used in the Trust Wallet exploit followed the specific Dune mythology naming convention established by the Shai-Hulud threat actor.

A Dune reference on the domain used for exfiltration.
  • Timeline: The malicious domain was registered on December 8th, aligned with the sha1-hulud attack transitioning into targeted exploitation of harvested secrets.

While circumstantial until the post-mortem is released, the overlap between the exfiltrated secrets and the nature of the Trust Wallet exploit is significant. It serves as a stark reminder: In supply chain attacks, exfiltrated secrets present an ongoing threat, regardless of when the initial worm is contained.

Recommendations 

The persistence of sha1-hulud proves that "removal from registry" is not the "end of the incident." To prevent "zombie" malware from lingering, we recommend the following structural shifts:

1. Own Your Private Registry Governance

Using a private registry (i.e Artifactory, Nexus) shifts responsibility for security hygiene from the public registry (npm) to your organization.

  • Sync Revocations: Ensure your registry mirrors are configured to cross-reference upstream metadata frequently. If a package is "unpublished" or "revoked" on npm, your internal mirror should reflect that status immediately. Unfortunately, this often requires custom automation.

  • Audit "Pull-Through" Caches: Periodically scan internal caches for packages that no longer exist in public repositories, as this is a leading indicator of a risky or malicious package.

2. Neutralize the Cache

CI/CD performance optimizations like --prefer-offline can become security liabilities.

  • Build Hygiene: In high-stakes production builds, avoid using local caches that skip registry validation.

  • Dependency Cooldowns: When caching packages, the tradeoff favors dependency cooldowns even further.

  • Force Updates: If a supply chain incident is suspected, force a clean build by clearing local npm/yarn/pnpm caches across your build fleet.

3. Comprehensive Secret Rotation

The Shai-Hulud dataset shows that organizations (and platforms) were quick to rotate VCS tokens but slow to rotate the broader set of leaked keys. Assess all leaks for criticality. A leaked Chrome Web Store secret can be just as devastating as a leaked AWS key. Triage and remediate in order of risk. 

4. Beware Orphaned Malicious Versions

As demonstrated by our work with AsyncAPI, a forced version bump can be necessary to remove installed malicious packages. If you are a maintainer, always publish a clean, higher-versioned update to trigger the auto-update mechanisms in IDEs and developer environments.