【K哥爬虫普法】字节前高管,离职后入侵今日头条数据库,是阴谋、还是利诱?
案情介绍
2016年至2017年间,张洪禹、宋某、侯明强作为被告单位上海晟品网络科技有限公司主管人员,在上海市共谋采用技术手段抓取北京字节跳动网络技术有限公司(办公地点位于本市海淀区北三环西路43号中航广场)服务器中存储的视频数据,并由侯明强指使被告人郭辉破解北京字节跳动网络技术有限公司的防抓取措施、实施视频数据抓取行为,造成被害单位北京字节跳动网络技术有限公司损失技术服务费人民币2万元。
上海晟品网络科技有限公司系有限责任公司,经营计算机网络科技领域内的技术开发、技术服务、电子商务、电子产品等业务。张洪禹系上海晟品网络科技有限公司法定代表人兼 CEO,负责公司整体运行;宋某于担任联席 CEO,系产品负责人;侯明强担任 CTO,系技术负责人;郭辉系爬虫工程师。张洪禹、宋某、侯明强经共谋,于2016年至2017年间采用技术手段抓取北京字节跳动网络技术有限公司服务器中存储的视频数据,并由侯明强指使郭辉破解北京字节跳动网络技术有限公司的防抓取措施,使用“tt_spider”文件实施视频数据抓取行为,造成北京字节跳动网络技术有限公司损失技术服务费人民币2万元。经鉴定,“tt_spider”文件中包含通过头条号视频列表、分类视频列表、相关视频及评论3个接口对今日头条服务器进行数据抓取,并将结果存入到数据库中的逻辑。在数据抓取的过程中使用伪造 device_id 绕过服务器的身份校验,使用伪造 UA 及 IP 绕过服务器的访问频率限制。
法院观点
上海晟品网络科技有限公司违反国家规定,采用技术手段获取计算机信息系统中存储的数据,情节严重,其行为已构成非法获取计算机信息系统数据罪,应予惩处。
判决情况
一、被告单位上海晟品网络科技有限公司犯非法获取计算机信息系统数据罪,判处罚金人民币二十万元;
二、被告人张洪禹,公司法人,判处有期徒刑一年,缓刑一年,罚金人民币五万元;
三、被告人宋某,公司联席 CEO,判处有期徒刑十个月,罚金人民币四万元;
四、被告人侯明强,公司 CTO,判处有期徒刑十个月,罚金人民币四万元;
五、被告人郭辉,公司爬虫工程师,判处有期徒刑九个月,罚金人民币三万元。
判决文书
案例分析
本案中上海晟品网络科技有限公司,采用技术手段获取今日头条服务器中存储的数据并存储到自己的数据库中,内容包括头条号视频列表、分类视频列表、相关视频及评论三个接口,符合我国《刑法》第二百八十五条关于非法获取计算机信息系统数据罪的认定:“违反国家规定,侵入国家事务、国防建设、尖端科学技术领域以外的计算机信息系统或者采用其他技术手段,获取该计算机信息系统中存储、处理或者传输的数据,情节严重”。
当然,有人会问了,视频及评论都是正常用户可以看到的公开数据,爬取为什么会触犯法律?这里需要注意的一点是”信息公开不等于数据公开“,就像政府信息公开主要在保障公众的知情权,知情并不等于获得,获得也不等于可利用,真正意义上的数据开放主要是指原始数据的开放。头条号之所以将视频信息内容允许用户观看,无非是网站或平台吸引用户的一种商业操作,并不意味着用户可以永久地享有该视频信息内容,具体到本案,今日头条采用的是流媒体技术播放,用户在观看视频时需要同时缓存该视频,但是观看完毕后,该视频的数据文件也随即消失。缓存与复制下载的区别在于,缓存意味着断电即无,而复制下载则意味着可以永久保存。因此,网站采用流媒体播放这一技术本身即意味着视频数据的非公开性,也同时意味着行为人爬取其视频文件的非法性。反之,如果网站允许用户复制、下载视频,或者说并未采取技术措施对视频数据予以保护,则意味着视频数据的公开,即使是行为人采用爬虫技术一次性大量抓取数据,也由于数据的公开性而丧失了刑法规制的必要性。
值得探讨的是,晟品网络公司在数据抓取的过程中,虽然使用伪造 device_id 绕过服务器的身份校验,使用伪造 UA 及 IP 绕过服务器的访问频率限制,但并不属于破解系统登陆密码或利用系统安全漏洞的爬虫行为,只是让反爬虫措施无法识别,本身并不具有刑法上的违法性,被告是否通过冒用用户 ID 并破解密码等方式进行未经授权的访问,无法得知,如果仅仅是设备 ID、UA、IP 的变换,本文认为并不具有特定的刑法意义,判决文书中也并未对此进行详细的描述。
反爬机制主要是针对网络爬虫的技术特征而对其实施的反制。网络爬虫的技术本质在于模拟人工手动点击从而可以一次性大量地获取数据信息,因此一般反爬机制的主要目的并非禁止对方对于网站或平台的访问,而是禁止或拒绝采用不合适的方式进行访问与浏览,例如并发过高引起的类 DDOS 行为。而身份认证机制的设置,其根本目的则在于划定网站或平台自身的隐私范围与控制领域,换言之,是为了确定计算机信息系统安全的领域与范围。据此反爬机制与身份认证机制在范围上可以产生交叉,但绝非一致,混为一谈的行为可能会降低刑事入罪的门槛从而增加了互联网用户的刑事风险,绕过反爬不一定属于刑事犯罪。
从最终的判决情况可以看出,和K哥之前写过的深圳快鸽案一样,CTO、CEO 负责并授权程序员开发涉案的爬虫程序,系主犯,程序员受指派开发爬虫软件,在共同犯罪中起次要作用,系从犯,但是!程序员同样承担了相应的法律责任!刑事犯罪留下的档案记录可能会影响三代人,也就意味着子女和孙儿都会受影响! 爬虫工程师们要多对需求进行理性分析,隐患大的需求该拒绝就拒绝,以目前已经判决了的各类爬虫案例来看,越过了法律的红线,无论最后是不是“集体买单”,爬虫工程师都不可能置身事外!愿各位爬虫工程师们:知敬畏、存戒惧、守底线,警钟长鸣!
本案很有意思的一点是,宋某和侯明强都为前字节视频项目组的高管,一个是项目经理、一个是技术负责人,从字节离职后反手爬头条视频及评论做利益转化,大家对此有什么看法呢~
【K哥爬虫普法】字节前高管,离职后入侵今日头条数据库,是阴谋、还是利诱?的更多相关文章
- python爬虫之分析Ajax请求抓取抓取今日头条街拍美图(七)
python爬虫之分析Ajax请求抓取抓取今日头条街拍美图 一.分析网站 1.进入浏览器,搜索今日头条,在搜索栏搜索街拍,然后选择图集这一栏. 2.按F12打开开发者工具,刷新网页,这时网页回弹到综合 ...
- PYTHON 爬虫笔记九:利用Ajax+正则表达式+BeautifulSoup爬取今日头条街拍图集(实战项目二)
利用Ajax+正则表达式+BeautifulSoup爬取今日头条街拍图集 目标站点分析 今日头条这类的网站制作,从数据形式,CSS样式都是通过数据接口的样式来决定的,所以它的抓取方法和其他网页的抓取方 ...
- 爬虫七之分析Ajax请求并爬取今日头条
爬取今日头条图片 这里只讨论出现的一些问题,代码在最下面github链接里. 首先,今日头条取消了"图集"这一选项,因此对于爬虫来说效率降低了很多: 在所有代码都完成后,也许是爬取 ...
- Uva 11029 Leading and Trailing (求n^k前3位和后3位)
题意:给你 n 和 k ,让你求 n^k 的前三位和后三位 思路:后三位很简单,直接快速幂就好,重点在于如何求前三位,注意前导0 资料:求n^k的前m位 博客连接地址 代码: #include < ...
- Python3网络爬虫开发实战PDF高清完整版免费下载|百度云盘
百度云盘:Python3网络爬虫开发实战高清完整版免费下载 提取码:d03u 内容简介 本书介绍了如何利用Python 3开发网络爬虫,书中首先介绍了环境配置和基础知识,然后讨论了urllib.req ...
- [leetcode]692. Top K Frequent Words频率最高的前K个单词
这个题的排序是用的PriorityQueue实现自动排列,优先队列用的是堆排序,堆排序请看:http://www.cnblogs.com/stAr-1/p/7569706.html 自定义了优先队列的 ...
- Android 高仿 频道管理----网易、今日头条、腾讯视频 (可以拖动的GridView)附源码DEMO
距离上次发布(android高仿系列)今日头条 --新闻阅读器 (二) 相关的内容已经半个月了,最近利用空闲时间,把今日头条客户端完善了下.完善的功能一个一个全部实现后,就放整个源码.开发的进度就是按 ...
- SQL Server 字段类型 decimal(18,6)小数点前是几位?记一次数据库SP的BUG处理
原文:SQL Server 字段类型 decimal(18,6)小数点前是几位?记一次数据库SP的BUG处理 SQL Server 字段类型 decimal(18,6)小数点前是几位? 不可否认,这是 ...
- Leading and Trailing LightOJ - 1282 (取数的前三位和后三位)
题意: 求n的k次方的前三位 和 后三位 ...刚开始用 Java的大数写的...果然超时... 好吧 这题用快速幂取模求后三位 然后用一个技巧求前三位 ...orz... 任何一个数n均可以表示 ...
- JavaScript如何根据当天算出前三天和后三天
经杨秀徐批准 中央军委颁发意见建设新型司令机关news 杨秀徐会见到北京述职的香港特首梁振英news 海军372潜艇官兵先进事迹报告会举行 杨秀徐作指示news 中央农村工作会议在京召开 李克强作重要 ...
随机推荐
- 协同编辑:Google Wave架构分析
Google Wave的设计初衷是让人们互相发送信息,一起编辑文档,但用户对此感到困惑,很快就以失败告终.Google Wave持续了大约一年时间,于2010年8月被关闭. Wave"领先于 ...
- Exception in thread "main" java.lang.UnsatisfiedLinkError: xxx()V
Exception in thread "main" java.lang.UnsatisfiedLinkError: com.vipsoft.demo.JNIDemo.testHe ...
- Linux CentOS 7 离线安装.NET环境
下载 下载.NET 例如: aspnetcore-runtime-6.0.15-linux-x64.tar.gz 复制 复制到如下目录: /usr/local/dotnet/aspnetcore-ru ...
- 给科研人的 ML 开源发布工具包
什么是开源发布工具包? 恭喜你的论文成功发表,这是一个巨大的成就!你的研究成果将为学界做出贡献. 其实除了发表论文之外,你还可以通过发布研究的其他部分,如代码.数据集.模型等,来增加研究的可见度和采用 ...
- Qt 如何配置CLion标准控制台输出?
CMake 相关问题: 即CMakeLists.txt文件中,在add_executable添加了WIN32.即当使用了WIN32标识后,就去掉了控制台,那么自然就没有信息打印出来了. # for e ...
- Problem 1342B - Binary Period (思维)
AC代码: #include<bits/stdc++.h> using namespace std; int main() { //freopen("in.txt", ...
- windows 系统关闭占用端口的应用
开发中有时候开发工具把程序关闭了,但是后台并没有真正关闭程序,导致再次启动相同端口的程序时报端口已经被使用的错误,这时如何强制关闭已占用的端口 1.打开dos对话框 2.查找被占用的端口的进程号 ne ...
- vue 状态管理 三、Mutations和Getters用法
系列导航 vue 状态管理 一.状态管理概念和基本结构 vue 状态管理 二.状态管理的基本使用 vue 状态管理 三.Mutations和Getters用法 vue 状态管理 四.Action用法 ...
- 【驱动】以太网扫盲(四)phy驱动link up流程分析
1. 简介 在调试网口驱动的过程中发现phy芯片的驱动框架结构还有点复杂,不仔细研究的话还不好搞懂,另外百度到的资料也不够全面,这篇就总结梳理一下这方面的知识. 我们知道一个 phy 驱动的原理是非常 ...
- mouseenter和mouseover区别
mouseenter事件 当鼠标移动到元素上时,就会触发mouseenter事件. 类似mouseover,它们两者之间的差别是:mouseover鼠标经过自身盒子会触发,经过子盒子还会触发.mous ...