呜啦!日常碎碎念,偶尔掉落优质前端博文推荐、学习资源等
网页:https://tg.cosine.ren
本频道的搜索Bot 来辣 👉 @cosSearchBot
私聊直接发消息就可以搜索啦~
🔖tags
#优质博文 #资源推荐 #博客更新 #碎碎念 #项目更新 #手工 #书摘 #阮一峰的科技周刊 #新动态

图频:Cosine 🎨 Gallery @CosineGallery
猫片: @cosine_cat
联系频道主:@cosine_yu
#优质博文 #安全 #npm #开源

Our plan for a more secure npm supply chain

AI 摘要:GitHub 针对 npm 供应链近年来遭受的攻击(如基于账户劫持和自我复制恶意软件的事件),提出一系列安全强化措施,包括推进 Trusted Publishing、强制 2FA、多层次 Token 管理以及渐进式改造工作流。这些举措旨在提高整个开源生态系统的韧性,重塑开发者与社区对 npm 的信任。


[以下是方便搜索索引的大纲(AI 生成),请读原文]
1. 开源软件与供应链风险
• 开源是现代软件的基石,但规模庞大的生态也带来攻击面扩大与安全风险。
• 最近持续发生基于账户劫持的攻击,导致恶意代码通过知名 npm 包传播。

2. Shai-Hulud 攻击事件回顾
• 2025 年 9 月发生的自我复制蠕虫攻击,利用维护者被攻破的账号传播。
• 注入恶意 post-install 脚本,可窃取多类敏感信息。
• GitHub 与社区紧急响应,移除 500+ 受影响包,并封锁 IoCs 传播链。

3. npm 安全加固路线图
• 引入更严格的身份验证与发布策略:
• 本地发布需强制 2FA。
• Granular Token(细粒度令牌)有效期缩至 7 天。
• 推行 Trusted Publishing(可信发布)。
• 废弃旧的 classic token 和 TOTP 式 2FA,推广 FIDO 2FA。
• 默认禁止基于 token 的发布,要求使用可信发布或强制 2FA。
• 扩展可信发布支持的生态与厂商。

4. Trusted Publishing 与行业协作
• Trusted Publishing 免去在构建流程中管理 API token,被 OpenSSF 推荐。
• 已在 PyPI、RubyGems、crates.io、npm、NuGet 等平台逐步普及。
• GitHub 强调应加快推广,避免攻击者利用过渡期漏洞。

5. npm 维护者可采取的行动
• 优先启用 npm Trusted Publishing,替代 token。
• 在账号、组织、包层面启用并强制 2FA。
• 使用 WebAuthn 替代 TOTP 以提升安全强度。
• 积极参与社区治理,共建韧性更强的供应链安全。
Our plan for a more secure npm supply chain
#优质博文 #npm #供应链攻击 #安全
太离谱了……
实时更新:Shai-Hulud——史上最危险的NPM漏洞,影响CrowdStrike及数百个流行软件包

AI 摘要:文章报道了 2025 年 9 月爆发的 Shai-Hulud 恶意软件攻击,被认为是史上最大规模、最危险的 NPM 供应链攻击,已波及 CrowdStrike 及数百个流行 JavaScript 包。攻击者通过在维护者的包中注入恶意脚本(bundle.js)进行秘密凭据窃取和持久化后门植入,利用自动化工作流在 CI/CD 环境中持续外泄密钥。文中详细给出已确认被攻击的包清单、潜在影响范围及防护建议,包括立即停更、扫描环境、凭据轮换与审计 GitHub 工作流。


[以下是方便搜索索引的大纲(AI 生成),请读原文]
1. 攻击背景与规模
• Shai-Hulud 是迄今为止最严重的 NPM 供应链攻击
• 影响范围涵盖高人气的 @ctrl/tinycolor、CrowdStrike 官方包及数百个开源组件
• 恶意代码可自动触发,扩大横向传播

2. 攻击技术与机制
• 注入 bundle.js 脚本,在安装包时执行
• 使用 TruffleHog 扫描本地文件和代码库中的密钥(npm、GitHub、AWS、GCP、Azure 等)
• 创建隐藏的 GitHub Actions 工作流文件(shai-hulud-workflow.yml),用于在 CI/CD 阶段外泄凭据
• 双重目标:密钥窃取 + 持久后门部署

3. 影响与风险评估
• 大量开发者环境(本地 + 云端)已可能泄露敏感凭据
• 攻击持续性强,即便删除恶意包后,持久化机制仍可能存活
• 企业级安全厂商 CrowdStrike 受影响,进一步放大危机

4. 应对建议与缓解措施
• 立即扫描所有终端与构建环境,确认是否安装受影响包
• 暂时冻结 npm 包的更新,避免进一步扩散
• 轮换全部相关凭据(GitHub、npm、AWS、GCP、Azure 等)
• 审计 GitHub 工作流,排查 shai-hulud-workflow.yml 等异常文件
• 对流程与自动化管道进行全面安全加固


author Idan Dardikman,Yuval Ronen
#优质博文 #安全 #npm #开源
Lessons from npm's Security Failures

AI 摘要:本文通过 npm 中 chalk、debug、duckdb 等热门包遭遇钓鱼攻击事件,指出现有包管理器的安全模型存在设计性缺陷,暴露了软件供应链体系的脆弱性。作者主张借鉴 Linux 发行版与金融行业经验,对包管理器进行系统性升级,包括强制性签名、多维护者审查、抗钓鱼认证、自动化恶意检测、透明构建流程与依赖权限隔离。核心观点是:包管理器已成为现代软件的关键基础设施,必须以更高安全标准来治理。


author Nawaz Dhandala Lessons from npm's Security Failures
#优质博文 #npm #安全 #CSS #JavaScript #前端 #新动态
啊这,我居然才知道,第一句话就蚌埠住了。
PS: 现在看 npm 页面已经恢复了
npm 'accidentally' removes Stylus package, breaks builds and pipelines

AI 摘要:npm 不慎移除了被广泛使用的 Stylus 库,导致全球开发者构建和 CI/CD 流程中断。移除原因是 Stylus 的一位维护者发布了无关的恶意软件包,导致其账户及关联软件包被禁,Stylus 库也因此受牵连。目前,npm 和 GitHub 正在努力恢复 Stylus,并提供了临时解决方案以帮助开发者通过直接引用 GitHub 仓库或使用 overrides 功能来恢复其项目。

1. 事件总览
• Stylus 库被意外下架: 全球最大的软件注册表 npm 意外地移除了所有版本的 Stylus 库,并替换为一个“安全占位页面”,导致依赖该库的全球构建和 CI/CD 流程中断。
• 开发者与维护者回应: Stylus 开发者 Lei Chen 在 GitHub 和 X(原 Twitter)上声明 Stylus 被 npmjs 意外禁用,并寻求帮助以尽快恢复。
• 广泛的影响: 每周近 300 万次下载的 Stylus 库被下架后,大量依赖它的项目如 typescript-plugin-css-modules、Frappe/ERPNext 和 Angular 12 等的构建相继失败,引发开发者不满和担忧。
• 事件真相揭示: 供应链安全公司 Mend.io 的安全研究员 Tom Abai 调查发现,Stylus 库本身是干净且功能正常的。问题在于 Stylus 的一位维护者“panya”发布了三个无关的恶意软件包(如包含依赖混淆漏洞的 PoC),导致其账户被封禁,进而关联的 Stylus 库也被错误地移除。
• 临时解决方案: 针对 Stylus 库被移除,开发者可采取以下临时措施:
• 在 package.json 的 dependencies 中动态引用 GitHub 上的 Stylus 特定版本(例如:"stylus": "github:stylus/stylus#version-you-need")。
• 使用 npm v8.3.0 及更高版本支持的 overrides 功能来指定 Stylus 版本。
• 在应用上述更改后,需清除 npm 缓存(npm cache clean --force)。
• 维护者建议: Stylus 维护者 Lei Chen 确认 Stylus 不含恶意代码,并指出 npmmirror.com(由阿里巴巴赞助的非营利镜像)已恢复对该库的访问。他建议受影响的公司重新评估 npmjs 与 npm mirror 的关系,并设计更可靠的开发流程。
2. 安全事件分析
• 恶意行为与误伤: 事件起因是 Stylus 维护者之一“panya”发布了恶意软件包,但这些恶意软件包与 Stylus 库本身无关。npm 采取封禁账户并移除所有关联软件包的措施,却无意中“误伤”了无辜且重要的 Stylus 库。
• 官方回应: GitHub Trust & Safety 团队已回复 Stylus 维护者,确认问题是由于一名维护者发布了恶意软件包导致账户被暂停及关联软件包被移除,并表示工程师正在努力恢复 Stylus。
• 事件特殊性: 此次事件是首例由注册表因管理错误而下架整个合法开源项目的重要案例,与此前开发者因争议或抗议而自行撤回库的情况不同。


author Ax Sharma npm 'accidentally' removes Stylus package, breaks builds and pipelines
#tools #npm #开源 #工程化 #可视化

Announcing @Tan_Stack NPM Stats (Beta)

AI 摘要:Tanner Linsley 宣布推出 Tan_Stack NPM Stats (Beta),这是一个用于分析和可视化 NPM 软件包统计数据的工具。该工具提供了丰富的功能,包括可共享的深度链接、软件包分组、多种时间范围的统计数据查看、增长趋势分析、自定义显示选项以及开源支持,旨在帮助开发者更直观地了解和比较 NPM 软件包的表现。

1. 可共享的深度链接:用户可以生成并分享特定的统计数据视图链接,方便协作与交流。
2. 软件包分组:支持将相关软件包组合在一起,便于管理和比较。
3. 时间分箱选项:提供每日、每周、每月、每年的数据统计分箱,灵活查看不同时间段的表现。
4. 增长趋势分析:用户可以选择查看绝对增长或相对增长数据,了解软件包的增长趋势。
5. 比较基线设置:支持设置基线数据,用于与其他软件包或时间段进行对比。


示例链接

author Tanner Linsley Tanner Linsley (@tannerlinsley)
#优质博文 #前端 #tools #资源推荐 #npm
7 Tools to Choose the Right NPM Package

摘要:这篇文章介绍了7个免费工具,帮助开发者比较并选择最适合项目的NPM包。这些工具包括:

1. GitHub/GitHub Insights 提供包的受欢迎程度和维护情况的指标
2. BundlePhobia 估计包的性能影响,提供了有趣的指标,如 Bundle size (缩小和缩小+Gzip)和 Download time (3G和4G)。
3. NPM Trends 展示NPM包的下载趋势和GitHub统计数据,可同时比较很多个包
4. NPM Compare 提供更详细的多个包比较,如 Version Average , Maintainers 的数量, Open issues 的数量和 Monthly Downloads 的数量,最后给出总分。
5. Moiva 结合多个数据源(NPM,Github,Snyk,BundlePhobia)的比较工具
6. Snyk Advisor 测量包的健康状况,从 Popularity, Maintenance, Security, Community 四个维度
7. Openbase 提供包的综合评价,此外,Openbase 提供了替代建议包和相关的教程视频。(但是这个工具没了,悲,可以用 kandi 替代)

这些工具的数据可以结合使用,以全面评估每个包的健康状况

via Medium Alexis Regnaud 7 Tools to Choose the Right NPM Package
 
 
Back to Top