程序员把代码上传 GitHub ,获刑半年,被罚 20 万

程序员把代码上传 GitHub ,获刑半年,被罚 20 万

今天有一条新闻映入眼帘,具体情况如下:

深圳法院近日对大疆源代码泄露案做出一审判决,综合考虑犯罪情节以及自愿认罪、有悔罪表现,以侵犯商业秘密罪判处大疆前员工有期徒刑六个月,并处罚金20万人民币。据悉,这些泄露出去的代码,已用于该公司农业无人机产品,具有实用性。尽管大疆公司采取了合理的保密措施,但该次事件依然给大疆造成经济损失116.4万元人民币。

该员工之前在大疆的子公司担任软件工程师,公司对他很器重,负责编写农业无人机的管理平台和农机喷洒系统代码。他在Github 开设账号,并建立了“公有仓库”,把代码上传至了 GitHub 公有仓库。

经鉴定,大疆这些泄露出去的代码具有非公知性,且已用于该公司农业无人机产品,属于商业秘密。经评估,这次泄漏公司造成经济损失116.4万元人民币。

案发后,这位员工第一时间删除了相关代码,并积极配合调查,防止事态扩大。他在推特上表示,“无意泄露了大疆的机密”、“我很后悔自己没有法律意识,我愿意承担相应的法律责任。”

通过这件事,其实也给我们程序员一个特别的警示,公司的代码属于公司所有,对于一个高新技术企业来讲,源代码意味着高新企业的财产权、竞争力乃至生命线,是公司千方百计保护的对象。我们不应该随意上传代码至公开社区,或者故意泄露,这都是一种违法行为。

当然,之前 GitHub 私有库是收费的,所以很多人都把代码上传到公有库,现在 GitHub 私有库也免费了,但是这并不是意味着大家就可以把公司代码上传至私有库中。我的建议:最好是不要

为什么会频繁发生员工把公司代码上传到 GitHub 公有库的事件呢?我认为无非就两种原因。

从个人层面上来讲

从个人层面上来讲,法律意识淡薄只是一方面,另外一个方面就是对于代码的所有权,以及代码的安全性重视不够。当然,可能有的程序员会认为把代码上传到 GitHub 上可以作为备份,进行代码的管理,就是防止代码丢失。但是没有意识到公开库的危害性。

从公司层面来讲

从公司层面来讲,可能没有对代码的管理以及代码安全性的重要性对员工进行普及和教育。员工之所以把代码上传至 GitHub 备份,可能公司没有进行代码管理的仓库以及代码管理的规范。像大疆这样的大公司,应该有代码管理工具,员工之所以能够上传至 GitHub ,可能没有做到安全性的普及。

所以,每个公司,每个程序员都应该重视,从公司层面上来讲,应该给员工提供代码管理的仓库和工具,进行统一管理,另外加强员工对代码安全性和代码管理的意识。程序员自身也应该加强代码安全管理的意识,不应该随意把代码上传至别的地方。

即使是个人代码,也应该加强安全意识

公司的代码,尤其是后端服务器代码,可能会有很多加密和解密 secret,key 之类的,也有数据库密码,这些密码和隐私安全信息一旦泄露,就会引起很大的安全事件。

你以为个人代码就可以随意上传了么?不是的。

我之前在文章

《这是一个众人裸奔的时代,你害怕吗!!!》

中分享过这么一个案例:很多程序员都喜欢在 GitHub 上开源自己的代码,分享自己的成果。可是在分享代码的同时就把自己的密码给分享出来了。举个例子:比如你开源了一个客户端代码,里面有登录功能,可能为了模拟登录,你自己在代码中写了一个死密码,由于个人习惯原因,你可能写的测试账号的密码就是你经常用的账户密码。从此,你也开始裸奔了。

程序员把代码上传 GitHub ,获刑半年,被罚 20 万

这是一个数据库连接的例子,用户用了自己真实的密码。

而有的程序员会用 Python 去爬虫 GitHub 上的开源代码,用正则表达式去匹配可能出现密码的地方,收集密码,果不其然,收集到了很多密码,而 GitHub 上的账号名字是可见的,密码已有,账号也可见,所以,很多程序员也开始在 GitHub 上裸奔了。

而在现在的人,为了方便管理和记忆,特别喜欢多个平台,多个软件使用同一个用户名,同一个密码,一旦泄露一个,就相当于自己在互联网上的所有平台,软件上的账户和密码泄露了。

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

所以,我想说:即使是个人的代码,在上传至 GitHub 做开源的时候,涉及到密码的地方,一定要注意保护隐私,不要使用自己的真实密码,应该修改后再上传。这就是代码的安全意识。

在如今这个众人裸奔的时代,我们一定要加强安全意识,不仅仅是代码的安全意识,更应该注意保护自己的隐私。

关注公众号:非著名程序员,对话框回复关键字 “1024”,免费领取 30 本经典编程书籍。

相关推荐