删库不易,跑路更难

2022 年 6 月 6 日,北京市第一中级人民法院对一起案件做了裁定,认定百度的一位 96 年出生的程序员金某犯破坏计算机信息系统罪,判处有期徒刑 9 个月,缓刑一年。

之所以本文说这个话题,是因为今年以来,互联网行业各家公司都过得非常艰难,日子难过,是非就多。像这样的员工和公司的矛盾,我们当然无法预料会在几月几号发生,但起码要意识到,今后发生的概率已经远远超过了从前。

所以,从公司的角度来说,试用期员工没录用,正式员工的辞退,考评不合格员工的调岗等环节,都是引发矛盾的时间节点,需要格外重视。

而对于打工者的我们来说,如果不熟悉法律,以为代码就是法,可以替自己伸张正义的话,即便自己最初是被害者,也可能一不留神就违了法。

对于部分才踏入IT这一行的初学者,可能还不太清楚什么是删除跑路,这里也科普一下:删库跑路的意思是,程序员因为和公司产生矛盾,于是离职前利用账号的权限,把公司的网络产品数据库删除,给公司造成损失。

但这只是一个笼统的说法,实际上,删库也未必删得了库,跑路也未必跑得了路。而且有的时候,即便报复的方式并不是删库,也一样跑不了路。

典型的删库跑路,我们举一个例子:

2022 年 2 月份,京东到家的一位程序员就因为这件事被判了 10 个月刑期。这位 29 岁的程序员入职上海一家软件公司,在试用期里为京东到家平台开发代码。但 3 个月试用期后,公司认为他没有达到要求,没能转正。所以在离职前,他把京东到家平台的优惠券、预算系统和补贴规则这些由他自己写的代码删除了,导致这家公司没法按时提交产品给京东。

采访当事人的时候,他的理由是这样的:他删除的只是自己写的内容,既然公司认为自己不合格,那么公司也不能这么拿走这些代码,于是才删了。

实际上,任何公司都对这类潜在事故有防范手段,绝大部分程序员提交的代码是不能直接和当前正在运行的主程序有什么瓜葛的。这些研发代码被写出来以后就停留在分支上,要经过他的上级领导评估通过后再走流程,才能让新代码并入主程序。所以,普通程序员压根没有权限把生产环节正在运转的代码改来改去。

也就是说,这位试用期员工删的只是研发部分的代码,他之所以只删了自己写的那部分,也是因为公司不可能给他权限让他改动其他人研发的内容。所以,公司真正损失的就是他写的那部分内容里能用的段落,他的删库规模实在是小得可怜。

这个案件最后因为程序员主动承认,并赔偿了公司 3.5 万元,所以才得以轻判。

有人看得细,可能会说,既然普通程序员很难做到删库跑路,那如果发生矛盾的不是普通程序员,而是普通程序员的领导呢?比如,期权没给兑现,或者被其他部门领导挤兑、心生怨念?

其实也有防范措施。对于每个版本的开发代码与数据库,成熟互联网公司都保存有备份,就算是层级比较高的领导把当前运转的部分全删除了,也可以利用备份回滚到上一个版本。

当然,上一个版本和最新的版本可能存在一些数据上的差异,两个时间节点离得越远,数据差异就越大。这部分差异虽然可能会导致实际的损失,但也很难做到彻底的删库。

真正彻底的删库,是那些有数据备份高级访问权的人恶意报复。但一般来说,这些人全都是公司股东类型的人,公司的利益就是他们自身的利益,所以干这种事的概率不高,但也依然存在。

有这么一个案件,就是杭州余杭的一家互联网公司的 CTO(首席技术官)做的。CTO 肯定是有公司互联网产品、开发、备份的全部权限的。这位 CTO 是公司创始人从其他公司高薪挖来的,但是来公司两年多,并没有带来很好的产品。而且公司效益一天不如一天,于是创始人就通过各种“精妙”的方法,让 CTO 竟然同意不给任何赔偿的主动离职了。

创始人当时还觉得赚大了,因为这位 CTO 当年是高薪挖来的,如果赔偿的话,要赔不少,这下省钱了。

过了两个月,这位主动辞职的 CTO 又找了一份工作,不过待遇还不如上一份工作的 1/4。他越干越觉得不爽,也觉得上一家公司的创始人忽悠了他,于是就决定报复。他试了试上一家公司阿里云服务器的账号和密码,发现竟然还没有变更,于是就把数据库里的索引和一些表给删了,结果导致前公司的业务停运了 5 个多小时。最后判刑 2 年半,缓刑 3 年。

这个事故能发生的最大漏洞就是,前 CTO 都已经离职 2 个月了,他掌握的用户名和密码竟然过了这么久还没有改,创始人和继任的 CTO 绝对是安全方面的外行。

当然,最近几年发生的最严重的删库还是微盟事件。这是一家专门给几百万家店做微店小程序的上市公司,一个运维的高管因为私人感情恩怨,系统的、有计划的大规模删掉了正在运转的数据库和所有数据备份,300 万家店铺顿时没法运营了,总共造成 140 多个小时的服务中断,微盟后来赔偿了商家几亿元。

这场私人恩怨的细节太过狗血,我就不多说了,你只要知道,这位运维高官根本就不想留任何后路,就是想彻底搞垮全部数据,哪怕自己后半生都在牢里度过。但即便如此,最后经过一周时间,微盟还是恢复了全部数据。

所以,程序员想利用计算机程序和系统权限实现正义,这件事基本是行不通的。

还有一些例子并不能完全算是删库,比如开头举的那位百度程序员的例子,他其实是在自己负责的段落里添加了很多功能不正常的代码,用户用着用着可能就没反应了,或者某些数据就莫名其妙的丢了,更类似于通过技术手段故意降低产品质量的做法,并不算删库,但也被判刑了。

还有一个案例更是体现了程序员天真的逻辑:

这个程序员后来的判决是盗窃罪。他因为被裁员而心生怨恨,但奇怪的是,被裁后一年多才被抓。这家公司是电商平台,他被裁之后,相关的权限没有完全关闭,于是就写了程序,把一部分返利的接口接到自己的银行账号上了。

但是,这个人并不是要偷钱,直到警察刑拘他的时候,一年多的时间,那个账户里的返利已经积累了上万笔,共 21 万多元,他一分钱也没花过。调查时问他为什么要这么做?他的理由是,我就想让公司自己发现这些钱没有了,然后主动找到我,为当年强制裁员的事儿主动向我道歉,然后我把钱再全部退给他们。他只是想通过这个方法出口恶气。

而这家公司的流水确实很大,一直也没人发现这个问题。直到公司打算上市、第三方审计的时候,发现账上有 20 多万元对不上,公司实在没有办法,就报了警,最后由警方查出了这个账户。

由于是报警后处理的,又符合盗窃案,数额巨大,于是刑拘后审判,直接 4 年 2 个月的刑期。你看,实际上这位程序员并没有盗窃的念头,可能最初遭遇不公的就是他。但没办法,他的行为还是违了法。

这就要说到有一些程序员对社会规则与程序规则的混淆了。程序只要植入了,就会毫不留情的执行下去,有点儿像法律被执行一样。而社会规则往往不是这样的。

很多程序员因为缺少和各色人等打交道的经验,于是在利益纠纷中容易吃亏。比如,大家都知道,职场被裁如果遭遇不公待遇,去申请劳动仲裁,其实成功维权的概率是非常高的。但一些人力资源部门也有反制措施,导致程序员最终不敢去劳动仲裁。

有些人力资源部门会这么说,如果你坚持索要高额赔偿金,或者你去申请劳动仲裁,那几家大厂的人力资源其实有一个联盟,我把你拉黑后,你在那些公司就也是拉黑的状态,你再也进不了大厂。实际上,这是不可能的,压根不存在一个系统化的人力资源数据平台供他们分享。

但更加实际的威胁是,你不要去劳动仲裁了,否则你去下一家大企业时,他们一定会对你做背景调查,问到我们时,我们公司是不会支持你的。

这个怎么办呢?

我的建议是,你可以直说,他们不想给赔偿金,我申请了劳动仲裁,然后他们就在背景调查里说了那些话。如果新公司是正经企业的话,当你把这些材料拿出来,把这些话告诉他们,他们一定会更关注你的能力和实际表现,而不会在意原公司的说法的。

总之,程序员是很难通过程序和公司博弈的,因为既删不了库,也跑不了路。在互联网公司里,程序员的违规动作是非常清晰的,各条指令的操作可以精确到秒,一旦选择破坏计算机程序为自己实现正义,那就吃大亏了。

而对公司来说,严格离职员工的权限,注意数据库的备份虽然是老生常谈,但真正能十年如一日的执行到位,却是一件很难的事儿。

猜你喜欢

转载自blog.csdn.net/monarch91/article/details/126218792