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

推荐订阅源

The Cloudflare Blog
U
Unit 42
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
腾讯CDC
罗磊的独立博客
博客园 - 聂微东
博客园_首页
雷峰网
雷峰网
云风的 BLOG
云风的 BLOG
Jina AI
Jina AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
D
DataBreaches.Net
The GitHub Blog
The GitHub Blog
人人都是产品经理
人人都是产品经理
Y
Y Combinator Blog
量子位
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
小众软件
小众软件
月光博客
月光博客
T
The Exploit Database - CXSecurity.com
Google DeepMind News
Google DeepMind News
H
Help Net Security
O
OpenAI News
Blog — PlanetScale
Blog — PlanetScale
S
Security Affairs
S
Security @ Cisco Blogs
Microsoft Security Blog
Microsoft Security Blog
T
The Blog of Author Tim Ferriss
AI
AI
MongoDB | Blog
MongoDB | Blog
G
Google Developers Blog
MyScale Blog
MyScale Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
D
Docker
Hugging Face - Blog
Hugging Face - Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
S
Schneier on Security
Cloudbric
Cloudbric
H
Heimdal Security Blog
J
Java Code Geeks
N
News and Events Feed by Topic
Hacker News - Newest:
Hacker News - Newest: "LLM"
宝玉的分享
宝玉的分享
有赞技术团队
有赞技术团队
S
SegmentFault 最新的问题
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
爱范儿
爱范儿
I
Intezer
GbyAI
GbyAI

Step Security Blog

Announcing Dependabot Configuration Enhancements: Cooldown and Group Support - StepSecurity Securing Vibe Coding and AI Coding Agents: An End-to-End Approach with StepSecurity - StepSecurity Introducing StepSecurity Dev Machine Guard: Protecting Developer Machines from Supply Chain Attacks - StepSecurity Top 2024 Predictions for CI/CD Security - StepSecurity Dev Machine Guard Is Now Open Source: See What's Really Running on Your Developer Machine - StepSecurity Datadog's DevSecOps 2026 Report Validates What We've Been Building - StepSecurity hackerbot-claw: An AI-Powered Bot Actively Exploiting GitHub Actions - Microsoft, DataDog, and CNCF Projects Hit So Far - StepSecurity Cline Supply Chain Attack Detected: cline@2.3.0 Silently Installs OpenClaw - StepSecurity StepSecurity’s Unified Protection Across the SDLC Infrastructure Threat Framework (SITF) - StepSecurity @velora-dex/sdk Compromised on npm: Malicious Version Drops macOS Backdoor via launchctl Persistence - StepSecurity axios Compromised on npm - Malicious Versions Drop Remote Access Trojan - StepSecurity 10 Layers Deep: How StepSecurity Stops TeamPCP's Trivy Supply Chain Attack on GitHub Actions - StepSecurity Malicious IoliteLabs VSCode Extensions Target Solidity Developers on Windows, macOS, and Linux with Backdoor - StepSecurity TeamPCP Plants WAV Steganography Credential Stealer in telnyx PyPI Package - StepSecurity litellm: Credential Stealer Hidden in PyPI Wheel - StepSecurity Checkmarx KICS GitHub Action Compromised: Malware Injected in All Git Tags - StepSecurity CanisterWorm: How a Self-Propagating npm Worm Is Spreading Backdoors Across the Ecosystem - StepSecurity Trivy Compromised a Second Time - Malicious v0.69.4 Release, aquasecurity/setup-trivy, aquasecurity/trivy-action GitHub Actions Compromised - StepSecurity bittensor-wallet 4.0.2 Compromised on PyPI - Backdoor Exfiltrates Private Keys - StepSecurity Malicious npm Releases Found in Popular React Native Packages - 130K+ Monthly Downloads Compromised - StepSecurity Malicious Polymarket Bot Hides in Hijacked dev-protocol GitHub Org and Steals Wallet Keys - StepSecurity ForceMemo: Hundreds of GitHub Python Repos Compromised via Account Takeover and Force-Push - StepSecurity xygeni-action Compromised: C2 Reverse Shell Backdoor Injected via Tag Poisoning - StepSecurity kubernetes-el Compromised: How a Pwn Request Exploited a Popular Emacs Package - StepSecurity How StepSecurity Caught a Release Storm in Microsoft’s @types Packages - StepSecurity Harden Runner Now Supports Windows and macOS GitHub Actions Runners - StepSecurity 10,000 Open-Source Projects Now Secured by Harden-Runner Community-Tier: A Milestone Three Years in the Making - StepSecurity 20+ Popular NPM Packages Compromised (Chalk, Debug, Strip-ANSI, Color-Convert, Wrap-ANSI...) - StepSecurity 2024 in Review: The Evolution of CI/CD Security & What's Next - StepSecurity How to Use Docker in Actions Runner Controller (ARC) Runners Securely - StepSecurity Celebrating 1000 Repositories Secured with Harden Runner: A Journey of Growth and Collaboration - StepSecurity StepSecurity Detects Early Supply Chain Risk Signals in kilocode npm - StepSecurity Another npm Supply Chain Attack: The 'is' Package Compromise - StepSecurity anthropics/claude-code-action Security: How to Secure Claude Code in GitHub Actions with Harden-Runner - StepSecurity Harden-Runner detection: tj-actions/changed-files action is compromised - StepSecurity StepSecurity's Catalog of Fixes - StepSecurity Orchestrating Security: StepSecurity's Impact on 400+ Repositories and Future Plans - StepSecurity Announcing Anomalous Outbound Call Detection Using Machine Learning - StepSecurity Announcing GitHub Actions Advisor and StepSecurity Maintained Actions - StepSecurity Analysis of Backdoored XZ Utils Build Process with Harden-Runner - StepSecurity Announcing General Availability of Harden Runner - StepSecurity Milestone Achieved: 2500+ Public Repositories Secured with Harden-Runner - StepSecurity Build secretless CI/CD pipelines using wait-for-secrets - StepSecurity Introducing Apps & PATs: Centralized Visibility for GitHub Apps and Personal Access Tokens - StepSecurity CVE-2026-22709: Critical Sandbox Escape Vulnerability in vm2 - StepSecurity StepSecurity Now Supports Dark Mode - StepSecurity 2025 in Review: The Evolution of Supply Chain Security & What's Next - StepSecurity Bake Harden-Runner Into GitHub's Custom Runner Images for Organization-Wide CI/CD Security - StepSecurity StepSecurity Is Now Available on Azure Marketplace - StepSecurity Critical Remote Code Execution Vulnerabilities Discovered in React Server Components and Next.js - StepSecurity How Harden Runner Detected the Sha1-Hulud Supply Chain Attack in CNCF's Backstage Repository - StepSecurity Sha1-Hulud: The Second Coming - Zapier, ENS Domains, and Other Prominent NPM Packages Compromised - StepSecurity Supply Chain Security Alert: eslint-config-prettier Package Shows Signs of Compromise - StepSecurity 9,000 Open-Source Projects Now Secured by Harden-Runner - StepSecurity Shai-Hulud: Self-Replicating Worm Compromises 500+ NPM Packages - StepSecurity Introducing npm Package Search: Find Where Any Package Was Introduced Across Your GitHub Organizations - StepSecurity StepSecurity Is Sponsoring GitHub Universe 2025 - StepSecurity s1ngularity: Popular Nx Build System Package Compromised with Data-Stealing Malware - StepSecurity Introducing StepSecurity Threat Intelligence: Real-Time Supply Chain Attack Alerts for Your SIEM - StepSecurity 8,000 Strong: Harden-Runner's Growing Impact on CI/CD Security - StepSecurity Securing Google Gemini in GitHub Actions with Harden-Runner - StepSecurity GhostAction Campaign: Over 3,000 Secrets Stolen Through Malicious GitHub Workflows - StepSecurity Introducing the NPM Package Cooldown Check - StepSecurity Securing GitHub Copilot in GitHub Actions with Harden-Runner - StepSecurity Calculate Your CI/CD Security ROI with StepSecurity's New ROI Calculator - StepSecurity How StepSecurity Harden Runner Detected Unexpected Microsoft Defender Installation on GitHub-hosted Ubuntu Runners - StepSecurity StepSecurity Harden Runner: Detect source code tampering during the build process - StepSecurity Suspicious Tag Movement in AWS’s GitHub Action: What Happened and Why It Matters - StepSecurity When 'Changed Files' Changed Everything: Our Black Hat 2025 Presentation on the tj-actions Supply Chain Breach - StepSecurity Lessons from AWS CodeBuild’s Memory-Dump Incident (CVE-2025-8217) - StepSecurity Supply Chain Security Alert: num2words PyPI Package Shows Signs of Compromise - StepSecurity When AI Meets CI/CD: Coding Agents in GitHub Actions Pose Hidden Security Risks - StepSecurity The GitHub Warning Everyone Ignores: 'This Commit Does Not Belong to Any Branch' - StepSecurity 8 GitHub Actions Secrets Management Best Practices to Follow - StepSecurity reviewdog GitHub Actions are compromised - StepSecurity 7,000 Open-Source Projects Now Secured by Harden-Runner - StepSecurity Replace Third-Party Actions with StepSecurity Maintained Actions via Automated Pull Requests - StepSecurity StepSecurity Is Now Available on AWS Marketplace - StepSecurity Introducing StepSecurity Artifact Monitor: Detect Unauthorized Software Releases in minutes, not months - StepSecurity Introducing Workflow Run Policies: Guardrails for Blocking Non-Compliant GitHub Actions Runs - StepSecurity Harden-Runner Detects New Traffic to release-assets.githubusercontent.com Across Multiple Customers - StepSecurity Grafana GitHub Actions Security Incident - StepSecurity Export Harden-Runner Security Insights and Detections to Amazon S3 - StepSecurity Evolving Harden-Runner’s disable-sudo Policy for Improved Runner Security - StepSecurity Announcing Policy-Driven Automated Pull Requests for CI/CD Misconfiguration Remediation - StepSecurity Announcing StepSecurity’s Integration with RunsOn: Secure and Optimized CI/CD Pipelines - StepSecurity Secure Repo Just Got Better: New Features for GitHub Actions Security Best Practices - StepSecurity Why Compliance Auditors Are Looking at Your CI/CD Runners - And How to Prepare - StepSecurity Harden-Runner Flags Anomalous Outbound Call, Leading to Docker Documentation Update - StepSecurity StepSecurity Harden-Runner Now Secures GitHub Actions Workflows for Over 5,000 Open Source Projects - StepSecurity GitHub Actions Pwn Request Vulnerability - StepSecurity Prevent Ultralytics Style CI/CD Security Attacks with Network Security Controls - StepSecurity PyTorch Supply Chain Compromise - StepSecurity Unified Network Egress View: Centralize GitHub Actions Network Destinations for Your Enterprise - StepSecurity Uniting Developers and Security: Celebrating the Success of 500+ Open Source Projects Using StepSecurity's Orchestration Platform - StepSecurity 5 Effective Third-Party GitHub Actions Governance Best Practices - StepSecurity StepSecurity Recognized Among CRN’s "10 Hottest DevOps Startups Of 2024" - StepSecurity Streamline Your GitHub Actions Workflows with StepSecurity’s Latest Feature - StepSecurity StepSecurity Steps Up the Security Game with SOC 2 Type 2 Compliance - StepSecurity StepSecurity's Alignment with CISA's CI/CD Security Guidance - StepSecurity
Behind the Scenes: How StepSecurity Detected and Helped Remediate the Largest npm Supply Chain Attack - StepSecurity
2026-04-06 · via Step Security Blog

It has been a week since the axios compromise, and we wanted to take some time to reflect. We published a detailed technical analysis during the incident and have been continuously updating it. But the human story, the frantic evening, the deleted GitHub issues, the community rallying together at midnight, that part hasn't been told yet. This is that story.

axios is the most popular HTTP client in the JavaScript ecosystem, with over 100 million weekly downloads, more than 17 million repositories and 240 thousand packages as dependents. By download count, this is the largest compromise of a single package in npm history. A state-sponsored threat actor hijacked it, and when we created a GitHub issue to warn the community, they deleted it. We created it again. They deleted it again. This happened about 20 times. This was not a random opportunist. It was a coordinated, state-sponsored operation specifically targeting one of the most widely-used packages in the entire npm ecosystem. This is the behind-the-scenes story of how it all unfolded.

The Alert

It was a Monday evening in Seattle. After a stretch of responding to high-profile supply chain attacks like TeamPCP/Trivy, Checkmarx KICS, and LiteLLM, we were hoping for a quiet night.

That didn't happen.

As soon as the compromised axios package was published to npm, StepSecurity's AI Package Analyst analyzed it in real time and returned a verdict of critical / rejected. The conclusion was unambiguous: this was a malicious version of the legitimate axios library, showing clear signs of a supply chain compromise through package hijacking. The automated analysis flagged six distinct suspicious indicators, such as an undocumented and unused dependency (plain-crypto-js) that was never imported anywhere in the source code, a version mismatch between package.json and internal version data, a missing CHANGELOG entry, and dropped provenance attestation.

StepSecurity Harden-Runner, our purpose-built endpoint detection and response (EDR) agent for GitHub Actions, independently confirmed the analysis. Harden-Runner detected an anomalous outbound network call to the C2 domain sfrclak.com from CI/CD runners that had installed the compromised package. The network-level detection from Harden-Runner, combined with the static analysis from AI Package Analyst, gave us high confidence in the verdict before any human had reviewed the code.

As part of our threat intelligence capability, StepSecurity operates a 24x7 SOC with PagerDuty integrations for critical detections. Ashish, our co-founder and CTO, was on call that night and was the first to get paged. Within minutes, cross-referencing the AI Package Analyst findings, Harden-Runner network alerts, and a quick manual code review, he confirmed what the automated systems were telling us: axios was compromised.

StepSecurity maintains over 250 GitHub Actions, primarily authored in Node.js, so we knew firsthand how ubiquitous axios is. The severity of this was immediately clear.

Ashish sent an urgent message to our general Slack channel sharing his assessment and started the incident bridge call.

I was about to head out for a grocery run when Ashish's message hit our Slack channel. I dropped everything and rushed back to join the bridge call. Our customer support team on the US East Coast was wrapping up their day. Our teammates in India were about to start theirs. Within minutes, multiple team members from across time zones joined the call.

Verifying the Unknown

Before sounding the alarm publicly, we wanted to be responsible. We had a detection and high confidence in its accuracy, but before telling the world that one of the most widely-used npm packages had been compromised, we needed to verify that we were not duplicating someone else's work or missing context that could change the picture.

We checked LinkedIn. We checked X. We searched the blogs of other software supply chain security companies. We looked for any posts, threads, or vendor alerts that might indicate someone had already flagged this. We found nothing.

As far as we could tell, nobody had published about the compromise yet, and the malicious versions were still available on npm for anyone running npm install to pull down. Every minute that passed, more developers and CI/CD pipelines were pulling in a package that would silently install a remote access trojan on their machines. With no one else raising the flag, we needed to act.

Sounding the Alarm

We moved on multiple fronts simultaneously. We published a threat center alert and sent notifications to our enterprise customers via Slack, Web hook and S3 integration to notify their SOC team, so they could immediately assess their own exposure. This is part of our standard incident response workflow: when our SOC detects a critical supply chain compromise, our enterprise customers are the first to know.

We published a blog post with a summary of our findings, including the compromised versions (1.14.1 and 0.30.4), the injected plain-crypto-js dependency, and the C2 domain. Ashish posted an advisory on LinkedIn breaking down the key indicators of compromise so that developers scrolling their feeds would see the warning.

Then Ashish turned to the axios GitHub repository and created an issue to work with the maintainers to alert the community.

He also reported the compromised packages as malware to npm, flagging both axios@1.14.1 and axios@0.30.4 along with the malicious plain-crypto-js dependency.

The Threat Actor Strikes Back

Then something we didn't expect happened. When Ashish went back to the GitHub repository to check on the issue he had created, it was gone. Deleted. No trace of it.

The threat actor had compromised not just the maintainer's npm account, but their GitHub account as well. And they were actively monitoring the repository, using the compromised account to silently delete every issue that tried to warn the community about what was happening.

Ashish created the issue again. Community members who had also noticed something was wrong immediately began commenting on it, sharing their own findings, asking questions, and confirming the compromise from their own analysis. Within minutes, the issue was deleted again.

So he created it again. And again. And again.

Every single time Ashish created a GitHub issue, community members would jump in with comments. Every single time, the adversary would use the compromised maintainer's account to wipe it. Each deletion confirmed what we had suspected: the attacker didn't just have the npm token, they had full control of the maintainer's GitHub account and were actively monitoring the repository.

This happened approximately 20 times. It was a real-time tug of war between the community trying to warn developers and the threat actor trying to keep the compromise hidden.

While this cat-and-mouse game played out on GitHub, Ashish also raised a GitHub account abuse ticket, explaining that the maintainer's account appeared to be compromised and was being used to delete legitimate security advisories. Both GitHub and npm support acted swiftly. GitHub suspended the compromised maintainer's account, stopping the issue deletions and preventing any further malicious actions from that account.  

npm removed the malicious packages from the registry and placed security holds on the attacker's auxiliary packages.

Once the compromised account was suspended, GitHub issue #10604 finally stuck. It became the central thread for the community's recovery effort, eventually garnering over 1100 reactions and more than 800 comments from developers around the world sharing indicators of compromise, remediation steps, and their own forensic findings.

Working With the Community

With the immediate threat contained, we organized into sub-teams to handle the next phase of the response. One team focused on direct support for StepSecurity enterprise customers. Another team dived deeper into the technical forensics and documenting the full attack chain. A third team turned its attention to the broader open-source community.

StepSecurity Harden-Runner's community tier is free for open-source projects, and it is currently used by more than 12,000 open-source projects. Harden-Runner insights are public for community-tier users by design, so that anyone can view them without requiring a login. Using these public insights, we discovered that several open-source projects had installed the compromised package during the attack window. We proactively created GitHub issues in affected repositories to notify their maintainers, linking to the relevant Harden-Runner insights pages so they could see the evidence for themselves.

We were getting questions from the community across multiple channels: GitHub, LinkedIn, direct messages, and email. Developers wanted to know if they were affected, what the indicators of compromise were, whether deleting node_modules and reinstalling was sufficient (it was not).

At around midnight Pacific Time, I suggested we host a community call on Wednesday at 10 AM PT and set up a webinar registration page. I honestly wasn't sure how many people would show up on that kind of notice. To our genuine surprise, the response was overwhelming. 472 people had registered and on Wednesday morning, 200 community members attended the call live.

The call was something special. It was not just us presenting findings. It was the community sharing, questioning, and helping each other in real time. Attendees raised insightful questions about whether secondary sleeper attacks could follow from credentials exfiltrated in earlier supply chain incidents. One community member drew a parallel to the Shai-Hulud campaign and asked whether attackers sitting on stolen credentials might be waiting patiently before striking, "like the shapeshifters in Dune 3." Someone asked about the tension between cooldown policies and CVE-driven urgency: if a new package version patches a critical vulnerability, how do you balance the need to update quickly with the risk that the patch itself could be compromised? Another attendee asked whether the C2 server may have served different RAT variants based on the device fingerprinting data the first-stage payload was collecting. A developer shared that their Azure Kubernetes cluster had installed the malicious version but their firewall had blocked the C2 domain, and wanted to know if that was sufficient. Community members pointed out additional C2 infrastructure from a Wiz article that we had not seen yet, and we updated our blog post with the new IOCs as a result.

We ourselves learned several things from that conversation that improved our understanding of the incident. The webinar reminded us that the best security research is collaborative. You can watch the full recording on YouTube.

Throughout the incident, we continuously updated our blog post as our understanding deepened. It became a living document, evolving with every new finding the community shared with us, from additional IOCs to remediation guidance.

The Ripple Effect

It was gratifying, and humbling, to see the broader community come together so quickly around this incident.

On GitHub, issue #10604 became the de facto coordination hub for the response. Community members contributed forensic details, shared detection scripts, asked and answered questions about remediation, and helped each other assess their exposure. The axios project's other collaborators worked around the clock to restore trust in the package once the compromised account was suspended, publishing clean versions and communicating transparently with their user base.

It was great to see other software supply chain security companies raise awareness about the issue and contribute their own analysis. Datadog, Aikido, Wiz, Endor Labs, SafeDep, Socket, Huntress, Malwarebytes, Sophos, and SANS all published detailed write-ups and advisories that helped amplify the alert across the ecosystem. This is how the security community should work: everyone contributing what they can, when they can. No single company has complete visibility, and the faster information flows, the faster the ecosystem can respond.

Media Coverage

We are really grateful for the press coverage StepSecurity received during this incident. The scale of the axios attack meant it reached well beyond the security community and into mainstream technology coverage. Bloomberg covered the incident, bringing it to the attention of enterprise leadership and boards of directors who may not follow npm advisories but do follow financial news. Dark Reading published a detailed analysis. TechCrunch covered the North Korean attribution angle. CSO Online called it the highest-impact npm supply chain attack on record.

The Hacker News, Bleeping Computer, The Register, Help Net Security, SC Magazine, VentureBeat, and InfoQ all published their own coverage. Our blog post reached #1 on Hacker News, where it sat at the top of the front page for hours. On the threat intelligence side, Google's Threat Intelligence Group, Microsoft Security, Palo Alto Unit 42, Cisco Talos, Elastic Security Labs, and Datadog Security Labs published in-depth technical analyses and detection guidance.

Andrej Karpathy shared our blog on X. Fireship, the popular YouTube channel with over 4 million subscribers, featured our technical analysis in their coverage of the incident. Moments like these remind a small team like ours that the work matters.

A Community Confirmation

In the days following the incident, the compromised maintainer themselves posted a detailed comment on GitHub issue #10604 confirming what had happened. They had been targeted by a highly sophisticated social engineering campaign. An individual approached them posing as a founder of a legitimate company and initiated what appeared to be a normal open-source collaboration opportunity. The attacker created a fake Slack workspace branded to the supposed company, set up CI infrastructure to make the collaboration appear genuine, and scheduled a video call on Microsoft Teams. During the call, they used a fake error message to trick the maintainer into downloading a "fix" that turned out to be a remote access trojan.

Through this RAT, the attacker gained access to the maintainer's machine and stole a long-lived npm access token. This token allowed them to publish the compromised axios versions directly, bypassing the project's OIDC-based publishing controls that would have otherwise required the publish to originate from a trusted CI/CD environment. The attacker also gained access to the maintainer's GitHub account, which they used to delete the issues we were creating to warn the community.

Google's Threat Intelligence Group subsequently attributed the attack to North Korean threat actor UNC1069. Microsoft Threat Intelligence independently attributed it to Sapphire Sleet, their name for the same North Korean state-sponsored group. This was not a random opportunist. It was a coordinated, state-sponsored operation specifically targeting one of the most widely-used packages in the entire npm ecosystem.

The maintainer's willingness to share exactly what happened takes real courage. Social engineering campaigns of this sophistication can fool anyone. By being transparent about the attack vector, they helped the entire open-source community understand the threat and take steps to protect themselves. We have enormous respect for that.

The Bigger Picture

The axios compromise did not happen in isolation. Over the past year, our team has detected and responded to a series of major supply chain attacks, includingtj-actions/changed-files, Shai-Hulud (780+ npm packages), TeamPCP/Trivy, Checkmarx KICS, and LiteLLM. The frequency is accelerating, and the axios attack came right on the heels of three other major incidents in March 2026 alone.

Each of these attacks shows increasing sophistication. The axios attack, with its pre-staged decoy dependency, its precisely timed publishing across both current and legacy branches, its device fingerprinting and platform-specific RAT delivery, and its active real-time suppression of community warnings by deleting GitHub issues, represents a level of operational tradecraft that should give every engineering organization pause.

These attacks share a common pattern. They target the trust relationships that make open source work: maintainer credentials, publishing tokens, CI/CD pipelines, the assumption that a new version of a package you already depend on is safe to install. And they are increasingly attributed to state-sponsored actors with significant resources, patience, and operational security.

We are grateful to the axios maintainers for their transparency and resilience. We are grateful to every community member who commented on the GitHub issue, joined our community call, shared their findings, and helped others understand whether they were affected. We are grateful to GitHub and npm for acting quickly to suspend the compromised accounts and remove the malicious packages. And we are grateful to the broader security community, the researchers, the vendors, the journalists, the developers who took the time to spread the word, for making the ecosystem's response to this incident as fast and coordinated as it was.

Supply chain attacks are not slowing down. If anything, the pace is accelerating, and the adversaries are getting better. The question is not whether the next one will happen, but whether we will be ready when it does.

When I think about this past week, what stays with me is the image of our small team, spread across time zones, going up against a state-sponsored threat actor in real time. I am incredibly proud of what this team pulled off. At StepSecurity, we will keep building, keep detecting, and keep showing up when it matters most.