首页 文章 精选 留言 我的

精选列表

搜索[关闭],共10010篇文章
优秀的个人博客,低调大师

npm v12 即将发布:三项安全相关重大变更,默认关闭脚本执行和外部依赖

GitHub官方博客宣布,nnpm v12大版本更新即将于2026年7月推出。这个版本引入了多项安全相关的默认行为变更,所有这些变更目前已在npm 11.16.0或更高版本中以警告形式提供,让开发者有时间在正式升级前做好准备。 三项核心安全变更 npm v12将此前可以自动运行的安装行为全部改为需要显式授权才能执行: 第一项变更是allowScripts默认为off。从现在开始,npm install将不再自动执行依赖包中的preinstall、install或postinstall脚本,除非在项目中明确允许。这包括原生的node-gyp构建——即使用包有binding.gyp但没有显式的install脚本也会被阻止,因为npm会为其运行隐式的node-gyp rebuild。Git、file和link依赖的prepare脚本也将以同样方式被阻止。 第二项变更是--allow-git默认为none。npm install将不再解析Git依赖(直接依赖或传递依赖),除非通过--allow-git显式允许。这堵住了一个代码执行路径漏洞——即使使用--ignore-scripts,Git依赖的.npmrc仍可能覆盖Git可执行文件。这项变更此前已在2026年2月18日宣布,并于npm 11.10.0+版本中提供。 第三项变更是--allow-remote默认为none。npm install将不再解析来自远程URL的依赖(如直接依赖或传递依赖中的https tarball),除非通过--allow-remote显式允许。该标志从npm 11.15.0开始可用。值得注意的是,相关的--allow-file和--allow-directory标志在v12中不会改变默认行为。 如何准备升级 GitHub建议所有开发者按以下步骤做好准备:首先升级到npm 11.16.0或更高版本,然后正常运行install并仔细审查警告信息。接下来运行npm approve-scripts --allow-scripts-pending命令,查看哪些包包含脚本,只批准你信任的包(npm approve-scripts),其余的用npm deny-scripts阻止。最终的允许列表会被写入package.json并应该提交到代码库。完成这些步骤后,一旦升级到v12,只有你批准的脚本会继续运行,未批准的都将停止。 如果你在安装过程中需要运行脚本,可以在npm 11.16.0+版本中观察到相应的警告。更多详细信息可以在npm approve-scripts、npm deny-scripts和allow-scripts config的官方文档中查看。 安全加固的背景 这些变更的核心逻辑是:默认拒绝,按需授权。npm团队在博客中指出,这些变更将此前可以自动运行的安装行为转换为需要显式 opt-in 的行为,这反映了供应链安全的基本原则——不给潜在的恶意代码自动执行的机会。 特别是--allow-git和--allow-remote的变更,直接针对的是通过Git依赖和远程URL进行代码注入的攻击面。此前即使使用--ignore-scripts,Git依赖的.npmrc仍可能被攻击者利用来执行恶意代码。这类攻击向量在近年来通过npm生态进行的供应链攻击中并不罕见。 对开发者工作流的影响 对于大多数Node.js项目而言,这些变更意味着需要重新审视package.json和依赖配置。如果你的项目依赖于某些包的postinstall脚本来完成native模块的构建,或者依赖于git分支依赖来获取最新代码,需要提前在package.json中显式声明这些依赖。 GitHub建议开发者在正式环境升级npm v12之前,先在CI/CD流水线中测试11.16.0+版本,观察警告信息并调整配置。这将确保升级过程平滑,不会因为新的默认行为导致构建失败。 参考来源:https://github.blog/changelog/2026-06-09-upcoming-breaking-changes-for-npm-v12/

优秀的个人博客,低调大师

第三届开放原子大赛openKylin系列赛事报名通道即将关闭,百万奖金等你挑战~

在2025开放原子开源生态大会上,第三届开放原子大赛正式启动。作为开放原子开源基金会组织举办的面向开源领域的技术类赛事,大赛面向开源组织、企事业单位、高等院校、科研院所等机构征集一批产业发展、科研创新过程中遇到的技术难题,联合社会各界鼓励通过开源模式解决“真问题”、推广开源技术、发现开源人才。 随着人工智能技术的飞速发展,AI与操作系统的深度融合已成为推动产业创新与变革的核心动力。在此背景下,OpenAtom openKylin(简称“openKylin")作为领先的智能桌面开源操作系统根社区,始终走在技术前沿,发布的 openKylin AIPC版本是我国首个实现全栈开源的端侧操作系统智能引擎。为了进一步汇聚全球开发者智慧,激发创新潜能,并加速openKylin智能生态的成熟与落地,特举办第三届开放原子大赛—openKylin系列赛,围绕智能引擎的核心能力,设置了四个关键赛:面向openKylin智能引擎的开源大模型推理优化赛、基于openKylin桌面环境的多智能体交互技术赛、基于openKylin的人工智能异构算力调度平台挑战赛以及基于openKylin社区的贡献实践赛。 大赛旨在通过学习及实战竞技,激发开发者突破关键技术瓶颈,提升系统智能化与协同能力,构建更高效、开放的开源软硬件生态,为我国基础软件高质量发展注入新动力。

优秀的个人博客,低调大师

还没关闭服务器445端口的抓紧!

“我对大规模杀伤武器是很悲观的,但我认为发生核战争的可能性要低于生化武器与网络攻击。” 谁也不曾想到,巴菲特一周前在伯克希尔哈撒韦股东大会上所说的这番话这么快就变成了真。 5月12日晚,WanaCrypt0r 2.0勒索软件在全球爆发(简称 WCry2.0)。在无需用户任何操作的情况下,Wcry2.0即可扫描开放445文件共享端口的Windows机器,从而植入恶意程序。 目前,病毒已经扩散至全球上百个国家。全英国上下25家医院遭到大范围攻击,中国众多高校也纷纷中招。黑客则通过锁定电脑文件来勒索用户交赎金,而且只收比特币。 阿里云安全专家分析,此次全球比特币勒索病毒是由NSA泄露的Windows系统 SMB/RDP远程命令执行漏洞引起。利用该漏洞,黑客可远程实现攻击Windows的445端口(文件共享)。如果系统没有安装今年3月的微软补丁

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册