上海疫情封控以来,“抢菜”恐怕是上海市民最头疼的问题之一。在一些市民动用筋膜枪仍“一菜难求”的情况下,使用代码抢菜却几乎战无不胜。迫于物资压力,笔者也从头学习研究了这些抢菜代码,改善了家里的伙食。不过,出于一名法律人的职业习惯,我对其合法性产生了疑问。今天就以本文,详解代码抢菜、抢购软件相关的法律风险。
本文主要包括以下内容:
一、何为“代码抢菜”?
二、抢菜代码的法律性质
三、抢购软件背后的法律风险
四、如何防范上述法律风险
五、结语
我们正常使用手机客户端“抢菜”时,每次点击添加购物车、结算、选择配送时间等,客户端均会向购物平台的服务器发送一个或多个数据包,服务器会校验和读取这些数据包,以确认是否来自合法途径、请求内容是否有效,并判断运力和库存是否符合我们的请求,然后向我们返回包含结果的数据包。
抢菜代码为了实现自动化抢菜,需具备两个主要功能:
1、抢菜代码能够“冒充”手机客户端,生成与客户端相同的数据包,确保通过服务器的校验并被服务器顺利读取。
具体而言,服务器在校验数据时,一般会核对其中包含的用户识别码、Cookie、设备ID、软件版本号等用户特征信息,这些信息与用户的账号和设备是一一对应的,服务器以此来确认数据包来自官方客户端。而抢购代码的作者通过“抓包”的方式,了解了正常数据包所需包含的全部内容,并利用代码来生成结构相同的数据包。用户在运行代码前,通过“抓包”的方式截取自己账号和设备所对应的用户特征信息,并填入代码中,即可让服务器误认为数据包来自官方客户端。
2、抢菜代码能够在毫秒级的时间内反复多次发送数据包至服务器,并根据服务器的反馈作出相应动作,直至下单成功,中途无需人工介入。
经笔者测试,本次上海疫情封控期间出现的抢菜代码,大部分都具备上述两个功能。
一方面,抢菜代码通过上述伪装功能,绕过了服务器的登录验证和数据包合法性检验等机制,这些验证机制属于服务器的安全保护措施之一;另一方面,由于购物平台本身显然仅授权其官方客户端与服务器进行通信,故抢菜代码属于超越权限获取了服务器数据。
因此,抢菜代码符合《关于办理危害计算机信息系统安全刑事案件应用法律若干问题的解释》(以下简称“《解释》”)第二条1所定义的“专门用于侵入、非法控制计算机信息系统的程序、工具”。
笔者检索了相关案例,可见近年来审判机关也持此观点:
因本文所述的抢菜代码属抢购软件的一种,为便于表述,本文以下统称“抢购软件”。
注:本文第一版发布后,有读者指出,抢菜代码未绕过服务器的前置云防护,且权限限于所用身份认定授予的用户权限,因此未超越权限。该读者还指出,上述《解释》的撰稿人,最高人民法院喻海松法官在《<关于办理危害计算机信息系统安全刑事案件应用法律若干问题的解释>的理解与适用》中提到,“专门”工具不包括既可以用于违法犯罪目的又可以用于合法目的的‘中性程序’”,并质疑抢菜软件是否属于中性程序。
因笔者无法联系上该读者,只好在此回复如下:
第一,“安全防护机制”不应狭义的理解为用于预防网络攻击的安全措施,服务器为避免无效访问等而设置的登录验证和数据包合法性检验机制也属于广义上的“安全防护机制”,这也与上述各法院的观点相吻合。
第二,超越权限中的“权限”,应理解为权利人作出的授权。对抢菜代码而言,权利人是指购物平台。购物平台并未授权除客户端以外的工具直接访问服务器进行下单,因此抢菜代码显然是超越权限的,而与代码运行过程中是否超出一般用户权限获取其他数据无关。
第三,抢菜代码不属于“中性软件”。应注意,喻法官强调的是合法用途,而非合理用途。抢菜代码唯一的设计用途,便是绕过服务器的验证机制并高速提交下单请求,根据上述的分析,这并非合法用途。喻法官所指的“中性软件”,现实生活中可以VPN软件为例,在此不再赘述。
抢购软件的上述法律性质,决定了开发和出售抢购软件,可能涉嫌《中华人民共和国刑法》(以下简称“《刑法》”)第二百八十五条2第三款规定的“提供侵入、非法控制计算机信息系统程序、工具罪”;为盈利目的使用抢购软件的,则可能涉嫌第二款规定的“非法获取计算机信息系统数据、非法控制计算机信息系统罪”。
我们以“抢购”、“软件”等为关键词检索,可得如下实际与抢购软件的开发、传播、使用相关的案例:
结合上述判例、《刑法》第二百八十五条以及《解释》第一条3和第三条4,可知对于符合本文第二章所述的抢购软件,主要应关注以下刑事责任风险:
发布、传播抢购软件,受众人数达到20人次等的,无论是否获利,均可能触犯提供侵入、非法控制计算机信息系统程序、工具罪;
对外出售抢购软件,人次达到20人、或获利金额达到5000元,或造成损失达到10000元等的,可能触犯提供侵入、非法控制计算机信息系统程序、工具罪;
将抢购软件用于有偿代抢购等盈利目的,获利金额达到5000元,或造成损失达到10000元等的,可能触犯非法获取计算机信息系统数据罪。
以上海疫情封控期间各“抢菜代码”为例,下载使用人数如达到20人次,则符合“情节严重”的标准;如达到100人次,则符合“情节特别严重”的标准,可能涉嫌提供侵入计算机信息系统程序、工具罪。而收费代抢购的“黄牛”党,若收取的“代拍费”达到人民币5000元,则可能涉嫌非法获取计算机信息系统数据罪。
另需提示,由于购物平台集中放货时服务器访问量密集,此时运行抢购软件将造成网络进一步拥堵,影响服务器的正常访问。依据《刑法》第二百八十六条5以及《解释》第四条6,如造成相关服务器不能正常运行累计一小时以上等不良后果的,抢购软件的开发者和使用者还可能涉嫌“破坏计算机信息系统罪”。
(1)购物平台可能有权作出取消订单、取消会员资格、禁止下单等惩罚性措施。
电商平台的用户协议中,通常已对非正常途径恶意下单的后果进行了约定。例如:
图1:《山姆会员商店会员章程》节选。图源:山姆会员商店app。
图2:《叮咚买菜服务协议》节选。图源:叮咚买菜app。
因此,即便使用抢购软件抢到了商品,购物平台也很可能有权取消订单,甚至取消会员资格、限制交易等惩罚性措施。其背后的原因,还是在于抢购软件极易扰乱购物平台正常的交易秩序、破坏公平竞争的网络环境、增加服务器负荷,因此不应鼓励使用。
(2)抢购软件若造成购物平台损失的,购物平台可能提起民事诉讼。
若制作、发布或使用抢购软件造成购物平台损失,则平台有权向侵权人主张赔偿。
此外,由于抢购软件一定程度上扰乱市场竞争秩序,甚至对购物平台构成一定的竞争,行为人也可能因违反《反不正当竞争法》7而被判定侵权。经笔者检索,目前已有部分相关案例,值得引起重视:
另需注意,即便行为人已经承担了刑事责任,也不影响购物平台向其主张民事责任8。
为尽可能避免上述法律风险,我们建议,开发者和使用者应注意:
尽量避免开发带有规避相关购物平台安全保护措施(包括身份认证措施)的功能的抢购软件。
尽量避免传播上述抢购代码、抢购软件,尤其不得用于出售,也不得用于有偿代为抢购。
如仅用于个人自用,应尽量减少使用频率,并合理设置访问间隔和并发线程数量,以免造成服务器过载。
对于开发者而言,应制定详细的使用者协议,从软件性质、可能的危害后果、用途限制、责任承担、免责声明等多方面进行提示,并将同意该使用协议作为运行或使用该软件的前置条件,而不建议仅在readme文档中宽泛地表示本软件不得用于商业用途。
如决定依据GPL 3.0协议进行开源,应注意不能仅将GPL 3.0的文本文件放置于项目目录,这样可能导致GPL协议在整个项目中的适用范围存在歧义。建议根据GPL 3.0附录中的格式,在每个文件的源码起始处均包含一份版权声明,并附上GPL 3.0的全文链接。
抢购软件虽具有一定的实用性,但其扰乱了正常的交易秩序、破坏了公平竞争的环境,不应鼓励使用。
从法律角度来看,制作、传播和使用抢购软件若后果达到一定的法律标准,将可能触犯《刑法》第二百八十五条,甚至第二百八十六条;且即便下单成功,购物平台亦有权依据用户协议来取消订单、取消会员资格,甚至提起民事诉讼。抢购软件的开发者和使用者均需要充分地认识到其背后的法律风险,并注意防范。
最后,我们认为,抢购软件仅是功能较为单一的专用软件,而我们日常生活中所使用的各类网站和其他计算机软件,在开发和使用中可能涉及更复杂的法律问题。作为开发者、经营者和使用者,需同时具备对代码的理解和对法律的理解,谨慎地预见和防范其中的法律风险。
注释及参考文献:
1、《关于办理危害计算机信息系统安全刑事案件应用法律若干问题的解释》第二条:具有避开或者突破计算机信息系统安全保护措施,未经授权或者超越授权获取计算机信息系统数据的功能的”应当认定为刑法第二百八十五条第三款规定的“专门用于侵入、非法控制计算机信息系统的程序、工具”。
2、《刑法》第二百八十五条:
【非法侵入计算机信息系统罪】违反国家规定,侵入国家事务、国防建设、尖端科学技术领域的计算机信息系统的,处三年以下有期徒刑或者拘役。
【非法获取计算机信息系统数据、非法控制计算机信息系统罪】违反国家规定,侵入前款规定以外的计算机信息系统或者采用其他技术手段,获取该计算机信息系统中存储、处理或者传输的数据,或者对该计算机信息系统实施非法控制,情节严重的,处三年以下有期徒刑或者拘役,并处或者单处罚金;情节特别严重的,处三年以上七年以下有期徒刑,并处罚金。
【提供侵入、非法控制计算机信息系统程序、工具罪】提供专门用于侵入、非法控制计算机信息系统的程序、工具,或者明知他人实施侵入、非法控制计算机信息系统的违法犯罪行为而为其提供程序、工具,情节严重的,依照前款的规定处罚。3、《解释》第一条:非法获取计算机信息系统数据或者非法控制计算机信息系统,具有下列情形之一的,应当认定为刑法第二百八十五条第二款规定的“情节严重”:
(一)获取支付结算、证券交易、期货交易等网络金融服务的身份认证信息十组以上的;
(二)获取第(一)项以外的身份认证信息五百组以上的;
(三)非法控制计算机信息系统二十台以上的;
(四)违法所得五千元以上或者造成经济损失一万元以上的;
(五)其他情节严重的情形。
实施前款规定行为,具有下列情形之一的,应当认定为刑法第二百八十五条第二款规定的“情节特别严重”:
(一)数量或者数额达到前款第(一)项至第(四)项规定标准五倍以上的;
(二)其他情节特别严重的情形。
明知是他人非法控制的计算机信息系统,而对该计算机信息系统的控制权加以利用的,依照前两款的规定定罪处罚。4、《解释》第三条:提供侵入、非法控制计算机信息系统的程序、工具,具有下列情形之一的,应当认定为刑法第二百八十五条第三款规定的“情节严重”:
(一)提供能够用于非法获取支付结算、证券交易、期货交易等网络金融服务身份认证信息的专门性程序、工具五人次以上的;
(二)提供第(一)项以外的专门用于侵入、非法控制计算机信息系统的程序、工具二十人次以上的;
(三)明知他人实施非法获取支付结算、证券交易、期货交易等网络金融服务身份认证信息的违法犯罪行为而为其提供程序、工具五人次以上的;
(四)明知他人实施第(三)项以外的侵入、非法控制计算机信息系统的违法犯罪行为而为其提供程序、工具二十人次以上的;
(五)违法所得五千元以上或者造成经济损失一万元以上的;
(六)其他情节严重的情形。
实施前款规定行为,具有下列情形之一的,应当认定为提供侵入、非法控制计算机信息系统的程序、工具“情节特别严重”:
(一)数量或者数额达到前款第(一)项至第(五)项规定标准五倍以上的;
(二)其他情节特别严重的情形。5、《刑法》第二百八十六条:【破坏计算机信息系统罪】违反国家规定,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统不能正常运行,后果严重的,处五年以下有期徒刑或者拘役;后果特别严重的,处五年以上有期徒刑。
违反国家规定,对计算机信息系统中存储、处理或者传输的数据和应用程序进行删除、修改、增加的操作,后果严重的,依照前款的规定处罚。
故意制作、传播计算机病毒等破坏性程序,影响计算机系统正常运行,后果严重的,依照第一款的规定处罚。
单位犯前三款罪的,对单位判处罚金,并对其直接负责的主管人员和其他直接责任人员,依照第一款的规定处罚。6、《解释》第四条:破坏计算机信息系统功能、数据或者应用程序,具有下列情形之一的,应当认定为刑法第二百八十六条第一款和第二款规定的“后果严重”:
(一)造成十台以上计算机信息系统的主要软件或者硬件不能正常运行的;
(二)对二十台以上计算机信息系统中存储、处理或者传输的数据进行删除、修改、增加操作的;
(三)违法所得五千元以上或者造成经济损失一万元以上的;
(四)造成为一百台以上计算机信息系统提供域名解析、身份认证、计费等基础服务或者为一万以上用户提供服务的计算机信息系统不能正常运行累计一小时以上的;
(五)造成其他严重后果的。
实施前款规定行为,具有下列情形之一的,应当认定为破坏计算机信息系统“后果特别严重”:
(一)数量或者数额达到前款第(一)项至第(三)项规定标准五倍以上的;
(二)造成为五百台以上计算机信息系统提供域名解析、身份认证、计费等基础服务或者为五万以上用户提供服务的计算机信息系统不能正常运行累计一小时以上的;
(三)破坏国家机关或者金融、电信、交通、教育、医疗、能源等领域提供公共服务的计算机信息系统的功能、数据或者应用程序,致使生产、生活受到严重影响或者造成恶劣社会影响的;
(四)造成其他特别严重后果的。
7、《反不正当竞争法》:第二条 经营者在生产经营活动中,应当遵循自愿、平等、公平、诚信的原则,遵守法律和商业道德。
本法所称的不正当竞争行为,是指经营者在生产经营活动中,违反本法规定,扰乱市场竞争秩序,损害其他经营者或者消费者的合法权益的行为。
本法所称的经营者,是指从事商品生产、经营或者提供服务(以下所称商品包括服务)的自然人、法人和非法人组织。
8、《民法典》第一百八十七条:民事主体因同一行为应当承担民事责任、行政责任和刑事责任的,承担行政责任或者刑事责任不影响承担民事责任;民事主体的财产不足以支付的,优先用于承担民事责任。
-
ethan.zhu@hengtai-law.com
-
021-68816261
-
Corporate and M&A/Dispute Resolution/Securities and Capital Market/Healthcare and Life Sciences/Foreign-related Business
-
Chinese、English