On March 31, 2026, malicious versions of the widely used JavaScript HTTP client library Axios were briefly published to the npm registry as part of a supply chain attack. The affected versions — 1.14.1 and 0.30.4 — included a hidden malicious dependency that executed during installation and connected to attacker-controlled command-and-control (C2) infrastructure to retrieve […]
The post Axios npm Supply Chain Compromise – Guidance for Azure Pipelines Customers appeared first on Azure DevOps Blog.
On March 31, 2026, malicious versions of the widely used JavaScript HTTP client library Axios were briefly published to the npm registry as part of a supply chain attack.
The affected versions — 1.14.1 and 0.30.4 — included a hidden malicious dependency that executed during installation and connected to attacker-controlled command-and-control (C2) infrastructure to retrieve a second-stage payload.
Because modern development workflows frequently rely on automated dependency resolution during CI/CD builds, environments such as developer workstations and build agents—including those used in Azure Pipelines—may have been exposed if they resolved the compromised versions during installation or update.
For a detailed technical analysis of the attack and recommended mitigations, please refer to the Microsoft Security Blog:
Mitigating the Axios npm Supply Chain Compromise on the Microsoft Security Blog.
Impact on Azure PipelinesThis incident does not represent a compromise of Azure Pipelines itself.
Customers who:
are not affected by any compromise of the Azure Pipelines platform or hosted agent infrastructure as a result of this npm ecosystem attack.
Azure Pipelines Microsoft-hosted agents execute jobs on Microsoft-managed virtual machines. Each pipeline job runs on a newly provisioned VM that is discarded after the job completes. Any changes made during a job are not persisted to subsequent jobs. See Microsoft-hosted agents for Azure Pipelines and Azure Pipelines agents on Microsoft Learn.
However, CI/CD pipelines execute customer-defined workflows, including installing third-party dependencies during build time. If a pipeline run installed one of the malicious Axios versions, code executed during package installation, and any credentials or secrets available to that affected job should be treated as potentially exposed.
If Your Pipelines Include Custom Scripts, Extensions, Self-Hosted Agents, or Containers, We Recommend the Following ActionsYou may be at risk if your Azure Pipelines workflows include:
Self-hosted agents are customer-managed compute infrastructure used to run pipeline jobs. See Azure Pipelines agents on Microsoft Learn.
Self-hosted agents that executed pipeline builds during the compromise window may have:
We recommend:
Review whether any:
used in your pipelines depend directly or transitively on Axios and executed npm install or update operations during pipeline execution.
Pipeline steps that resolve compromised dependencies may have access to:
Azure Pipelines uses service connections to authenticate pipelines to external or remote services such as:
If compromised dependencies executed within a pipeline job, identities or credentials associated with service connections used during that run may have been exposed.
We recommend:
Compromised dependencies may persist in:
npm/yarn/pnpm cache directoriesClear dependency caches associated with affected repositories or agents to prevent reuse of compromised packages in future builds.
Artifacts generated from runs that installed the malicious package versions should be treated as untrusted and replaced with clean builds.
What to do nowReview any pipeline runs that may have installed the affected Axios versions, especially in workflows that use self-hosted agents, custom tasks, third-party extensions, or containerized build environments.
For detailed attack analysis, indicators of compromise, and mitigation guidance, see Mitigating the Axios npm Supply Chain Compromise on the Microsoft Security Blog.
What to review in your pipelinesAvoid loose semantic version ranges such as:
"axios": "^1.13.0"
Loose constraints may automatically resolve to newly published versions during routine installs — including compromised ones.
Use Lockfiles and Deterministic InstallsEnsure your pipelines:
package-lock.json / yarn.lock / pnpm-lock.yamlnpm ci)This helps prevent unexpected dependency resolution during CI/CD runs.
Limit Secret Scope in PipelinesMinimize exposure by:
Do not assume that:
produced during a compromised pipeline run are safe.
Rebuild affected outputs after remediating dependencies.
How to reduce future supply chain riskTo understand the attack mechanics, indicators of compromise, and Microsoft’s mitigation guidance, please review: Mitigating the Axios npm Supply Chain Compromise on the Microsoft Security Blog.
Self-hosted agents that executed pipeline builds during the relevant timeframe should be reviewed for signs that they installed the malicious package versions or the injected dependency plain-crypto-js@4.2.1.
We recommend:
npm install or npm ci runs that resolved axios@1.14.1, axios@0.30.4, or plain-crypto-js@4.2.1sfrclak[.]com or 142.11.206.73 on port 8000If an affected pipeline run had access to service connections or deployment credentials, those credentials should be treated as potentially exposed.
We recommend:
Review pipeline logs for npm install or npm ci executions that resolved:
axios@1.14.1axios@0.30.4plain-crypto-js@4.2.1Also review network and endpoint telemetry for the following indicators:
sfrclak[.]com142.11.206.73hxxp://sfrclak[.]com:8000/6202033| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | The npm attack that turned provenance attestations into camouflage | 0 | 19.69 | 07-08-2026 |
| 2 | It took $58 to break Microsoft’s SCCM, but a patch made it harder | 0 | 12.46 | 13-08-2026 |
| 3 | Upcoming Change: NTLM Removal in Git (libcurl) – Impact to Azure DevOps Server Customers | 0 | 6.2 | 01-07-2026 |
| 4 | GitHub Actions Compromise CI/CD Supply Chain Risks Explored | 0 | 8 | 26-05-2026 |
| 5 | Several npm repositories compromised | 0 | 5 | 01-06-2026 |
| 6 | You can now use the Azure DevOps Service Connection instead of a PAT or Build Session token | 0 | 4.13 | 06-08-2026 |
| 7 | Red Hat npm Package Compromise Highlights a Growing Supply Chain Problem | -2 | 7 | 02-06-2026 |
| 8 | Azure DevOps Remote MCP Server is generally available | 0 | 5.71 | 05-08-2026 |
| 9 | Amazon pins multiple open source compromises on North Korea | 0 | 9.14 | 30-07-2026 |
| 10 | Постэксплуатационный фреймворк теперь доставляется и в npm | 0 | 7.43 | 17-10-2025 |