我国目前并未出台专门针对网络爬虫技术的法律规范,但在司法实践中,相关判决已屡见不鲜,K 哥特设了“K哥爬虫普法”专栏,本栏目通过对真实案例的分析,旨在提高广大爬虫工程师的法律意识,知晓如何合法合规利用爬虫技术,警钟长鸣,做一个守法、护法、有原则的技术人员。
案情介绍
2018年1月至7月期间,呙某兴通过SQL注入漏洞以及编写爬虫脚本的方式,侵入计算机信息系统,获取计算机系统内存储的大量数据,其中涉及到个人信息的数量约为1500万余条,该将其获取的个人信息通过QQ销售给“Versace”、“同花顺”、“FF”、“糖果”等人,从中获利约54万余元。
公诉机关认为,呙某兴违反国家规定,侵入计算机信息系统,获取该计算机系统中存储的数据,情节特别严重,其行为触犯了《中华人民共和国刑法》第二百八十五条第二款,应当以非法获取计算机信息系统数据罪追究其刑事责任。
呙某兴对被指控的罪名无异议,但辩称起诉书指控的数量有异议,其只用了20多万条信息;对指控的入侵方式有异议,SQL技术不是入侵技术,爬虫技术只能获取网站页面的信息不能入侵系统或获取数据。
供述情况
被告人呙某兴的辩护人的主要辩护意见:
1.被告人获取计算机信息系统数据使用的SQL注入漏洞是常见的黑客技术,被告人所获取的信息多为网站上公开的信息,只是将SQL方式作为一种收集手段、采用爬虫脚本具备合法性;
2.对起诉书指控涉及个人信息数量1500万余条有异议。获取的计算机信息系统数据有部分无效数据、涉案信息数据存在重复性、非法获利与涉案信息数量不对应;
3.对指控被告人获利54万元有异议,被告人通过爬虫脚本获得信息销售所得利益应属合法收益,应予以扣除;
4.被告人主动交代犯罪事实,认罪悔罪态度好,犯罪情节较轻,愿意缴纳罚金,建议对其适用缓刑。
法院认为,被告人呙某兴违反国家规定,侵入计算机信息系统,获取该计算机系统中存储的数据,情节特别严重,其行为已构成非法获取计算机信息系统数据罪,公诉机关指控成立。
关于被告人及其辩护人所提对起诉书指控涉及个人信息数量1500万余条有异议,部分计算机信息系统系数据系无效数据且存在重复计算问题的辩解和辩护意见,本院认为,公诉机关对被告人获取的信息进行重新梳理,合理推断出1500万余条个人信息,能够识别特定自然人身份或者反映特定自然人活动情况,故对该项辩解及辩护意见,本院不予采纳。
关于被告人及其辩护人所提获取计算机信息系统数据使用的SQL注入漏洞只是一种收集手段、采用爬虫脚本具备合法性,获取的信息多为网站上公开的信息的辩解和辩护意见,本院认为,被告人使用SQL注入漏洞以及编写爬虫脚本的方式侵入计算机信息系统,获取计算机系统内存储的大量数据,其中涉及到个人信息的数量达到约1500万余条,并非网站页面信息,故对该项辩解及辩护意见,本院不予采纳。
关于辩护人所提对指控被告人获利54万元有异议,应扣除被告人通过爬虫脚本获得的合法信息收入的辩护意见,本院认为,被告人通过编写爬虫脚本的方式非法入侵计算机信息系统,获取计算机系统内储存的信息并出售所得系违法收入,应计入违法所得,故对该项辩护意见,本院不予采纳。
关于辩护人所提被告人主动交代自己的犯罪事实,认罪悔罪态度好的辩护意见,本院认为,被告人辩称其使用SQL注入漏洞以及编写爬虫脚本的方式均未入侵到计算机系统,获取的只是网站页面信息,不属于如实供述自己的罪行,故对该项辩护意见,本院不予采纳。
判决情况
被告人呙某兴犯非法获取计算机信息系统数据罪,判处有期徒刑五年,并处罚金人民币二万元。对被告人呙某兴违法所得人民币54万元依法予以追缴或责令退赔。
判决文书全文:
https://wenshu.court.gov.cn/website/wenshu/181107ANFZ0BXSK4/index.html?docId=JfzQF7Z4/9e1lWn1usoF7Iqj7B9Z57edExldSpEjnzIAIFtb8Dxqsp/dgBYosE2gc2cTGVpSTHaQan7hFsr1Z3QhUB9pTwx7alMunkuJwH71nc0rzmfld8ZkrIqaAiag
反思总结
法院以呙某兴未经网站授权,利用特定网站的漏洞,使用 SQL 注入漏洞以及编写爬虫脚本的方式侵入计算机信息系统,获取计算机系统内存储的大量数据,其中涉及到个人信息的数量达到约1500万余条,且并非网站页面信息为由认定了该行为的非法性,我们先来了解下 SQL 注入和网络爬虫的基本原理:
- SQL 注入:当我们访问动态网页时, Web 服务器会向数据访问层发起 SQL 查询请求,如果权限验证通过就会执行 SQL 语句。这种网站内部直接发送的 SQL 请求一般不会有危险,但实际情况是很多时候需要结合用户的输入数据动态构造 SQL 语句,如果用户输入的数据被构造成恶意 SQL 代码,Web 应用又未对动态构造的 SQL 语句使用的参数进行审查,导致其传入的“数据”拼接到 SQL 语句中后,被当作 SQL 语句的一部分执行,可能会导致数据库受损(被脱库、被删除、甚至整个服务器权限陷)。
- 网络爬虫:网络爬虫又称网络蜘蛛、网络机器人,它是一种按照一定的规则自动浏览、检索网页信息的程序或者脚本,网络爬虫能够自动请求网页,并将所需要的数据抓取下来,通过对抓取的数据进行处理,从而提取出有价值的信息,高水准者可 ”所见即所得“,意为只要是能看的内容就能爬取到,重点在于采集的都是正常用户能浏览到的内容。
所以侵入计算机信息系统并不是爬虫所能做到的事,数据库层面的渗透亦或是攻击应当是通过 SQL 注入实施的,而法院将编写爬虫脚本列为呙某兴侵入计算机信息系统的方式之一,是因为非法获取计算机信息系统数据罪与侵犯公民个人信息罪是法条竞合的关系,指一个犯罪行为同时触犯数个具有包容关系的具体犯罪条文,依法只适用其中一个法条定罪量刑的情况。不论是如呙某兴辩护中所述其利用爬虫技术采集的是某些网站上公开的个人信息,亦或是利于 SQL 注入技术渗透进数据库,再利用爬虫批量采集个人信息,这都是触犯了法律的 “红线” 的,理论上看,爬虫作为一项网络信息搜索技术,具有技术中立性,并未被我国现行法律所明令禁止,但是在司法实务中,“技术中立原则” 的适用是有边界的,如果使用技术的人用以危害社会,利用技术手段实施犯罪行为,则不因 “技术中立原则” 而免除刑事责任,如果涉及的是公民个人信息,基于特别法条优先于普通法条的原则,呙某兴的行为,适用于侵犯公民个人信息罪,对于公民个人信息数据一定要慎之又慎!
需要注意的是,一些网站会采取反爬措施,包括封 IP、封账号、JS 参数加密、代码混淆、浏览器指纹、TLS 指纹、验证等,以增加爬虫程序资源的成本,更有企业积极开发反爬虫技术以限制网络爬虫的访问权限,绕过网站反爬虫措施获取数据属于违背权利人意愿读取、收集数据,将有较大可能被认定为对计算机信息系统的 “侵入”,进而以非法获取计算机系统数据罪定罪处罚。对于 “侵入” 的理解:在以往判例中,司法机关主要基于以下两种路径判定对计算机信息系统的 “侵入”:一是无用户身份的侵入,即通过盗取、破解密码等方式进入系统;二是超权限访问的侵入,即具有合法用户身份,但超越自身授权范围访问信息资源。
信息公开不等同于数据公开,对于爬虫工程师来说,并不需要去厘清概念背后的区别与联系,只是在业务开展中需要树立风险防范意识,贸然爬取公开可见的信息仍会存有一定刑事风险,仔细甄别所要爬取的数据类型,谨慎处理包含公民个人信息、商业秘密等内容的信息,希望大家凡事三思而后行,老话长谈,谨记一点,公司是老板的,自由是自己的,法律是不容触犯的!