Supply Chain Security
Private Packagist stands between the open-source ecosystem and your builds. Malware is blocked before it reaches a developer machine or CI server, and your security policies are enforced for every single download.
Block malware, close insecure download paths, enforce a safe Composer version, and restrict Composer plugins. Configure it once for your whole organization.
Start Free Trial
Get in touch with us: send an e-mail to contact@packagist.com or chat with us.
Stop supply chain attacks before they reach your servers, developers, or AI agents
Attackers take over maintainer accounts of popular open-source packages and publish new releases containing malware.
Use Private Packagist to deliver all packages your teams install: a single download path you control.
Malware-flagged package versions are blocked and security policies are enforced server-side, no matter which Composer version asks.
Your application is built on open-source trust
Your own code is only the top layer of your application. Underneath sit dozens or hundreds of open-source packages, written by maintainers all over the world. When you install them with Composer, the metadata comes from Packagist.org. Without Private Packagist mirroring, the code itself is downloaded straight from wherever each maintainer chose to host it, usually GitHub.
That trust can be exploited. If attackers steal a maintainer's credentials, they can publish a malicious release of a package you already use, and your next dependency update pulls it in. Maintainers can also delete or alter their artifacts at any time. Recent incidents in the PHP ecosystem followed exactly this pattern. Composer plugins even execute code during composer install itself, so malicious code can run before anyone had a chance to look at it.
One download path you control
Private Packagist mirrors all your third-party dependencies. Every composer install in your organization downloads packages from your own Private Packagist repository instead of dozens of locations chosen by individual maintainers.
You get faster and more reliable installs, and the foundation for supply chain security: a single distribution point where your organization's security policies are enforced on every download, for every developer, every CI job and every AI agent.
Malware blocked for every Composer version
New releases on Packagist.org are automatically scanned for malware by Aikido and Socket. Private Packagist refuses to serve versions flagged as malware and responds with a clear error message instead of the download. The malicious code never touches your developers' machines, CI servers, or production systems, which keeps it out of scope for your compliance work.
Because the block happens server-side, it protects every Composer version, including a decade-old Composer pinned in a CI image, and it cannot be switched off in a project's local configuration, not even by a rogue AI agent. Malware blocking is enabled by default for all organizations, and flagged versions are blocked within minutes, without waiting for manual review.
Enforce a safe Composer version
The Composer client itself is part of your supply chain. It parses metadata, downloads archives, and runs plugin code, and older releases lack current protections like malware blocking through dependency policies.
You can restrict which Composer versions may access your repository, for example the current LTS and latest release series. Outdated clients receive a clear error message telling developers how to upgrade. No chasing individual team members, aging CI images, or uncareful AI agents.
Restrict Composer plugins across your organization
Composer plugins execute code on developer machines and CI servers during installs and updates. And any package can turn itself into a plugin: a perfectly ordinary library yesterday can publish a new version as a plugin today.
Instead of relying on each developer to make the right call when Composer prompts them, you define an organization-wide allowlist of trusted plugins, with wildcard support like symfony/*. Plugin versions of all other packages are filtered from your repository's metadata, and you can block their downloads even when they already appear in a lock file.
Built by the team behind Composer and Packagist.org
Private Packagist is run by the team that maintains Composer and Packagist.org, and the same work secures the whole ecosystem. Stable releases on Packagist.org are immutable, so a version you installed can no longer be silently replaced with different code. Blocked retag attempts and other security-relevant events are recorded in a public transparency log. Composer itself ships a dependency policy framework covering malware, security advisories, and abandoned packages.
Every Private Packagist subscription funds this work.
Our supply chain security work in the Composer ecosystem
An update on Composer & Packagist supply chain security
Supply chain attacks are on the rise across open-source ecosystems. How we respond when packages are compromised, and our security roadmap for Composer and Packagist.org.
Composer 2.10 Release
Composer 2.10 ships native malware filtering and a unified, customizable dependency policy configuration covering malware, security advisories, and abandoned packages.
Immutable Versions on Packagist
Stable versions on Packagist.org are immutable: once published, the git reference a version points to can no longer be silently changed or deleted.
Multi-layered defense with Private Packagist
Server-side enforcement is one layer of a secure setup. Combine it with Security Monitoring to get alerted about known vulnerabilities in your projects, Update Review to see exactly what changes with every dependency update, and Conductor to apply security patches within minutes of an advisory being published.
Do you have any questions or are you missing anything? Contact us at contact@packagist.com or chat with us.