“刪庫”不分段位,為何頻頻暴雷?
原創刪庫離職,刪庫討薪,刪庫泄憤…… 刪庫之火,從本地數據庫燒到了云端、燒到了開源,國內外 IT 圈無一避免。段子一樣的刪庫事件時有發生。不得不說,數據很飽滿,真相很骨感。
事件回顧
近日,上海某知名互聯網公司的“刪庫跑路”橋段迎來了最終宣判。法院判決被告人涉事員工王某有期徒刑十個月。
2021 年 3 月,犯罪嫌疑人王某入職上海某知名互聯網公司從事計算機系統研發工作,負責公司網購平臺部分規則代碼研發。3 個月后,王某因試用期未合格被公司勸退,并于離職當天,未經公司許可,私自將即將上線的系統代碼全部刪除。
幾天后,公司準備系統上線運行時方發現代碼被人刪除,只能緊急延期上線,并支付數萬元費用聘請了第三方數據公司進行數據恢復、組織員工重新書寫代碼,才保證了公司系統后續上線運營。
王某為泄私憤,違反國家規定,對計算機信息系統存儲數據進行刪除,后果嚴重,行為已觸犯了《中華人民共和國刑法》第二百八十六條第二款的規定,涉嫌破壞計算機信息系統罪。
第二百八十六條【破壞計算機信息系統罪】
違反國家規定,對計算機信息系統功能進行刪除、修改、增加、干擾,造成計算機信息系統不能正常運行,后果嚴重的,處五年以下有期徒刑或者拘役;后果特別嚴重的,處五年以上有期徒刑。
違反國家規定,對計算機信息系統中存儲、處理或者傳輸的數據和應用程序進行刪除、修改、增加的操作,后果嚴重的,依照前款的規定處罰。故意制作、傳播計算機病毒等破壞性程序,影響計算機系統正常運行,后果嚴重的,依照第一款的規定處罰。單位犯前三款罪的,對單位判處罰金,并對其直接負責的主管人員和其他直接責任人員,依照第一款的規定處罰。
兩敗俱傷
江湖傳說由來已久,既有“大神末路之怒火”,又有“壯士討薪之艱辛”、“酒后任性之尷尬”,當然也不乏“手殘黨之自贖”。但傳說里的結局似乎并沒有什么不同:“刪庫一時爽,鐵窗淚兩行”。
今年伊始,知名開源工具 Faker.js 的作者 Marak 故意破壞了 GitHub 上的開源庫,清空了所有代碼,并在 commit 中留下“endgame”字樣。此外,他開發的另一個庫 colors.js 也受到了影響。在刪庫事件發生后,Marak 本人的 GitHub 賬號還被官方封禁,引起軒然大波。
- 2020 年 11 月,上海蘊某公司負責產品技術開發、運營和管理等工作的程序員吳某為討要薪資,刪除了公司數據,導致公司開發的“筑作”App 里的用戶行為日志數據丟失,使用戶無法在 App 內讀取其設計裝修效果圖和 3D 模型。吳某還刪除了注冊用戶制作并上傳的圖片和模型文件 2.7 萬余條。最終,吳某被法院認定已構成破壞計算機信息系統罪,依法判處有期徒刑 11 個月。
- 2021 年 9 月,美國一 50 歲 IT 技術主管 Shannon Stafford 因績效不及格被勸退,隨后刪除公司全部存儲信息,并因此被判入獄服刑十二個月零一天。此外,他還需要向前任雇主支付 193250.1 美元(約 132 萬人民幣)賠款。
- 2021 年開年,“鏈家刪庫跑路”事件同樣在 IT 行業掀起了巨浪!1 月 6 日,北京第一中級人民法院公布了一份刑事裁定書,前鏈家員工因不滿工作調整,刪了公司 9TB 數據。鏈家為恢復及重新構建財務系統共計花費人民幣 18 萬元,而員工則成功把自己“送進去”7 年。
- 2020 年 8 月,思科前員工離職后惡意刪除 456 個虛擬機,造成思科高達 240 萬美元的損失,該員工面臨 5 年有期徒刑和 25 萬美元的罰款。
- 2018 年 6 月,某科技公司總監因不滿被公司裁員一氣之下刪除公司數據庫上的一些關鍵索引和部分表格,造成公司直接經濟損失 225 萬元,被判有期徒刑 2 年 6 個月,緩刑 3 年。
- 2018 年 9 月,順豐一高級工程師因手誤刪除了線上系統數據庫,最后被開除。
當然要說在國內影響力最大的要數去年的“微盟刪庫”事件。故事主角憑一己之力,險些毀掉整個 SaaS 服務行業。
2021 年 2 月,微盟公司被一名員工惡意刪庫,在線服務出現故障,主營業務商家小程序全線崩潰,受此牽連 300 萬家商戶生意基本停擺。之后微盟聯合服務商恢復數據,歷經七天七夜才找回被刪庫數據。不過由于負面影響太大,受此牽連微盟累計市值蒸發超 30 億港元。而對于給眾多商家造成的影響,微盟表示準備了 1.5 億元人民幣賠付金對用戶進行賠償。該員工自供此舉系出于酒后因生活不如意、無力償還網貸等個人原因,最終被判 6 年有期徒刑。
與其將“刪庫跑路”視為江湖傳說,更不如說,這是不斷上演的“雙面悲劇”。一面是“魚死網破”、“玉石俱焚”式的泄憤,一面是“亡羊補牢”、“元氣大傷”式的企業。
“死局”真相
當然,也有不刪庫的,而是選擇了把代碼強制全民公開。比如,2019 年 4 月,嗶哩嗶哩(B 站)被爆網站后臺工程源碼泄露。源代碼被公布在 GitHub 平臺上,但并不是托管在 B 站的官方組織域之下,而是由“openbilibili”的用戶創建,代碼庫名為“go-common”。
但不管刪不刪庫,背后的真相卻是一致的:信任的缺失。
細看這些刪庫的起因,雖說五花八門,但無外乎這三種——
- 公司員工受到不公平待遇(降薪、降職、裁員、高強度加班、其他),報復性心理使然
- 企業數據權限管理缺失
- 程序員自身原因(手殘、個人原因等)
如今,“數智化”、“數字化轉型”等詞匯傳遍街頭巷尾,當員工喪失了對企業的信任,“數據”就會容易成為二者“恩怨局”里的炸彈道具,多么得諷刺!
而一些企業的信任機制呈現的十分極端。要么,不信任任何個人,只信任流程和制度:通過固化下來的流程和制度來約束。要么,管理缺失,權限授予十分混亂。
而往往,良好的信任機制是不斷迭代的, 需要隨著外界環境的變化時刻迭代流程和制度。
于企業而言,刪庫跑路事件,讓他們意識到,公司的抗風險能力不僅僅在于商業模式、供應鏈,還在于支撐這些的技術能力:架構是否完善、數據是否安全、管理是否良性。
但于程序員這個群體而言,遠遠不是數據操作的流程與權限這么簡單。雇主過分追逐盈利、速度等商業目標,卻對程序員的成長、生活缺乏必要的人文關懷,才會導致這樣的尷尬慘劇。
云,救不了信任
幾年前,每每發生“刪庫”事件,業內技術專家都會給出很多建議:架構備份、分權管理、流程管理、安全屋、操作監督等等,而且往往會帶上一條:上云。
但是,上云真的能杜絕或減少“刪庫”事件的發生嗎?
誠然,數據放在云端的保險系數還是相對較高的。因為云端有足夠多的公共資源作為支撐。其中,快照和異地遠程復制災備服務是云端提供的不錯的功能。當發生數據刪除時,可以使用快照迅速恢復或者回滾到某個歷史時刻,然后再通過其他方法補平到最新數據狀態;而云端異地遠程復制災備服務也是比較成熟的技術,相比本地實施的容災,初期投入更加劃算。
但最近幾年發生的刪庫事件表明,云數據庫同樣也避免不了“刪庫跑路”的發生。因為,云只是解決了技術架構的問題,卻沒有解決與企業息息相關的 IT 人的信任機制的問題。
說到底,IT 人的自覺才是保證數據庫安全的最后屏障。遵守職業道德是最后的底線,如果技術人員做不到這一點,再好的防御流程與機制也終將“破防”。
矛盾化解機制
商業逐利,企業自成立之初就會將盈利與收益作為發展的基本目標,因而很多情況下忽視了與企業共同成長的員工。大量的工作壓力、不合理公平的人事待遇,不僅會降低員工的工作效率,還會帶來煩躁、厭惡等負面情緒。企業管理者對此的長期忽視,終會加劇這種情況惡化,阻礙了企業與員工之間的和諧關系。
但法律不容藐視,技術人即便有再多的苦衷也不該以身試法。暴力的解決方式,終將害人害己。
在此,呼吁企業多關注內部員工的成長,給予員工應有的人文關懷,并完善改進矛盾化解機制。IT 人也應該遵守職業道德,不要因為自己“一時不爽”,做出錯誤的決定,而對他人甚至社會造成不可挽回的損失,自己也將身陷牢獄。
寫在最后
從“rm -rf /*”刪除命令到云端“兵荒馬亂”,刪庫跑路已經不再是一句玩笑話。對于技術人來說,刪庫一時爽,卻自斷生涯,可以說是非常得不償失的。而對于企業來說,面對“刪庫”這種違規惡意操作,一旦出事便會造成相當恐怖的后果。
事件背后,除了技術架構、操作權限與流程之外,如何重新審視企業與員工之間的信任問題,值得關注與深思。