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

推荐订阅源

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 Snipping the Long Tail of Shai-Hulud 2.0 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
s1ngularity's Aftermath: AI, TTPs, and Impact in the Nx Supply Chain Attack
Rami McCarthy · 2025-09-03 · via Wiz Blog | RSS feed

Wiz Research has been responding to the s1ngularity incident since news first broke on August 26th. At this point, active attacks seem to have lulled. This gives us an opportunity to step back and share what we’ve discovered in this incident, and the work we’ve done in response. 

In this post, we’ll explore the impact of this attack to date, dissect the role of AI, and provide guidance on reviewing relevant GitHub logs based on novel TTPs. For a detailed account of the initial incident, refer to our previous blog post.

A visual summary of this post

A quick recap

An attacker compromised an npm publishing token for nx packages via a vulnerable GitHub Action. They abused that access to distribute new, malicious versions of a variety of Nx packages. The end result was thousands of corporate secrets leaked publicly across GitHub, enabling follow on attacks.

The malware directly extracted environment variables, as well as GitHub and npm tokens, and published them in public s1ngularity-repository GitHub repositories. The malware also abused locally configured AI CLIs to identify additional files for exfiltration. While GitHub eventually disabled these repositories, there was a sufficient window to retrieve the files.

A second phase abused the leaked GitHub tokens to expose private repositories (renamed to s1ngularity-repository-#5letters#) by making them public on the victims’ GitHub profiles. These repositories often contained additional secrets.

A third attack occurred later, publishing repositories with the description of S1ngularity, and impacting a single victim organization across two compromised user accounts. 

A s1ngular(ity) impact

The s1ngularity incident evokes a string of recent Github Actions related supply chain compromises, including Ultralytics and tj-actions. However, those cases felt a bit like near misses: the cryptomining payload of Ultralytics presented less of a threat, while tj-actions’s noisy approach, lack of exfiltration from private repositories, and rapid detection defanged a massive possible scope of impact. The impact narrowly avoided in those prior incidents seems manifest in the s1ngularity attack. 

In Phase 1 of this attack, over 1,700 users had secrets publicly leaked. Each of those users would have at least a GitHub token in the leaked data, as it was a prerequisite for the repository to be created. Wiz Research was able to collect data for over a thousand of these cases, enabling our informed response on behalf of our customers and the industry. Multiple reports echo our own data: over 2,000 unique, verified secrets were leaked. An unknown, broader pool of Nx users may have run the malware, resulting in secrets gathered and persisted to disk, but without exfiltration. 

The malware additionally attempted to exfiltrate potentially sensitive files. More on that later, but suffice to say we observed over 20,000 files leaked across our sample, across 250 cases impacting 225 distinct users (some of whom had multiple repositories created over multiple runs of the malicious package). 

Looking specifically at GitHub tokens, we found that almost 90% remained valid the morning (UTC) of the 28th, over 24 hours after the repositories with leaked secrets had been removed by GitHub. Validity rate very slowly dropped over the next twenty four hours, with almost 80% of leaked GitHub tokens still valid the evening of the 29th. Some time between then and the evening of the 30th, GitHub conducted a revocation campaign. Following this effort, roughly 5% of leaked GitHub keys remain valid

In Phase 2, at least 480 compromised accounts (⅔ were organizations) published over 6,700 private repositories publicly with a s1ngularity-repository-#5letters# naming scheme. In one case, a single organization had over 700 repositories leaked. Wiz identified thousands of valid credentials in these formerly-private repositories. GitHub eventually removed these repositories as well.

In Phase 3, starting the evening of August 31st, two compromised users publicly uploaded over 500 repositories (suffixed with _bak, and with S1ngularity as the description) belonging to a single organization. 

Wiz’s response

Prior to this incident, Wiz already offered detection opportunities for similar attacks, primarily through our Wiz Code features. However, this incident often generated artifacts in user repositories, outside of organization logs or visibility. Even with Nx leaving issues to notify victims in the repositories created in Phase 1, that information wasn’t making its way to the relevant organizational stakeholders. 

In parallel to expanding our detection content, Wiz’s Threat Exposure and Customer Incident Response Teams worked in concert to analyze the leaked data and notify victims directly. This white glove reporting reached over 50 major impacted organizations. The vast majority told us that this was the first indication they had received of this attack impacting them. 

What does it mean for malware to be AI-powered?

Much has been made of the role of AI in this attack, however analysis to date has remained high level. For a breakdown of the payload, we recommend the Socket blog post, in addition to our own. We also spoke with DarkReading about the reasons to integrate AI in this attack. In short, AI offers improved flexibility and novelty, potentially bypassing detection. However, it trades off against consistency, as there are more preconditions and the complexity opens more opportunities for the malware to fail.

So far, we’ve discussed “Phase 1” as a monolith. However, there were actually at least three distinct payloads across the dozen-plus malicious versions of Nx packages. This accounts for the presence of three distinct names for the repositories created with the leaked data: s1ngularity-repository, s1ngularity-repository-0, and s1ngularity-repository-1.

All three variants share code for identifying the presence of popular AI CLIs (Claude, Gemini, and Amazon Q): 

However, the prompt used evolved over the course of the attack. We will focus on the main Nx package, but similar patterns apply across all impacted packages. 
In Nx versions 20.9.0, 20.11.0, and 21.5.0, producing “s1ngularity-repository”:

In versions 21.6.0 and 21.7.0, producing “s1ngularity-repository-0”:

In versions 20.12.0 and 21.8.0, producing “s1ngularity-repository-1”:

The evolution of the prompt shows the attacker exploring prompt tuning rapidly throughout the attack. We can see the introduction of role-prompting, as well as varying levels of specificity on techniques. These changes had a concrete impact on the success of the malware. The introduction of the phrase “penetration testing”, for example, was concretely reflected in LLM refusals to engage in such activity.

How effective was the AI file identification?

Our sample of impacted repositories serves as a representative model of the overall victim pool.

The AI file identification required several conditions to be successful:

  1. Presence of one of more AI CLIs, with functional configuration and credentialing

  2. Valid response from LLM, without task rejection

  3. Useful response from LLM, successfully identifying sensitive files

We saw significant fall off at every step of this funnel.

Presence of one of more AI CLIs: roughly 50% of all victims had at least one AI CLI installed. The majority of those had Claude installed. A smaller portion, roughly 15%, had Gemini installed. For Q, it was 5%. Roughly 15% had two or more AI CLIs, and 1% had all three configured. Configuration was a recurring issue, with common examples being Credit issues (Claude), credential issues, --dangerously-skip-permissions requiring approval (Claude),  and MCP configuration issues.

Task refusal: LLM model providers generally build safety guardrails to mitigate malicious use of their APIs. These guardrails are not deterministic, but almost a quarter of Claude interactions were rejected. Similar behavior was observed in Q, which uses Claude models. Gemini demonstrated rejection at a lower rate. 

Successful execution: almost a quarter of Gemini interactions were foiled by default restrictions to workspace directories. In many other cases, across all tools, the search for sensitive files was only performed against Nx’s directory, consistently exfiltrating 14-15 non-sensitive Nx files. 

Overall, AI only exfiltrated data successfully in under a quarter of cases. We saw under 100 unique valid secrets across 20,000 exfiltrated files. The majority of these secrets were for AI services (Langsmith, Anthropic, OpenAI), and cloud platforms (AWS, Azure, Vercel). We have yet to observe any successful cryptocurrency related exfiltration.

Attacker tactics

One element of this attack that bears discussion is the choice of exfiltration mechanism. In the attacker’s initial compromise of Nx’s npm token, they appear to have leveraged webhook.site for remote exfiltration. However, they went on to make the deliberate choice to only exfiltrate data when the gh CLI was present and they could create a repository on the victim account.

Why? We believe that, as with the tj-actions attack, the attacker has optimized for their operational security. Both exfiltration mechanisms significantly limit their exposure, as they do not need to acquire any infrastructure. Webhook.site was useful in the initial compromise, but limits anonymous users to 100 records, requiring the attacker to use an alternative exfiltration mechanism given the large pool of victims. 

New TTPs and investigation opportunities

In addition to the IOCs and recommended actions from our first post, we wanted to share additional TTPs, observations on the attacker, and investigation opportunities. 

Note: Wiz customers can refer to the Threat Center entry for this incident, which surfaces the relevant controls, queries, and detections.

For Phase 1, you should investigate your GitHub Audit Logs for the s1ngularity string within repo.create event’s repo field. 

In Phase 2, we have observed:

  • The attacker leveraged TOR when accessing victim accounts. 

  • The attacker using a single threaded python script to publish repositories, with the following User Agents:

    • python-requests/2.32.3

    • python-requests/2.32.4

  • In your GitHub Audit Logs, you can review for:

    • the s1ngularity string within repo.access event’s repo field

    • a single user cloning a wide set of repositories in a short timeframe 

Organizations should also check their GitHub Audit Logs for the org_credential_authorization.deauthorize event by the “github-staff” actor_id. This event is tied to GitHub’s mass revocation of compromised credentials.

Conclusion

While the first burst of activity has concluded, we expect this incident to have a long tail. The leaked secrets each present the opportunity for further attacks on victim organizations or the supply chain at large. For example, we see over 40% of leaked npm tokens from the first phase still are valid, almost 100 unique tokens. In addition, for organizations impacted in the second phase, there is further attack surface in the exposure of any secrets in these formerly private repositories. 

Not only is the impacted data here presenting future risk, we can also see a clear pattern in the threat landscape. From Ultralytics, to tj-actions, and now on to Nx - attackers are clearly awake to the potential to escalate small GitHub Actions misconfigurations and build them into massive and messy supply chain attacks.