即便察觉到项目从根上就带着赶进度的基因,她也没有坚决地站出来硬扛到底。
“我可以加班,我可以压缩自己的调试时间,我可以尽量把风险堵上。”
这是当年她内心真实的想法。
她相信自己的技术能力,相信凭借个人的努力,可以弥补流程上的缺陷。
现在回头再看,这就是那时候最大的盲目。
技术人员,很容易陷入一种能力幻觉。以为凭借一己之力,能够补上制度、流程、管理层决策挖出来的大坑。
林晚指尖鼠标缓缓滑动,一行一行翻阅旧日志。
她在新建的文档里,敲下第一行字:个人能力,无法代偿体系的缺陷。
一字一句,敲得很慢。
这不是自我认罪,不是把所有罪责揽到自己身上。而是一种清醒的认知。
管理层强行压缩测试周期,上游同事代码遗留漏洞,这些客观错误真实存在,不会因为她此刻的复盘就消失。但作为项目安全模块的负责人,她也有属于自己的盲区。
明知道整体节奏已经严重违背安全开发的规范,却抱着侥幸,寄希望于自己加班熬夜,把所有漏洞全部提前封堵。
她把希望寄托于“我足够厉害”,却低估了真实项目里,人性、工期、多方拉扯叠加出来的破坏力。
她继续往下梳理。
上线前最后一轮内部测试,她的确提交过三份风险报告,列明了三处高风险边界,提示如果业务流量暴涨,有可能触发数据溢出隐患。报告提交上去,被经理批注“优先级延后,后续迭代修复”。
那时候的她,争执过一次,被驳回之后,就没有再向上持续死磕。
职场之中,一个基层技术人员,反复对抗管理层的上线决心,代价很大。会被贴上“阻碍业务发展”、“过于保守”的标签。那时候的她,想要保住这个项目,想要保住自己的机会,内心深处,也有着一丝妥协。
心里想着:概率不大,未必会出事。
就是这一丝“未必会出事”的侥幸,是灾难到来之前,最危险的缝隙。
灾难发生,恰恰就撞上了那个小概率。业务流量短时间内爆发式增长,被延后修复的边界漏洞被触发,连锁反应,层层击穿防护,海量用户隐私数据向外泄露。
“如果当时我拒绝妥协,以辞职为代价死磕暂停上线,结局会不会不一样?”
林晚轻声说出这句话,屋子里空荡荡,没有人回答她。
她自己也清楚,这是没有答案的假设。现实世界没有回滚键,没有重来一次的机会。
现实里,她没有做到那一步。
人不是活在理想实验室里,是活在真实的职场博弈之中。一个普通打工人,对抗整个公司向前狂奔的商业意志,代价沉重,不是每一个人,都有勇气做到鱼死网破。
这一点,她如今能够客观看待,却并不代表可以完全原谅自己。
敬畏,就是从这里生出来的。
从前的林晚,敬畏代码,敬畏算法逻辑,却没有足够敬畏现实里的风险。总觉得漏洞是写在文档里的名词,总觉得灾难离自己很远。
可经过这一课她才懂得,数据安全这一行,从来容不下半分侥幸。
那些文档上标记的低概率风险,只要给到足够的流量、足够复杂的外部环境,就一定会有爆发的那一天。受害的,是千千万万普通的用户。他们不懂底层代码,不知道企业内部的工期博弈,他们交出自己的数据,只以为会得到妥善保护。
一旦出事,承担代价的,是毫无反抗能力的普通人。
而内部所有的推诿、甩锅、利益权衡,普通用户一无所知。
想到这里,林晚心口微微发沉。
她把这些思考,一条条整理进复盘笔记。不控诉谁,不洗白自己,只客观记录整条链路的每一处裂纹。
项目立项的目标偏移;业务优先安全后置;工期不合理压缩;风险报告被搁置;负责人抱有侥幸心理;出事之后整套公关体系用来掩盖内部问题,寻找替罪羊。
一环扣一环。
一个大型的数据泄露事故,很少单单是某一个人的技术失误,更多是组织、决策、流程、人性共同催生出来的恶果。
写完一大段文字,她抬手揉了揉眉心,端起玻璃杯,才发现水早已冰凉。起身走到厨房,接了一杯热水,水蒸气氤氲,模糊了镜片。
窗外天色慢慢暗了下来,城市远处的楼宇,一盏盏灯光次第亮起。出租屋楼下,传来下班人群的说笑声,烟火气一阵阵飘上来,和屋内安静压抑的氛围形成鲜明对比。
这十一个月,她见过太多网络上普通人被数据泄露伤害的新闻。
普通人手机号被倒卖,骚扰电话无休止;个人位置、消费记录外流;有人遭遇精准电信诈骗,财产受损。很多企业,嘴上喊着重视数据安全,实际执行层面,永远把商业收益放在第一位。安全,永远是可以让步的选项。
以前做技术,她更多沉浸在技术本身的精妙。算法如何写,漏洞如何修复,攻防如何博弈。
跌落谷底之后,她才真正看见技术背后那一个个活生生的人。
技术不是冰冷的代码,代码的每一行,都连着普通人的命运。