Image: cdn.prod.website-files.com · rights & removal
Software supply chain security best practices for 2026
Reporting by Aikido Security ResearchRead the original at aikido.dev
Executive Summary
Supply chain attacks began surging in mid-2025, evidenced by the compromise of popular packages like axios and security tools such as Trivy and Checkmarx through the abuse of open source dependencies. Aikido Intel analyzed 7.5 million package versions in Q2 2026 and confirmed 19,500 malicious packages. The guide details supply chain security best practices designed to prevent past attacks, focusing on controls across dependency management, container hardening, and developer environments.
Key mitigation strategies involve implementing a 48-hour minimum package age to block recently published versions, ignoring postinstall scripts via flags like --ignore-scripts, and enforcing stricter dependency pinning using lockfiles and commit SHAs. The experience demonstrated that automated gating, such as a 48-hour delay between publication and adoption, can prevent widespread exposure of compromised releases, as seen with the axios scenario.
The article outlines specific technical controls for defense, including scoping access tokens, moving maintainer accounts to stronger identity methods like FIDO2 or passkeys, treating developer machines as production environments, enforcing allowlists for extensions, and treating MCP servers as dependencies requiring verification. These measures aim to stop malicious code from being installed at runtime and within the repository workflow.
Facts Only
* In Q2 2026, Aikido Intel analyzed approximately 7.5 million package versions.
* 19,500 malicious packages were confirmed between automated systems and human researchers.
* Attackers abused open source dependencies to infiltrate software, and supply chain attacks surged in mid-2025.
* Popular packages such as axios and security tools like Trivy and Checkmarx were compromised.
* A 48-hour minimum package age could have blocked compromised releases based on the axios incident involving a decoy and malicious version swap.
* The CanisterWorm republished incremented patch versions of over 60 packages in 24 hours, most flagged within minutes of publication.
* Attacks included compromising CI/CD pipelines via prompt injection, where an agent wrote repository secrets into public issue threads.
* Security controls include applying a 48-hour gate, blocking postinstall hooks with --ignore-scripts, and enforcing dependency pinning via lockfiles and commit SHAs.
* Container image tags are mutable pointers; pinning to a digest is recommended for reproducible builds.
* Scope tokens using fine-grained permissions is advised, and maintainer accounts should use FIDO2 or passkeys.
* Agent access should be scoped at configuration time and runtime sandboxed with network egress controls.
Full Take
The narrative shifts from reacting to known compromises to establishing immutable, verifiable boundaries across the entire software lifecycle. The core tension lies between the velocity of dependency evolution (new packages, frequent updates) and the necessary friction required for security enforcement (pinning, cooldowns). The effectiveness demonstrated by the 48-hour gate highlights that time-based controls act as a crucial delay mechanism against rapidly deployed malicious content, effectively inserting latency into the supply chain's natural flow.
The emphasis on pinning—using lockfiles and commit SHAs—reveals an underlying skepticism about ephemeral references (tags, branches). This suggests an assumption that dynamic pointers inherently introduce risk; therefore, forcing static, verifiable roots into the process counters the fluidity of dependency ecosystems by demanding cryptographic proof of origin for every piece of code.
Furthermore, the segmentation of controls—install-time vs. repository checking vs. runtime behavior (agents and endpoints)—indicates a recognition that no single layer is sufficient. An attack moving laterally from an exploited developer machine through a compromised package to CI/CD execution requires coordinated defense across all operational planes. The implication for human agency is that security must be baked into the tooling layers rather than relying solely on user vigilance, demanding infrastructure designed for failure and verifiable consistency over pure convenience.
Bridge Questions: If time-based gates are effective against package swapping, what are the non-time-based statistical metrics that should replace or augment these temporal controls? How can organizations effectively operationalize the principle of cryptographic immutability across diverse, asynchronous ecosystems without imposing paralyzing administrative overhead? What is the cost-benefit analysis of achieving absolute supply chain certainty versus maintaining development velocity?
From the original · Aikido Security Research
In the second quarter of 2026, Aikido Intel analyzed around 7.5 million package versions. Between our automated systems and human researchers, we confirmed 19,500 malicious packages.Read the full story at aikido.dev
