cat case/PM-2018-0051.md

TravisCI 2018 密码轮换不完整导致「泄露」VM,构建队列时间升高

P2 · 凭据轮换流程未对全部 worker 完整生效,部分构建 VM 处于凭证不一致/暴露状态,队列时延升高

summary

2018 年,Travis CI 的一次凭据轮换未能对所有构建 worker 完整生效,部分虚拟机处于凭证过期/不一致状态,被内部称为「泄露」的 VM,构建队列等待时间随之升高。

timeline

轮换操作在部分节点上未落地;这些节点上的构建任务因认证失败而重试或挂起,排队积压;团队完成剩余节点的凭据刷新后队列逐步恢复。

root_cause

自动化凭据轮换流程缺少完成度校验与幂等保障,部分目标被遗漏,属于人为/自动化流程缺陷而非外部入侵。

amplifiers

CI 平台的构建 VM 高度同质且自动伸缩,任一节点的凭证不一致都会被调度器频繁命中,放大为全局队列时延。

mitigation

Travis CI 补全了剩余节点的凭据并更新轮换脚本,增加轮换完成度校验。

lessons

凭据轮换必须幂等且可验证完成度,遗漏的节点应当被自动隔离而非继续接任务;大规模自动化操作要有端到端确认。

checklist

凭据轮换加完成度校验与对账;未完成节点自动移出调度池;轮换操作可观测、可重放、可回滚。