凌晨4点的安全警报:JWT 密钥泄露后如何紧急止损+无损轮换方案
引言 凌晨 4:07,值班手机震动。安全团队告警:GitHub 上一份内部仓库的 application.yml 被同事不小心 push 到了公开仓库,里面赫然躺着 JWT 签名密钥 jwt.secret=MyJwtSecret2024。更要命的是——三小时前刚推上去,GitHub 爬虫和自动化扫描脚本早已抓到了。 值班的几个问题砸过来,一个比一个要命: 这个密钥能干什么?伪造任意用户的 Token,包括管理员——拿到密钥的人可以签发一个 role=admin, exp=2099 的 Token,以任何身份调任何接口 现在换密钥会怎样?所有已登录用户的 Token 立刻失效,几十万在线用户被踢下线,大面积 401 报错 不换行吗?密钥已经在公网暴露 3 小时,每一秒都可能有人在伪造 Token 探测系统 这不是假设。这是真实发生过多起的事件——Uber 2022 年的泄露就是因为攻击者从内部仓库拿到了 AWS 凭证和 JWT 密钥。很多团队都以为"密钥泄露"是小概率事件,直到它发生在自己身上。 这篇文章把我们走过的一遍完整流程写下来:应急止损四步(30 分钟内止血)→ 排查泄露范围....