Node.js Blog

Node.js Interactive 2026: A Recap

8.5内容质量

TL;DR · AI 摘要

Node.js未来依赖开源维护者、标准化进程和供应链安全,而不仅是API扩展。会议揭示了社区治理、跨平台互操作性及安全威胁等核心议题。

核心要点

  • Node.js维护者是'缺失的中间层',需开发者和企业主动支持
  • WinterCG已升级为Ecma TC55,推动服务器端JS环境标准化
  • 2025-2026年npm供应链攻击影响超2000万周下载量

结构提纲

按章节快速跳转。

  1. 2026年Node.js Interactive会议在Atlanta Tech Week期间举办,聚焦Node.js未来方向。

  2. Robin Bender Ginn指出Node.js等项目依赖小团队维护,存在'缺失的中间层'问题。

  3. WinterCG通过Ecma TC55推动服务器端JavaScript环境的API互通标准。

  4. Shai-Hulud攻击导致npm注册表移除超1200个恶意包,影响2000万周下载量。

  5. 需将包安全与账户安全分离,建立独立的供应链身份验证体系。

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • Node.js Interactive 2026回顾
    • 开源维护挑战
      • 缺失的中间层问题
      • 企业支持建议
    • 跨平台标准化
      • WinterCG→Ecma TC55
      • 通用API定义
    • 供应链安全
      • Shai-Hulud攻击案例
      • 身份验证体系重构

金句 / Highlights

值得收藏与分享的关键句。

#Node.js#开源治理#供应链安全#JavaScript生态
打开原文

Node.js — Node.js Interactive 2026:回顾总结

Node.js Interactive 2026:回顾总结

AK

Aviv Keller

Node.js Interactive 2026:回顾总结

自首次宣布Node.js Interactive会议以来已过去十多年,该会议于2026年8月12日至13日作为RenderATL内的专属体验,与亚特兰大科技周同期举办。

在为期两天的演讲活动中,与会者了解到Node.js的未来不仅取决于其丰富的API。它还依赖于维护关键基础设施的人员、保持运行时互操作性的标准、使安全开发更便捷的平台,以及将新想法转化为可靠软件的文档和测试。

以下是我们认为每个Node.js开发者都应了解的突出主题和关键收获。

开源基础设施仍然依赖于人

OpenJS基金会执行董事Robin Bender Ginn以演讲《Node.js运行AI,谁在运行Node.js?》拉开会议序幕:

JavaScript生态系统为现代互联网的很大一部分提供动力,包括当前人工智能浪潮背后的大量基础设施。但Node.js、Express、Electron和webpack等项目并非自我维护。它们依赖于人们——通常是令人惊讶的小团队——持续进行代码审查、响应安全报告、发布版本、改进文档并保持社区健康。

Robin将这些维护者描述为"缺失的中间层":对数百万开发者和企业至关重要,却常被视为无形资源。她的演讲重点探讨了可持续维护支持的形态,以及开发者和公司可以如何加强他们依赖的项目。

开源还依赖于人们就独立开发的系统如何协同工作达成共识。在Cloudflare的Workers工程经理Joe Sepi的演讲《代码、共识与社区:JavaScript生态系统如何继续携手前进》中,他梳理了JavaScript治理的"字母汤",包括W3C、Ecma International和OpenJS基金会。

例如,Web互操作运行时社区组(WinterCG)最初是基层努力,旨在协调Node.js、Deno、Cloudflare Workers和其他服务器运行时的API。如今,它已进入Ecma TC55(WinterTC)的正式标准化轨道。其初始目标是定义服务器端JavaScript环境的可验证最低通用API,使运行时能够实现互操作性,而无需完全一致。

供应链是一个身份问题

在《AI残渣与漏洞 treadmill》演讲中,Kate Holterhoff回顾了过去一年中包安全反复等同于账户安全的情况。

2025年9月,自我复制的Shai-Hulud攻击通过被入侵的npm维护者账户传播。GitHub最终从注册表中移除了超过500个被入侵的包。11月的第二波攻击在至少796个包中植入后门,这些包每周下载量超过2000万次,并通过公共GitHub仓库窃取凭证。

然后,在2026年3月,攻击者入侵了Axios维护者账户,并发布了恶意软件包,该软件包每周下载量超过1亿。合法发布版本通过GitHub Actions使用了基于OIDC的可信发布机制。攻击者绕过了这一安全路径,直接从被入侵账户发布恶意内容。

尽管这些事件的执行方式有所不同,但通常遵循相似的攻击链:先入侵人类身份,再利用其合法发布权限向下游扩散。这正是为什么npm可信发布、短期凭证、防钓鱼认证、受保护的恢复路径、依赖项冷却机制、严格范围的自动化等防御措施,现在比以往任何时候都更加重要。

此外,AI现在同时存在于这场对抗的两端。它使具有说服力的社会工程攻击和大规模低质量漏洞报告的生成成本大幅降低。2026年1月,curl项目在确认报告率低于5%后终止了其漏洞赏金计划。该项目随后重新通过HackerOne平台接收漏洞报告,但不再提供金钱奖励。

同类型技术也可以帮助防御者。AISLE的安全研究人员使用AI驱动系统识别了OpenSSL 2026年1月安全更新中涉及的全部12个漏洞。人类研究人员验证了发现结果,通过负责任披露流程进行协作,并与OpenSSL团队共同完成修复工作。其中一些底层漏洞在代码库中已存在超过25年。

可重复性需要的不只是版本号

供应链可靠性还受到包管理器解析元数据方式的影响。在《超越语义化版本控制》("Beyond SemVer")中,vlt公司创始人兼CEO Darcy Clarke探讨了包版本化未来方向及包元数据的解析方式。

语义化版本控制2.0.0定义了版本结构和优先级规则,但并未涵盖package.json文件中人们使用的完整范围语言。caret(^)、tilde(~)和许多高级范围表达式是node-semver等工具实现的约定。

Darcy特别关注规范中另一个常被忽视的部分:构建元数据。语义化版本控制有意在计算版本优先级时忽略构建元数据。他的演讲没有改变这一规则,而是探讨如何将构建元数据作为向后兼容的扩展点,用于传递更丰富的包信息。他提出了一种全新的语义化版本控制规范变体,该开源方案可通过semver.xyz访问。

更多代码需要更强大的平台

尽管AI编码工具可以提升团队编写代码的速度,但不会改变使代码安全发布的本质要素。

在《AI时代平台思维》("Platform Thinking for the AI Era")中,Fastly高级软件工程师Bekah Suttner Cheek指出,随着开发速度加快,传统平台基础要素变得更为重要:快速CI、有意义的测试、安全回滚、健康的代码库模式,以及从本地更改到生产环境的清晰路径。

尽管名称如此,平台思维并不局限于职位名称包含"platform"的人。任何设计工作流、API、测试套件或部署流程的人都能通过构建良好防护机制,让安全选择更容易实现。优秀的防护机制能预防常见错误、快速暴露故障、将恢复流程变为常规操作而非英雄式救火。它们还会将接近失误视为有价值的证据。等到相同弱点演变为完整事件再学习,是一种代价高昂的方式。

这是最终的信任问题。用户和内部团队不应需要记住隐藏规则或经历不必要的繁琐步骤才能正确行事。平台应通过默认设置引导他们到达正确的位置。

Node.js 正在变得更加强大

不久之前,启动一个 Node.js 项目通常意味着在编写应用代码之前安装一系列包。环境变量、测试、HTTP 客户端、文件监视和 TypeScript 支持等功能都常见于用户空间。

在《The New Node.js: Built-in Batteries and the Road Ahead》中,Platformatic 联合创始人兼首席技术官 Matteo Collina 展示了如今有多少基础功能已随运行时一起提供。现代 Node.js 包含内置的 TypeScript 类型剥离、node:test 和 node:assert、原生 .env 加载、基于 Undici 的 fetch、监视模式、node:sqlite 以及稳定的权限模型(还有许多其他功能)。

然而,尽管有这些新增功能,采用率仍然是更具挑战的部分。团队仍然运行不受支持的版本,因为升级需要时间、测试和协调。因此,从 27.x 版本线开始,Node.js 将从每年发布两个主要版本改为仅发布一个。2026 年 10 月将开始 Alpha 阶段,Node.js 27.0.0 于 2027 年 4 月成为 Current 版本,并在 2027 年 10 月进入 LTS 阶段。版本号将与其首次发布 Current 版本的年份对齐,每个版本最终都会成为 LTS。这一变更减少了维护者需要支持的并发版本线数量,同时保持用户可预测的测试和迁移窗口。

QUIC 和 HTTP/3 正在 Node.js 中成型

Cloudflare 系统工程师 James Snell 主导了 Node.js 在 HTTP/2、QUIC 和 HTTP/3 方面的大部分工作。在《QUIC in Node.js》中,他回顾了自 2018 年该项目启动以来经过多次重大迭代的实现。

QUIC 和 HTTP/3 相关,但并非等同名称。QUIC 是基于 UDP 的安全多路复用传输协议,HTTP/3 则将 HTTP 语义映射到 QUIC 上。

Node.js 的 node:quic 实现仍在积极开发中。使用它需要构建一个启用实验性 QUIC 支持的 Node.js 二进制文件,然后通过 --experimental-quic 参数启动该二进制文件。运行时标志无法为未编译 QUIC 支持的二进制文件添加 QUIC 支持。

James 还讨论了推动实现前进所需的工作,包括测试、文档以及利用 AI 帮助推进此前因规模问题停滞的代码变更集。完成这些工作将使 Node.js 的网络堆栈(包括 fetch)能够随着时间推移受益于 HTTP/3。

该会议还预览了一个拟议的统一服务器 API,该 API 覆盖 HTTP/1.1、HTTP/2 和 HTTP/3,旨在将设计方案提交给 WinterTC 进行更广泛的讨论,这是 Node.js 和 James 都非常期待的事情。

文档和测试是基础设施

只有当开发者能够理解和信任新运行时功能时,它们才有意义。这使文档和测试成为基础设施,而非辅助材料。

在《Replacing What Works: doc-kit and the Next 10 Years of Node.js Documentation》中,Brian Muenzenmeyer 和 Claudio Wunder 讲述了替换一个可追溯至 Node.js v0.6 的文档流水线的故事。

新推出的 doc-kit CLI 工具能够解析、校验并转换 Markdown 内容,生成带有注解的表示形式,可用于创建重新设计的网页、遗留 HTML、man 页面、JSON 模式、搜索索引和 llms.txt 文件。将这些输出统一到共享流水线中,是保持输出一致性的重要优势之一。

此次迁移还带来了全新的阅读体验,该体验由 Node.js 网站和基础设施团队的研究成果塑造。您现在可以预览新的 API 文档,并深入了解其设计和工具背后的理念。该 Beta 版本在无需 JavaScript 和离线状态下仍可使用,同时新增了更快的导航速度、改进的搜索功能和更清晰的信息架构。

测试文档中描述的系统可能同样具有挑战性。仅限本地的故障、操作系统差异、端口冲突和 CI 约束都会使集成测试更难以可靠地运行和并行执行。

在《Performant, Parallelizable, Framework Agnostic Node.js Integration Testing》演讲中,Harper 开源工程负责人 Ethan Arrowood 介绍了 @harperfast/integration-testing 框架。该框架运行真实进程,动态分配端口,支持并行执行,并与 Node.js 测试运行器以及 Playwright 等外部运行器集成。

如 Ethan 展示的集成测试所示,这类测试验证的是应用程序各组件作为系统协同工作的能力。优秀的测试工具能让这种信心在本地机器、操作系统和 CI 环境中重复实现,而不仅仅局限于所有条件恰好吻合的单一环境。

AI 可能改变工作流程,但不会改变责任归属

多个会议从软件堆栈的不同层级和视角探讨了 AI,但最终都一致认为开发者仍需对所交付的系统负责。

在《Node.js After the AI Shift: Building Tools Developers Can Trust》演讲中,GitHub 高级开发者倡导者 Andrea Griffiths 将 AI 驱动的 Node.js 功能分解为实用组件:输入、上下文、工具调用、防护措施、评估和开发者体验。

Google 开发者专家、高级软件工程师 Aileen Villanueva Lecuona 在《Guiding AI Agents with MCP, Skills and Spec-Driven Development for Reliable Node.js Backends》中,通过模型上下文协议(Model Context Protocol)、专用技能和作为真理来源的规范,使这些边界更加具体。她的工作流程结合了模型上下文协议、专业技能和规范。

在《Imagineering Future Interfaces》演讲中,CrowdStrike 高级研究工程师 Charlie Gerard 将焦点从控制转向创造力。AI 通常擅长复制现有模式,而人类仍需负责想象尚未构建的事物。她的示例展示了代理如何帮助产品开发人员基于之前的用户交互原型设计新界面,以提升用户体验。

最后,在《Client Performance in the Age of AI》演讲中,Notion 高级资深工程师 Jenna Zeigen 认为,生成更多代码并不保证生成更好的模式。事实上,这会增加回归的表面积,并为用户积累更多成本感知机会。

然而,我们有解决方案:具体指标、火焰图和代表性基准测试。例如,"Interaction to Next Paint"(交互到首次绘制)衡量界面在用户点击、轻点或输入时是否能迅速响应。另一个指标"Time to First Token"(首次令牌时间)衡量基于AI的体验开始响应所需的时间。没有单一指标能讲述完整的故事,因此选择合适的基准测试与拥有指标本身同样重要。

代码与学习

最后,Node.js Interactive与Harper合作,在会议结束时举办了"Code & Learn"(代码与学习)环节。无论参会者经验水平如何,都能与核心维护者坐下来,完成一组精选的、可直接用于Node.js核心的贡献任务。

该环节从开源精神、项目的贡献指南、AI辅助开发的负责任使用方式以及如何寻找问题进行实践建议开始。随后,参与者进入问题复现、代码修改、测试添加、代码审查和补丁提交等流程。此外,所有提交贡献的参与者都获得了精美的Node.js周边礼品。

活动虽然已经结束,但Node.js贡献指南始终开放,我们非常期待你的参与,共同塑造开源软件的未来。

感谢亚特兰大

感谢所有发言者、参会者、志愿者、导师和赞助商,以及RenderATL、Atlanta Tech Week和Harper的协助,让这一周的活动超越了任何单一会议或环节的规模。

为了延续讨论,欢迎加入OpenJS Slack社区、关注OpenJS社区日历,或提交你的第一个Node.js贡献。

下次会议再见!

  • Aviv Keller,Node.js核心合作者

Next

旅行报告:Node.js协作峰会(2026伦敦) /think