1. 程式人生 > >前大疆程序員離職後,把代碼上傳 GitHub,令公司損失百萬,獲刑半年!

前大疆程序員離職後,把代碼上傳 GitHub,令公司損失百萬,獲刑半年!

一個用戶 我們 服務器 自己 更多 有意 能夠 view ron

該員工之前在大疆的子公司擔任軟件工程師,公司對他很器重,負責編寫農業無人機的管理平臺和農機噴灑系統代碼。他在Github 開設賬號,並建立了“公有倉庫”,把代碼上傳至了 GitHub 公有倉庫。

經鑒定,大疆這些泄露出去的代碼具有非公知性,且已用於該公司農業無人機產品,屬於商業秘密。經評估,這次泄漏公司造成經濟損失116.4萬元人民幣。

技術分享圖片

案發後,這位員工第一時間刪除了相關代碼,並積極配合調查,防止事態擴大。他在推特上表示,“無意泄露了大疆的機密”、“我很後悔自己沒有法律意識,我願意承擔相應的法律責任。”

通過這件事,其實也給我們程序員一個特別的警示,公司的代碼屬於公司所有,對於一個高新技術企業來講,源代碼意味著高新企業的財產權、競爭力乃至生命線,是公司千方百計保護的對象。我們不應該隨意上傳代碼至公開社區,或者故意泄露,這都是一種違法行為。

當然,之前 GitHub 私有庫是收費的,所以很多人都把代碼上傳到公有庫,現在 GitHub 私有庫也免費了,但是這並不是意味著大家就可以把公司代碼上傳至私有庫中。我的建議:最好是不要。

技術分享圖片

為什麽會頻繁發生員工把公司代碼上傳到 GitHub 公有庫的事件呢?我認為無非就兩種原因。

從個人層面上來講

從個人層面上來講,法律意識淡薄只是一方面,另外一個方面就是對於代碼的所有權,以及代碼的安全性重視不夠。當然,可能有的程序員會認為把代碼上傳到 GitHub 上可以作為備份,進行代碼的管理,就是防止代碼丟失。但是沒有意識到公開庫的危害性。

從公司層面來講

從公司層面來講,可能沒有對代碼的管理以及代碼安全性的重要性對員工進行普及和教育。員工之所以把代碼上傳至 GitHub 備份,可能公司沒有進行代碼管理的倉庫以及代碼管理的規範。像大疆這樣的大公司,應該有代碼管理工具,員工之所以能夠上傳至 GitHub ,可能沒有做到安全性的普及。

所以,每個公司,每個程序員都應該重視,從公司層面上來講,應該給員工提供代碼管理的倉庫和工具,進行統一管理,另外加強員工對代碼安全性和代碼管理的意識。程序員自身也應該加強代碼安全管理的意識,不應該隨意把代碼上傳至別的地方。

技術分享圖片

即使是個人代碼,也應該加強安全意識!

公司的代碼,尤其是後端服務器代碼,可能會有很多加密和解密 secret,key 之類的,也有數據庫密碼,這些密碼和隱私安全信息一旦泄露,就會引起很大的安全事件。

你以為個人代碼就可以隨意上傳了麽?不是的。

很多程序員都喜歡在 GitHub 上開源自己的代碼,分享自己的成果。可是在分享代碼的同時就把自己的密碼給分享出來了。舉個例子:比如你開源了一個客戶端代碼,裏面有登錄功能,可能為了模擬登錄,你自己在代碼中寫了一個死密碼,由於個人習慣原因,你可能寫的測試賬號的密碼就是你經常用的賬戶密碼。從此,你也開始裸奔了。

技術分享圖片

而有的程序員會用 Python 去爬蟲 GitHub 上的開源代碼,用正則表達式去匹配可能出現密碼的地方,收集密碼,果不其然,收集到了很多密碼,而 GitHub 上的賬號名字是可見的,密碼已有,賬號也可見,所以,很多程序員也開始在 GitHub 上裸奔了。

而在現在的人,為了方便管理和記憶,特別喜歡多個平臺,多個軟件使用同一個用戶名,同一個密碼,一旦泄露一個,就相當於自己在互聯網上的所有平臺,軟件上的賬戶和密碼泄露了。

你說你是不是就「裸奔」了?

所以,我想說:即使是個人的代碼,在上傳至 GitHub 做開源的時候,涉及到密碼的地方,一定要註意保護隱私,不要使用自己的真實密碼,應該修改後再上傳。這就是代碼的安全意識。

在如今這個眾人裸奔的時代,我們一定要加強安全意識,不僅僅是代碼的安全意識,更應該註意保護自己的隱私。

更多資訊,編程學習,關註v-x公眾號:mtbcxx

前大疆程序員離職後,把代碼上傳 GitHub,令公司損失百萬,獲刑半年!