先遏制,但保留证据
删除被入侵的工作负载看起来很果断,但也会销毁理解影响范围所需的日志和状态。先快照,再隔离。保留身份日志、网络流日志、应用日志和正在运行的构建产物,并记录谁在何时做了什么。
# 示例:替换工作负载前保留最近日志
kubectl logs deploy/api --since=6h > incident-api-logs.txt
kubectl get events --sort-by=.lastTimestamp > incident-events.txt
具体命令取决于平台,原则与平台无关:在破坏性修复前捕获证据。
轮换可达凭据
被入侵的 CI 令牌通常能读取流水线可读的所有密钥。根据密钥清单梳理爆炸半径,按依赖顺序轮换。先撤销,确认旧值被拒绝,再通过密钥管理器分发新值。不要把新密钥粘贴到事件频道。
查找持久化
攻击者很少只拿一把钥匙。检查新的 IAM 用户、部署密钥、OAuth 应用、Webhook、计划任务和角色信任策略。把当前配置与已知良好基线或基础设施即代码状态比较。移除未授权变更并作为证据记录。
基于事实沟通
区分已确认事实和假设。报告受影响系统、时间窗口、遏制状态和下次更新时间。在验证前不要推测归因或客户影响。恢复后进行无责复盘,关注检测时间、遏制时间和失效的控制。