【案例导读】
技术总监指示手下程序员,编写爬虫爬取公安机关居住证网站数据,由于爬虫爬的太快,致公安机关相关网站宕机,无法为普通公众办理居住证业务,造成重大损失。技术总监及程序员的行为是否构成违法?是否构成犯罪?触犯了何种罪名?以下案例给出了答案。
【犯罪动机】
为了公司主营业务开展的方便快捷
【涉及技术问题】
爬虫软件、每秒访问次数、宕机
【案情简介】
**一、【公诉机关指控】**A公司技术总监X授权公司员工Y开发一款名为N的软件,该软件内的“网络爬虫”功能能与B市公安局居住证服务平台链接,可以在该平台上查询到房产地址等对应的资料,该软件对上述平台访问量能达到每小时数十万次,以达到为其公司主营业务便捷的目的。某年某月某日两小时内,该软件对上述平台查询访问量为每秒180多次,共计查询信息150万条次并将查询的信息以网络云盘的形式保存,在该时段内造成B市公安局居住证服务平台无法正常运作,极大地影响了B市公安局人口管理处的日常运作。被告人X和Y违反国家规定,对计算机信息系统进行干扰,造成为5万以上用户提供服务的计算机信息系统不能正常运行累计1小时以上的,后果特别严重,应以破坏计算机信息系统罪追究其刑事责任。建议对被告人X判处五年以下有期徒刑,并处罚金;对Y判处三年以下有期徒刑,并处罚金。
二、【被告人辩称】被告人X对起诉书指控的罪名及犯罪事实均无异议,辩称,1、其没有预见到造成的后果,也不清楚会造成系统2个小时不能正常使用的情况;2、系统不能正常运行,可能只是系统堵塞,其没有破坏计算机系统的内部结构的机理;3、后果特别严重应当是影响到使用该系统的用户超过5万以上,而不是为5万以上用户提供服务;4、其授权Y开发爬虫程序,只是一次性爬取,并未要求每天自动爬取,其不是主犯。
被告人Y对起诉书指控的罪名及犯罪事实均无异议,辩称系X指派给项目经理,项目经理分配给其开发爬虫软件的;涉案网站虽然为5万人以上提供服务,但案发当时并没有5万人同时访问。
**三、【法院判决】**被告人X、Y违反国家规定,对计算机信息系统功能进行干扰,造成为5万以上用户提供服务的计算机信息系统不能正常运行累计1小时以上,后果特别严重,其行为已构成破坏计算机信息系统罪。公诉机关指控的犯罪事实清楚,证据确实、充分,指控的罪名成立。关于二被告人开发的爬虫软件爬取居住证系统数据所造成的实际损害后果的问题,经查,现有的被害单位委托人陈述、居住证系统受攻击影响的情况说明、关于居住证系统当日运行情况的说明、司法鉴定意见书等证据相互印证、足以证实,二被告人为查询信息便利开发使用爬虫软件,该软件对居住证服务平台进行大量访问,对服务器进行自动化程序攻击,造成服务器阻塞,导致为5万以上有效注册用户提供服务的居住证系统不能正常运行,后果特别严重,二被告人的相关辩解及辩护人的相关辩护意见缺乏事实与法律依据,依法不予采纳。关于二被告人辩称应当根据案发时使用该系统的用户是否超过5万对其行为后果认定,而非根据该系统为5万以上用户提供服务进行认定,该辩解缺乏法律依据,依法不予采纳。被告人X、Y犯罪后经电话通知主动到案,如实供述自己的罪行,系自首,依法予以减轻处罚。被告人X作为公司技术总监,负责并授权被告人Y开发涉案爬虫软件,系主犯,被告人Y受指派开发爬虫软件,在共同犯罪中起次要作用,系从犯,依法予以减轻处罚,被告人X的相关辩解依法不予采纳。综合本案二被告人犯罪的手段、方式、所起的作用、造成的危害后果、认罪态度等事实情节及公诉机关的量刑建议,判决如下:被告人X犯破坏计算机信息系统罪,判处有期徒刑三年;被告人Y犯破坏计算机信息系统罪,判处有期徒刑一年六个月。
【实务操作启示】
由以上案例分析,笔者尝试归纳如下启示要点,供软件开发者及程序员在软件开发、源代码保护等实务操作中,作为参考:
**1. 软件开发企业应该做好软件开发合规工作,避免由此带来的风险。**软件企业在日常开发中,应该建立合理的合规评估流程,包括但不限于项目立项、开发、销售等各个环节,发现存在问题应及时停止研发或者进行避让性研发,从而避免因不合法、不合规给企业带来巨大的隐患及风险。
日常应该做好技术人员的法律法规培训工作,让技术人员心中常怀“红线” ,知道哪些可为、哪些不可为,比如爬虫本身不存在违法或者合法一说,属于比较中立的技术工具,主要取决于开发者和使用者的目的,如果企业及员工能正确使用爬虫,可以助力企业发展;如果使用不当,则会给公司和个人带来巨大风险。上述案例中,涉案爬虫软件没有获取公民个人信息,否则除了涉案罪名,还可能构成侵犯公民个人信息罪,扣上这个罪名,那就更严重了,不仅是对个人,对企业的影响同样的巨大的。
因此从软件企业角度,做好软件开发各个环节的合规工作,非常有必要,可以保证企业在合法合规的范围内健康发展。
2. **从程序员角度,不是公司或领导指派的任何工作,都要去执行,自己要有辨别力。**在上述案例中,X和Y互相甩锅,但由于X是技术总监,甩锅未遂,成为主犯,但程序员也成了从犯。程序员Y可能觉得自己很冤,自己就是一打工的,只是执行领导指令,我怎么就成从犯了呢?
那领导让你去杀人,你去不去?其实是一个道理,只是案例里面没有那么明显。程序员应该掌握基本的法律知识,要有判断力和识别力,不是公司或领导指派的任何工作,都要去执行,实在不行可以换家企业打工,总比锒铛入狱的要好得多。
实践中技术人员除了上述案例中的破坏计算机信息系统罪,可能还涉及侵犯著作权罪、侵犯商业秘密罪、非法获取计算机信息系统数据罪等,另外还有一个比较常见的罪名:帮助信息网络犯罪活动罪,也就是我们常说的“帮信罪”。
如果程序员没有基本的判断力和识别力,别人给你什么做什么,也不管合法还是不合法,那可能一不小心就构成了“帮信”,导致大好前程断送,悔之晚矣。
【关联知识】
【《破坏计算机信息系统罪》的严重情节】
根据《最高人民法院、最高人民检察院关于办理危害计算机信息系统安全刑事案件应用法律若干问题的解释》
第四条 破坏计算机信息系统功能、数据或者应用程序,具有下列情形之一的,应当认定为刑法第二百八十六条第一款和第二款规定的**“后果严重”**:
(一)造成十台以上计算机信息系统的主要软件或者硬件不能正常运行的;
(二)对二十台以上计算机信息系统中存储、处理或者传输的数据进行删除、修改、增加操作的;
(三)违法所得五千元以上或者造成经济损失一万元以上的;
(四)造成为一百台以上计算机信息系统提供域名解析、身份认证、计费等基础服务或者为一万以上用户提供服务的计算机信息系统不能正常运行累计一小时以上的;
(五)造成其他严重后果的。
实施前款规定行为,具有下列情形之一的,应当认定为破坏计算机信息系统**“后果特别严重”:**
(一)数量或者数额达到前款第(一)项至第(三)项规定标准五倍以上的;
(二)造成为五百台以上计算机信息系统提供域名解析、身份认证、计费等基础服务或者为五万以上用户提供服务的计算机信息系统不能正常运行累计一小时以上的;
(三)破坏国家机关或者金融、电信、交通、教育、医疗、能源等领域提供公共服务的计算机信息系统的功能、数据或者应用程序,致使生产、生活受到严重影响或者造成恶劣社会影响的;
(四)造成其他特别严重后果的。
【减刑假释】
根据相关法律文书显示,X在后续监狱执行期间曾经获得减刑26天,主要是因为X在服刑考核期间,能认罪悔罪;遵守法律法规及监管规定,接受教育改造;积极参加思想、文化、职业技术教育;积极参加劳动,努力完成劳动任务,共获表扬1次。