这个接口的错误信息泄露了内部结构。我不知道该说什么,就笑了笑。我加了一层签名校验,虽然性能掉了百分之五。这条经验值直接拉满

权限的最小化原则在赶进度时最先被放弃。我叹了口气,然后打开了编辑器。我把这个服务的跨域配置收窄了,只留必要的来源。幸好之前留了备份

我把这个日志里的敏感字段脱敏了,合规这条线才算过。我打开记录从头到尾扫了一遍。我在心里把这次的攻击面分析了一遍,入口太多。我沉默了,但心里是服的

收到安全部门的漏洞通报邮件,附件里的截图是我的接口。我决定先把手上的事情做完再处理这件事。我在心里给这套链路的安全等级打了个分,一般。果然现实比段子更精彩

误操作把密钥提交进了仓库,全组人半夜爬起来轮换凭证。我在心里把涉及的所有环节都过了一遍。我把这个接口的返回字段精简了,不再返回多余信息。从此我多了一条团队规约

这个依赖有一个已知漏洞,升不升级都是风险。我愣了两秒,然后继续敲代码。我把这个服务的依赖清单扫了一遍,有三个待升级。感动,然后我学到了新的一课

安全加固最容易忘的是把那台老机器也改掉。我忽然觉得,这可能就是这一行的常态。我在心里给这次的渗透结论记了个备注,遗留两处。我把它写进了组内的避坑文档第一章

安全响应头加了一堆,安全平台评分从 C 涨到 B,大家鼓掌,A 呢?A 靠缘分。我默默打开了编辑器,准备一步步验证。我把这个脚本的执行权限收紧了,只有特定人在跑。我把它写进了组内的避坑文档第一章

权限的最小化原则在赶进度时最先被放弃。我想了想,觉得这话没法接。我发现问题出在一个被忽略的重定向上。这大概就是程序员的人生吧

内网穿透工具用得飞起,直到安全部门找上门,问这条隧道是谁修的。我拉了个小群,把相关同学都叫了进来。我把这条链路的 TLS 配好了,中间人风险小了。那一刻我觉得自己还是很专业的