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

推荐订阅源

V
V2EX
J
Java Code Geeks
月光博客
月光博客
博客园_首页
The GitHub Blog
The GitHub Blog
Vercel News
Vercel News
B
Blog RSS Feed
博客园 - 聂微东
宝玉的分享
宝玉的分享
T
Tailwind CSS Blog
Jina AI
Jina AI
S
SegmentFault 最新的问题
B
Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
有赞技术团队
有赞技术团队
Hugging Face - Blog
Hugging Face - Blog
Google DeepMind News
Google DeepMind News
阮一峰的网络日志
阮一峰的网络日志
The Cloudflare Blog
量子位
Martin Fowler
Martin Fowler
博客园 - Franky
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗

Aikido Security's Blog

GlassWorm goes native: New Zig dropper infects every IDE on your machine Aikido Attack finds multiple 0-days in Hoppscotch The cybersecurity doomerism around Mythos doesn't match what we see on the ground axios compromised on npm: maintainer account hijacked, RAT deployed Popular telnyx package compromised on PyPI by TeamPCP Aikido × Lovable: Vibe, Fix, Ship CanisterWorm Gets Teeth: TeamPCP's Kubernetes Wiper Targets Iran TeamPCP deploys CanisterWorm on NPM following Trivy compromise Security testing is validating software that no longer exists Aikido Recognized by Frost & Sullivan with the 2026 Customer Value Leadership Award in ASPM GlassWorm Hides a RAT Inside a Malicious Chrome Extension fast-draft Open VSX Extension Compromised by BlokTrooper Glassworm Strikes Popular React Native Phone Number Packages Glassworm Is Back: A New Wave of Invisible Unicode Attacks Hits Hundreds of Repositories How Security Teams Fight Back Against AI-Powered Hackers Introducing Betterleaks, an open source secrets scanner by the author of Gitleaks Trump’s 2026 cybersecurity strategy: From compliance to consequence How does AI pentesting work with compliance? What continuous pentesting actually requires Rare Not Random: Using Token Efficiency for Secrets Scanning Persistent XSS/RCE using WebSockets in Storybook’s dev server Why Determinism Is Still a Necessity in Security WAF vs. RASP vs. ADR Introducing Aikido Infinite: A new model of self-securing software How Aikido secures AI pentesting agents by design Astro Full-Read SSRF via Host Header Injection How to Get Your Board to Care About Security (Before a Breach Forces the Issue) What is Slopsquatting? The AI Package Hallucination Attack Already Happening SvelteSpill: A Cache Deception Bug in SvelteKit + Vercel Top 6 Wiz Code Alternatives
Packagist is now protected by Aikido Intel and other upda...
Dania Durnas · 2026-06-26 · via Aikido Security's Blog

Running an open source registry means fighting fires. Another maintainer’s account gets popped, another malicious package. The takedown is always one upload behind. The job never ends, and most registries, run by small teams with little cash, are often too stretched to do much beyond keep up with it. But lately, we’ve been seeing more positive changes in the open-source world, with ecosystems making the structural changes that stop a kind of attack from working at all.

The small team that maintains Packagist.org and Composer, the registry and package manager behind the PHP world, has been doing deliberate, preventative security work and making meaningful improvements. Aikido is a big supporter of the effort. Aikido’s Intel feed powers malware blocking in Composer for downloads. It’s enabled by default for Composer 2.10 and higher for everyone. This sits alongside a stack of other changes Packagist made and is making, each one working to end entire categories of attacks instead of chasing single packages. 

We’re starting to see this trend of improvements across package registries, and we’re excited to be able to support these initiatives. PHP developers can rest easier now, knowing there are more guardrails in place to prevent them from accidentally installing malware. 

Malware blocking in Composer

The easiest win is to prevent users from installing a package version that is already known to be malicious. Thanks to Aikido Intel, Composer now knows which versions have been flagged and won’t install them. 

When Aikido flags a malicious package version, that flag lives inside the package metadata Composer downloads. Composer 2.10's dependency policy framework pulls the flagged version out of the resolution pool, so `composer update`, `composer require`, and `composer create-project` won't select it. The most important check is the one on `composer install`, because a version flagged after your lockfile was written fails on the next install. If, for some reason, a user still wants to download a blocked package, they can manually override it.

This integration works because it's:

  • Open: The feed Aikido provides to Packagist is CC-BY licensed, so the protection isn't tied to a six-figure contract, and the door stays open for other data providers to plug in. Security that only the well-funded can afford doesn't protect us.
  • On by default: A protection that needs people to opt in protects almost nobody (because it's hard to get people to opt in). Defaults are where ecosystem security lives, and the 2.10 default requires nothing from users for them to benefit.
  • Fast enough: Malicious versions usually get taken down within a few hours, so a feed that flags them in minutes protects users in the window between detection and removal. Because the block only works when something is detected, slow detection wouldn't help much.
  • Automated: Because the malicious package gets blocked as soon as Aikido detects it, there’s no extra delay in waiting for someone to manually blacklist or remove the package, so users are protected faster.

Wiring Aikido’s detection into every install was just one of the improvements Packagist has shipped recently.

Closing doors instead of patching holes

Next, re-tagging. Publishing to Packagist has always meant pushing a git tag, and the registry pulls whatever that tag points at. That system allowed attackers who hijacked a trusted account to re-tag a published version and point it at malicious code, so that version number now carries some payload (which we saw in the recent attack on Laravel-Lang). Packagist's answer, stable version immutability, means a published stable version can no longer be rewritten. That ends the re-tagging attacks as whole. GitHub has the equivalent, but they made it opt-in. Packagist made it mandatory.

Finally, trying to get people to update software is like pulling teeth. A default block only helps the people running a current Composer, and many people aren’t. A CI image or an AI agent often runs a version from years ago, so Private Packagist can require a current Composer to connect. It also refuses to serve a flagged version's files to any client at all, old or new.

Packagist.org isn’t done yet, and they have a few security improvements coming. They’re planning a minimum release age, which would blunt attacks that rely on a short window before detection catches up (in the meantime, you can get similar protection with Aikido Safe Chain, also free). They’re also creating organizational ownership, which will allow for mandatory MFA, as well as staged releases, which npm recently shipped.

Moving toward safer package registries

This is not only a PHP story. As we mentioned, npm is moving the same way with staged publishing, but also turning off automatic install scripts. PyPI made 2FA mandatory and built a quarantine system, and crates.io and RubyGems adopted trusted publishing through a shared OpenSSF design. Ecosystems are moving in the right direction. We want to see a lot more of it, faster, and we keep supporting where we can. 

Are you a PHP developer? Composer clients older than 2.10 don’t have this feature, so make sure you update today if you haven’t. Not using PHP? Aikido Safe Chain is an open-source tool that also prevents you from installing new or malicious packages before they get installed on your device.

Regardless of the ecosystems you depend on, you can check out what Aikido Intel is flagging across the interwebs. The feed is public and free at intel.aikido.dev.