Spectra Assure Free Trial
Get your 14-day free trial of Spectra Assure
Get Free TrialMore about Spectra Assure Free Trial
The compromise of axios, a JavaScript client library, is one of the most significant supply chain breaches ever. Used to enable web requests, the axios library is downloaded nearly 100 million times each week and has more than 174,000 dependent software libraries and applications.
Starting on Sunday, compromised versions of axios npm packages 1.14.1 and 0.30.4 were detected. The packages did not contain malicious code, and they operated normally, but they included a new software dependency, plain-crypto-js@4.2.1, that ran a post-installation script on systems that downloaded and installed the axios library. The script deployed a RAT (remote access Trojan) that targeted devices using the MacOS, Windows, or Linux operating systems.
Soon after the axios breach was detected on npm, ReversingLabs observed the compromise spread to the Python Package Index (PyPI) and NuGet ecosystems through JSII modules in version 0.0.194 of the jjrawlins-cdk-iam-policy-builder-helper package, with the compromised versions of axios npm package as a dependency.
Reports attribute the compromise to North Korea-linked threat actors, based on threat indicators. That is consistent with prior operations targeting crypto-adjacent organizations and resulting in the large-scale theft of credentials and source code.
Joshua Wright, a faculty fellow at the SANS Institute and senior technical director at Counter Hack Challenges, told CyberScoop that as many as 600,000 downloads of the malicious axios packages may have occurred, given the length of time the packages were online. The security implications of those compromises could be massive.
“As soon as you install the software, it scrapes access credentials, and so now threat actors could pivot to AWS [or] other GitHub packages through scraped GitHub keys, and that’s the part that’s really difficult to articulate."
—Joshua Wright
The question for developers and development organizations is how to respond and ensure that they are not impacted by the axios compromise. Here are some suggestions to keep you safe.
At a high level, development teams should model their response around the attacker's known priorities, which are to maximize the number of compromised organizations, harvest cloud secrets and access tokens, and exfiltrate intellectual property, including application source code.
A secondary outcome of lower probability is disruption, such as through the deployment of ransomware.
Here are steps to take to address the immediate risks of credentials misuse and IP theft:
Beyond the steps to address the immediate risk of compromise, development organizations should adopt practices and measures that will prevent similar attacks in the future. Those include:
A conventional SBOM tells you what components are present. An xBOM goes further, capturing relationships between components, cloud service dependencies, cryptographic assets, and ML models, all mapped across the full software development lifecycle.
In the context of the axios compromise, this additional insight matters because an SaaSBOM and CBOM would, after a supply chain compromise, sharply reduce your time to:
An xBOM provides additional information on each component and dependency — including relationships between different parts of an application and known vulnerabilities. When responding to the axios incident, practitioners with an xBOM don’t have to ask which packages they have and can focus instead on questions like which cloud services those packages were calling and what cryptographic material was accessible to them They can more precisely and quickly detect, scope, and respond to the incident.
For a full breakdown of what xBOM covers and how it maps to CycloneDX and SPDX export formats, see the ReversingLabs xBOM documentation. For context on why the industry is moving toward xBOM as a baseline requirement, see the RL blog post “Rise of the xBOM: The new go-to tool for software security.”
RL’s Spectra Assure provides complex binary analysis that enables software buyers to analyze third-party software without the need for source code — giving security teams a comprehensive view of what was present in software at a given point in time. And including binary analysis in the onboarding process enables organizations to have broader visibility across their software portfolio. That capability is critical for scoping exposure after a supply chain compromise and can improve incident-response effectiveness.
RL also hosts the Spectra Assure Community, a free platform where developers, DevOps engineers, and security practitioners can check the security status of open-source packages and developer tools. For the axios compromise specifically, practitioners can use it to check for affected package versions, identify whether their builds pulled in a compromised version, and verify the integrity of other npm dependencies in their pipeline.
The contents of software package and developer tool repositories are continually analyzed by RL, with the latest findings immediately available on the Spectra Assure Community website. And with a free Community API token, teams can automate checks on OSS dependencies and secure their pipeline at every stage of software development.
To automate the checks in a CI/CD pipeline, we recommend using RL-Protect or the RL-Protect GitHub Action, which detect compromised packages to prevent them from being incorporated into your builds.
Get started at docs.secure.software/community, or go directly to the Spectra Assure Community. For CI/CD integration details, see the rl-protect documentation.
Explore RL's Spectra suite: Spectra Assure for software supply chain security, Spectra Detect for scalable file analysis, Spectra Analyze for malware analysis and threat hunting, and Spectra Intelligence for reputation data and intelligence.
Get your 14-day free trial of Spectra Assure
Get Free TrialMore about Spectra Assure Free Trial