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

推荐订阅源

阮一峰的网络日志
阮一峰的网络日志
IT之家
IT之家
H
Heimdal Security Blog
Jina AI
Jina AI
宝玉的分享
宝玉的分享
博客园 - 【当耐特】
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
爱范儿
爱范儿
T
Tailwind CSS Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Apple Machine Learning Research
Apple Machine Learning Research
有赞技术团队
有赞技术团队
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
AWS News Blog
AWS News Blog
C
Cisco Blogs
Cisco Talos Blog
Cisco Talos Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
D
Darknet – Hacking Tools, Hacker News & Cyber Security
The Hacker News
The Hacker News
The Cloudflare Blog
Hugging Face - Blog
Hugging Face - Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
Threatpost
S
Securelist
P
Privacy International News Feed
C
CXSECURITY Database RSS Feed - CXSecurity.com
博客园 - 聂微东
博客园 - 叶小钗
J
Java Code Geeks
V
V2EX
博客园 - Franky
Spread Privacy
Spread Privacy
K
Kaspersky official blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Simon Willison's Weblog
Simon Willison's Weblog
Project Zero
Project Zero
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
C
Cybersecurity and Infrastructure Security Agency CISA
C
CERT Recently Published Vulnerability Notes
Latest news
Latest news
NISL@THU
NISL@THU
罗磊的独立博客
W
WeLiveSecurity
Google DeepMind News
Google DeepMind News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园_首页
V
Visual Studio Blog

Sysdig Blog

Masterclass: AI is more than ChatGPT and LLMs CVE-2026-39987 update: How attackers weaponized marimo to deploy a blockchain botnet via HuggingFace Kubernetes 1.36 - New security features 5 steps to securing AI workloads Marimo OSS Python Notebook RCE: From Disclosure to Exploitation in Under 10 Hours Security briefing: March 2026 The Sysdig MCP server is now available in AWS Marketplace Risk isn’t reduced until you take action: How teams resolve issues in the cloud AI infrastructure security: Why it deserves its own category Three pillars for building effective runtime-powered cloud defense, the right way Closing the cloud security gap with runtime security Seeing risk isn’t stopping it: Why visibility alone isn’t enough TeamPCP expands: Supply chain compromise spreads from Trivy to Checkmarx GitHub Actions AI coding agents are running on your machines — Do you know what they're doing? Runtime security for AI coding agents: Protecting AI-assisted development How runtime insights power every cloud security use case CVE-2026-33017: How attackers compromised Langflow AI pipelines in 20 hours Inline Cloud Response: Accelerating AWS threat containment for SOC teams Runtime malware detection for AWS Fargate Detecting CVE-2026-3288 & CVE-2026-24512: Ingress-nginx configuration injection vulnerabilities for Kubernetes Malware detection with Sysdig Security briefing: February 2026 Leveling up Kubernetes Posture: From baselines to risk-aware admission Eliminating runtime blind spots: How CleanStart and Sysdig build continuous trust across the container lifecycle LLMjacking: From Emerging Threat to Black Market Reality Real risks live at runtime: Why CISOs must care about deep telemetry in 2026 Sysdig named a Leader in the Forrester Wave™: Cloud Native Application Protection Solutions, Q1 2026 How to run rootless containers AI-assisted cloud intrusion achieves admin access in 8 minutes Security briefing: January 2026 Securing GPU-accelerated AI workloads in Oracle Kubernetes Engine Bringing OSS runtime security to AWS: Falco integration with AWS Security Hub CSPM Our customers have spoken: Sysdig rated a Strong Performer in Gartner® Voice of the Customer for Cloud-Native Application Protection Platforms Protecting sensitive business data in preparation for the organization's Gen AI VoidLink threat analysis: Sysdig discovers C2-compiled kernel rootkits AI is still a workload: A practical guide to securing AI workloads How threat actors are using self-hosted GitHub Actions runners as backdoors How Sysdig Sage delivers AI-powered, real-world vulnerability management Security briefing: December 2025 Top 10 ways to get breached in 2026 EtherRAT dissected: How a React2Shell implant delivers 5 payloads through blockchain C2 Introducing runtime file integrity monitoring and response with Sysdig FIM How to detect multi-stage attacks with runtime behavioral analytics EtherRAT: DPRK uses novel Ethereum implant in React2Shell attacks Detecting React2Shell: The maximum-severity RCE vulnerability affecting React Server Components and Next.js The rise of AI agents: How autonomous AI Is transforming cloud security Kubernetes 1.35 - New security features The Urgency of Securing AI Workloads for CISOs Security briefing: November 2025 Quantum and the cloud: Science fiction turned security strategy Cloud security, the right way: What the industry should demand (and why "good enough" isn't) Return of the Shai-Hulud worm affects over 25,000 GitHub repositories Detecting CVE-2024-1086: The decade-old Linux kernel vulnerability that’s being actively exploited in ransomware campaigns What’s old is new again: How to demystify AI security with AIBOMs Securing Kubernetes with agentic cloud security How agentic cloud security reduces real risks Hunting reverse shells: How the Sysdig Threat Research Team builds smarter detection rules Shifting left with AI and MCP: Sysdig + Amazon Q Developer How Falco and Stratoshark close the gap between open source runtime detection and deep forensic analysis Investigating security issues with ChatGPT and the GitHub MCP server New runc vulnerabilities allow container escape: CVE-2025-31133, CVE-2025-52565, CVE-2025-52881 Harden your LLM security with OWASP Security briefing: October 2025 How agentic AI is changing cloud security Kubernetes Incident Response: Detect, investigate, and contain in under 10 minutes Sysdig recognized as a Cloud Security Leader in Latio Tech Cloud Security Market Report AI echolocation of cloud risks using Sysdig & Snyk MCP servers Sysdig MCP Server: Bridging AI and cloud security insights Understanding CVE-2025-49844: “RediShell” Critical Remote Code Execution in Redis How Sysdig secures your containers and Kubernetes Sysdig Security Briefing: September 2025 Cloud security, the right way: The 3 pillars of real-time defense Open source spotlight: Bringing web application security to Falco with Falcoya's Nginx plugin Malicious NPM packages: Are you exposed? AI for SOC teams: 5 cloud security prompts to start your day with Sysdig Sage™ ZynorRAT technical analysis: Reverse engineering a novel, Turkish Go-based RAT Modern vulnerability management, built for the cloud Build your AWS incident response playbook with open source tools 2025 Gartner® CNAPP Market Guide: Runtime visibility is no longer optional Threat hunting with Sysdig: Uncovering “IngressNightmare” Open source spotlight: From alerts to action with AI-powered Falco Vanguard From triage to action: How Sysdig’s agentic cloud security platform slashes noise and accelerates remediation The vision comes to life: Agentic cloud security with Sysdig Sage™ Data security findings: A technical deep dive Connecting runtime to source: Sysdig and Semgrep integration Fix what matters, faster: How Sysdig and Semgrep are unifying security without silos – from code to runtime Defending sensitive data with Sysdig Secure Redefining cloud security, the right way Join the movement: The Sysdig Open Source Community is live A smarter, safer cloud in the age of AI Unifying detection and response: Sysdig + Cortex XSOAR for security at cloud speed The future of security is open, and it needs a unified hub: The Sysdig Open Source Community is here CVE-2025-53104: Command injection via GitHub Actions workflow in gluestack-ui Why MCP server security is critical for AI-driven enterprises What’s new in Sysdig — June 2025 AI-powered CNAPP with Sysdig Sage™ Revolutionizing Cybersecurity Search with Sysdig Sage™ Sysdig Threat Bulletin: Iranian Cyber Threats The end of the prioritization-only era: Vulnerability management needs action Dangerous by default: Insecure GitHub Actions found in MITRE, Splunk, and other open source repositories
Shai-Hulud: The novel self-replicating worm infecting hundreds of NPM packages
2025-09-16 · via Sysdig Blog

On September 15, 2025, an engineer discovered a supply chain attack against the NPM repository. Unlike previous NPM attacks, this campaign used novel, self-propagating malware (also known as a worm) to continue spreading itself. At the time of this writing, approximately 200 infected packages have been identified, including several repositories such as the popular @ctrl/tinycolor and multiple owned by CrowdStrike. 

Once executed, this novel worm — dubbed Shai-Hulud — steals credentials, exfiltrates them, and attempts to find additional NPM packages in which to copy itself. The malicious code also attempts to leak data on GitHub by making private repositories public. 

The Sysdig Threat Research Team (TRT) has been monitoring this worm’s progress since its discovery. Due to quick response times, the number of new packages being compromised has slowed considerably. No new packages have been seen in several hours at the time of this writing, though that is still subject to change.

Let’s explore how this novel worm works, how to detect it with open source Falco and Sysdig Secure, and what you should do next.

How does the Shai-Hulud worm work?

The worm executes during the post-install phase of the compromised NPM packages, running a huge bundle.js script.

...
"scripts": {
  ...
  "postinstall": "node bundle.js"
}
...

This code targets Linux and macOS machines, performing multiple operations in parallel to spread itself in the NPM package registry and steal sensitive information like credentials. 

After the malicious NPM package is installed, Shai-Hulud conducts local system discovery. It begins searching for sensitive details on the machine, including GitHub and NPM credentials, as well as credentials for AWS and GCP. Next, the malware tries to spread itself and compromise other ecosystems.

If GitHub credentials are found, the worm uses the GitHub user and their credentials ( ghp_* and gho_* tokens), iterating over the repositories belonging to the user, to gain persistence and steal their associated secrets via a malicious GitHub action that is invoked on a “push” action. To receive the credentials, the site https://webhook[.]site is used. This site, while not inherently malicious, is free to use and often leveraged by attackers as a dropbox for collected data. 

Another nefarious action the malicious code executes is to list all the repositories owned by the organization to which the user has access. If these repositories are private, a new public repository — including its contents — is created using the user’s credentials and original data. The new public repository name is identical to the original, with an added -migration suffix. 

The worm part of the malware involves the NPM ecosystem. If the malware finds valid NPM credentials, it invokes the getPackagesByMaintainer() function, which retrieves a list of packages maintained by the key owner, retrieves their details, and sorts them by monthly downloads. 

Next, Shai-Hulud invokes the updatePackage() function using the list of packages. This function spreads the malicious “bundle.js” code to the maintainer’s package, running that script in the postinstall phase. The original package.json is tampered with to execute “bundle.js”. This piece of code is the reason why the spread of the worm proliferated so quickly in the first 24 hours, affecting around 200 packages.

The trufflehog binary is downloaded and used to search for other sensitive credentials in the filesystem, verifying that any discovered secrets are legitimate. 

Trufflehog is a popular open source security tool used to discover secrets. Below is the command used to look for sensitive data in the filesystem.

trufflehog filesystem . --json --results=verified

Shai-Hulud also contains code that looks for AWS and GCP credentials, searching both locally in the file system and any Instance Metadata Service (IMDS) endpoints.

Lastly, once all the previous data has been collected, the malicious JavaScript checks again if the GitHub user is authenticated. If so, it creates a new GitHub repository named “Shai-Hulud”, where the previously found credentials are uploaded in a base64 encoded JSON file.

Many of Shai-Hulud’s techniques look similar to the Nx attack reported at the end of August. However, despite the similarity, the most interesting aspect here is that the malware has significantly evolved, gaining the capability to reproduce itself in the NPM ecosystem.

How do you detect Shai-Hulud?

Sysdig Secure threat detection

The malware performs multiple suspicious executions at runtime.

Sysdig Secure customers can leverage the Reverse Shell Redirects STDIN/STDOUT Using UNIX Socket observation rule, belonging to the Sysdig Runtime Behavioral Analytics policy. This rule can detect suspicious executions spawned by JS applications, such as downloading the trufflehog binary, extracting it, and assigning execution permissions.

Additionally, the rule Suspicious Domain Contacted During Package Install will also trigger on the GitHub action runner when it reaches out to webhook[.]site.

For customers who are also using Sysdig Secure for GitHub threat detection, the following rule may trigger, depending on the stolen credentials:

  • Create Public Github Repository 

Falco

Falco customers who have adopted Falco plugins, such as the GitHub plugin, can also conduct threat detection for GitHub. This GitHub rule will detect suspicious GitHub repository names, which can help users detect new GitHub repository names matching the previously mentioned “Shai-Hulud” one, and also the “s1ngularity-repository” that was used in the previous s1ngularity/nx attack.

- rule: Create Suspicious Public Repository
  desc: Detect the creation of a new public repository
  condition: github.type=repository and github.action=created and github.repo.public=true and (github.repo.name="Shai-Hulud" or github.repo.name contains “s1ngularity-repository” or github.repo.name endswith “-migration” ) 
  output: A new public repository was created (repository_name=%github.repo.name repository_url=%github.repo.url repo_owner=%github.owner org=%github.org user=%github.user) 
  priority: WARNING
  source: github
  tags: [github]

Sysdig Secure Threat Intelligence feed

The Sysdig Threat Research Team has proactively added SysQL queries to the Threat Intelligence page ( Home -> Threat Intelligence ) that automatically query the inventory for any presence of the affected packages and versions. At a glance, these will tell you if these compromised packages have been installed anywhere in your environment.  

Sysdig TRT’s suggested actions

  • Search for any usage of the affected packages in your environment and, if detected, roll them back to a known secure version.
  • Utilize version pinning whenever possible.
  • Ensure all areas where third-party software packages are installed in production or moving through pipelines are monitored by runtime security controls and accounted for.
  • If affected, rotate all credentials that may have been accessed.
  • If you lack detection or containment controls across your developer ecosystem, the situation can be limited by blocking npm.
  • Check GitHub for any unusual activity or repositories created recently.
  • You might also want to check individual computers of engineers for execution of TruffelHog or outbound connections to webhook[.]site.

Conclusion

Supply chain attacks are increasing in frequency. It is more important than ever to monitor third-party packages for malicious activity. Since malicious code can be hidden in many different ways, using runtime threat detection is critical to catching these attacks. Falco and Sysdig Secure both offer runtime visibility and detections, while Sysdig Secure offers additional detections and an inventory system that can easily show if your environment is affected by malicious packages.