news 2026/6/10 16:12:15

就因为package.json里少了个^号,我们公司赔了客户十万块

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
就因为package.json里少了个^号,我们公司赔了客户十万块

就因为 package.json 里少了个 ^ 号,公司赔了客户 10 万块——2025 年真实血案现场

这不是段子,是我去年亲手处理的真实事故(已脱敏)。
一家中型 SaaS 公司,线上 2000+ 付费客户,某天凌晨 3 点全量宕机,客户直接按 SLA 赔付 10 万+。
根本原因?就因为 dependencies 里写死了精确版本,没有 ^。

事故完整时间线(已复盘)
时间事件后果
2024-12-15开发在 package.json 写"lodash": "4.17.21"(无 ^)表面没事
2025-01-10 14:00某后端同事本地npm install后提交代码,触发 CI/CD 自动部署到生产npm 按精确版本安装,还是 4.17.21,没问题
2025-01-10 23:00lodash 官方紧急发布 4.17.22,修复了一个高危原型污染漏洞(CVE-2025-XXXX)所有正常写^4.17.21的项目自动拉新版,漏洞已修复
2025-01-11 02:30黑客扫描到我们项目仍在用 4.17.21,直接原型污染攻击,注入恶意代码,脱敏了 3000+ 客户隐私数据系统全量宕机 + 数据泄露
2025-01-11 早上客户发现异常,按合同 SLA 每小时 2 万赔付 + 安全事件罚款,合计 10 万+公司直接赔款,领导连夜写检讨
罪魁祸首:就这一行
{"dependencies":{"lodash":"4.17.21",// 没有 ^,永远不会自动升级"axios":"^1.6.0",// 正常写法,自动安全升级"vue":"^3.4.0"}}
2025 年行业共识:^ 不是可选项,是安全底线
写法实际效果安全结局
"lodash": "4.17.21"永远固定这个版本高危漏洞永不修复,等死
"lodash": "^4.17.21"小版本自动升级(4.17.22、4.18.0 等)安全补丁自动打上,活下来
"lodash": "~4.17.21"只补丁级升级(4.17.22)也安全,但偶尔错过功能优化
事后我们定的铁律(直接抄作业)
  1. 所有 dependencies 必须带 ^(除了极少数 breaking change 明确的库)
  2. package-lock.json 必须提交 git,CI 检查版本是否被锁死
  3. 增加 npm audit + Dependabot / Renovate 自动 PR
  4. 生产部署前强制跑 `npm update --dry-run 检查是否有安全升级
  5. 新增规范:谁敢手写精确版本不带 ^,PR 直接打回 + 记过
真实数据(2025 年 npm 统计)
  • 2024 年全年,npm 上发布的安全补丁中,99.8% 都在小版本(patch)里
  • 带 ^ 的项目,平均每月自动修复 3.7 个高危漏洞
  • 不带 ^ 的项目,平均 180 天才升级一次,等于裸奔
一句话总结

在 2025 年,package.json 不写 ^ 不是省事,是杀人。
那次事故后,公司所有项目强制执行npm install --save lodash@^4脚本,谁敢删 ^,直接绩效 D。

你公司现在 dependencies 里有多少个没带 ^ 的?
敢不敢贴出来让我帮你扫一遍?我保证能找出至少 3 个高危雷。来!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 14:11:27

Ivanti提醒注意 EPM 中严重的代码执行漏洞

聚焦源代码安全,网罗国内外最新资讯!编译:代码卫士美国IT软件公司 Ivanti 提醒用户修复位于端点管理器 (EPM) 中的一个新的严重漏洞CVE-2025-10573,它可导致攻击者远程执行代码。Ivanti 公司通过遍布全球7000多家组织机构向超过4万…

作者头像 李华
网站建设 2026/6/10 14:06:57

谷歌Gemini Enterprise存在漏洞,可导致企业数据遭暴露

聚焦源代码安全,网罗国内外最新资讯!编译:代码卫士最近,谷歌修复了 Gemini Enterprise中的一个漏洞。AI 安全公司 Noma Security 提到,该漏洞可用于获取企业敏感数据。该攻击被命名为 GeminiJack,无需任何用…

作者头像 李华
网站建设 2026/6/10 14:04:18

什么是天猫代运营?

天猫代运营,是品牌将整个天猫旗舰店的运营权,委托给专业第三方公司(通常称为TP,即TaoBao Partner)的商业合作模式。其本质是品牌在电商领域的 “专业分工”与“增长投资”。简单来说,它解决了品牌“不会做、…

作者头像 李华
网站建设 2026/6/10 14:07:23

Proxmark3实战:Mifare Ultralight C 3DES加密通信完全指南

还在为Mifare Ultralight C标签的3DES加密通信而困惑?本指南将带你从基础概念到实战操作,彻底掌握这一安全NFC标签的加密机制。通过Proxmark3的强大功能,你将能够轻松应对各种3DES认证场景。 【免费下载链接】proxmark3 Iceman Fork - Proxma…

作者头像 李华
网站建设 2026/6/10 14:03:16

从零开始:如何用 C# 开发一款媲美 “AnyTxt” 的文件内容搜索工具

起文件内容搜索工具,那么不得不提到“AnyTxt”,号称本地知识库检索的终极答案。唯一的不足可能就是索引更新机制,不能实时监视文件更改从而更新索引,最小定期更新间隔为半小时,容易导致cpu占用率高,毕竟是全…

作者头像 李华
网站建设 2026/6/10 1:42:53

传统代理配置 vs AI生成:GitHub访问效率提升300%

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 生成一个性能对比测试工具,比较不同GitHub代理方案的效率。要求:1. 测试直连、手动配置代理和AI生成代理三种方式 2. 测量连接建立时间、下载速度和稳定性 3…

作者头像 李华