28 / 43
兩年前的那一筆修改
刪掉了金鑰,版本歷史卻全都記得。
(示意情境,非真實事件)
為了展示作品,這家十人的 App 工作室,把一個舊專案,改成公開。
幾天後,雲端帳單出現異常。有人用他們的金鑰,開了大量的運算資源。
追查下去,金鑰藏在兩年前的某一筆修改裡。後來的版本,早就刪掉了,可是版本歷史,全都記得。
「先寫死,等一下再改。」幾乎每個工程師,都說過這句話。資料庫密碼、服務金鑰,先放進 .env 檔,功能跑起來最重要。
然後某天,忽略清單少了一行,或是有人把專案從私有改成公開,金鑰,就跟著程式碼一起出門了。
公開的程式碼,一直有人在掃。私有的也不保險,外包、離職的人、被盜的帳號,都看得到。
我以前以為,刪掉,就沒了。後來才發現,版本控制最大的優點,是什麼都記得;最大的風險,也是。
說出去的話,收不回來。推出去的金鑰,也是。
給工程師的一句話
金鑰外洩,第一步是撤銷換新,不是刪掉那一行;再把 .env 寫進忽略清單,公開專案前,先掃一次歷史。
看完的心情