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

推荐订阅源

WordPress大学
WordPress大学
V
V2EX
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Jina AI
Jina AI
小众软件
小众软件
量子位
博客园 - 三生石上(FineUI控件)
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - Franky
博客园_首页
IT之家
IT之家
S
SegmentFault 最新的问题
博客园 - 叶小钗
阮一峰的网络日志
阮一峰的网络日志
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
T
Tailwind CSS Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
爱范儿
爱范儿
月光博客
月光博客
有赞技术团队
有赞技术团队
H
Help Net Security
云风的 BLOG
云风的 BLOG

Socket

Fake Corepack Site Distributes Infostealer and Proxyware to ... Large-Scale GitHub Actions Abuse Powers a Distributed cPanel... New Study Identifies 53 Slopsquatting Targets Across 5 Front... White House Launches Gold Eagle Initiative to Manage Surge i... Suno Breached via Shai-Hulud Worm, Leaked Code Exposes AI Mu... Next.js moves to scheduled security releases - Socket 11 Malicious NuGet Tools Pose as Game Cheats to Drop a Windo... Compromised npm Packages in the AsyncAPI Namespace Deliver M... jscrambler npm Package Compromised in Supply Chain Attack - ... Fake Braintree NuGet Package Skims Credit Cards and Harvests... Compromised Injective SDK npm Package Exfiltrates Wallet Key... npm v12 Ships With Install Scripts Off by Default, Begins De... Malicious Go Module Exposes GitHub Malware Lure Network Span... pnpm 11.10 Hardens Registry Authentication to Block Token Re... Coordinated npm and PyPI Campaign Typosquats Popular Secure ... Node.js Considers Public Workflow for Security Reports Amid ... PolinRider: North Korea-Linked Supply Chain Campaign Expands... Risky Biz Podcast: AI Agents Are Raising the Stakes for Soft... Chrome and Firefox Extensions Posing as Free VPNs Add Clipbo... Miasma Mini Shai-Hulud Hits ImmobiliareLabs npm Packages - S... Rolldown Pulls Rust React Compiler Integration After Binary ... Miasma Mini Shai-Hulud Hits LeoPlatform npm Packages and Git... Frontier AI Is Now Critical Infrastructure - Socket The Code You Didn't Write Is Still Yours to Defend - Socket GitHub Actions Checkout Now Blocks Risky pull_request_target... Introducing Repository Access Permissions and Custom Roles -... Socket MCP Adds Org Alerts, Threat Feed Review, and Package ... Socket Firewall Now Blocks Malicious VS Code and Open VSX Ex... 140+ Mastra npm Packages Compromised in Coordinated Supply C... npm Package Uses Prompt Injection and Token Flooding to Disr...
npm Tooling Bug Incorrectly Marks One-Character Packages ...
Sarah Gooding · 2026-06-10 · via Socket

Sidebar CTA Background

Secure your dependencies with us

Socket proactively blocks malicious open source packages in your code.

Install

npm incorrectly applied security-holder metadata to multiple one-character packages, including letters, numbers, and the - package.

Socket reviewed public npm registry metadata and found several affected packages had been assigned 0.0.1-security or 0.0.1-security.0 versions, with the latest dist-tag moved to the security placeholder. Older package versions remained available.

npm confirmed the markings were not intentional and that they are working on rolling it back.

“This happened due to a bug in our tooling and was a mistake. We are looking into it,” an npm representative said in response to Socket’s inquiry.

npm also shared a list of affected package names, which included:

  • c
  • r
  • w
  • - (the package exists in the registry, but its npm package page is currently inaccessible due to a bug in npm’s website)
  • m
  • p
  • i
  • n
  • 3
  • 2
  • x
  • 6
  • 4

The affected packages showed the same general pattern: npm added a security-holder-style version and moved latest to that placeholder, while older versions remained present in the registry.

That made the incident look unusual. The 0.0.1-security convention is typically associated with packages npm has taken over or reserved for security reasons, often after a package is removed or replaced.

In this case, npm said the change was caused by a tooling bug.

No Public Evidence of Package Compromise#

Socket did not find public evidence, based on registry metadata alone, that the affected one-character packages had been compromised.

The registry changes appeared to be metadata-level changes made across multiple package names, rather than malicious updates published by package maintainers. The affected names included long-standing short packages and package names made up of a single number or symbol.

Older versions remaining available was another signal that this did not look like a standard malicious-package removal.

What Developers Should Check#

Teams that depend on any of the affected packages should check whether their lockfiles captured a placeholder version during the affected window.

Look for 0.0.1-security or 0.0.1-security.0 in:

  • package-lock.json
  • yarn.lock
  • pnpm-lock.yaml
  • other package manager lockfiles

The practical impact appears limited, but developers who installed any affected packages during the window may want to verify that their dependency manager resolved the intended version rather than the temporary security placeholder.

This incident was caused by an npm tooling bug, not a confirmed compromise of the affected packages.

But registry metadata still affects the software supply chain. Dist-tags determine what package managers install by default, and security-holder versions are treated as a strong warning signal by developers and security tools.

When that metadata is applied incorrectly, it can create confusion even when package code has not changed. We will update this post as we learn more about the cause and resolution of this bug.

Update, June 9, 2026, 21:21 UTC: npm has confirmed “These packages versions have been fixed now.” The affected one-character packages no longer appear to be marked as security holders.