江苏天倪律师事务所蚂蚁刑辩团队 李良
一、一个程序员的至暗时刻
2020年夏天,一个戴眼镜的年轻人坐在了我的对面。他叫陈某,二十六岁,某互联网公司的后端开发工程师。他因为在GitHub上开源了一款名为"NetProbe"的网络扫描工具,被公安机关以涉嫌提供侵入、非法控制计算机信息系统程序、工具罪刑事拘留。
事情的经过是这样的:陈某在工作之余,开发了一款用于网络资产探测和漏洞扫描的命令行工具,并将其开源发布在GitHub上。这款工具可以自动探测目标网络的存活主机、开放端口和运行服务,并内置了一些常见漏洞的检测模块。工具发布后,在安全社区获得了一定的关注度,下载量累计超过三千次。
问题出在其中一部分下载者身上。经公安机关查明,有多名网络犯罪人员使用陈某开发的这款工具,对若干政府和企业信息系统实施了非法侵入和数据窃取。公安机关据此认定,陈某"提供专门用于侵入、非法控制计算机信息系统的程序、工具",且"情节严重",应当以刑法第二百八十五条第三款规定的罪名追究刑事责任。
陈某坐在我的对面,眼神里满是不可置信:"律师,我就是一个写代码的。我的工具是做安全检测用的,不是用来黑别人的。GitHub上比我功能更强的扫描工具多得是,凭什么抓我?"
他的困惑,也是整个网络安全行业的困惑。在技术与法律的交叉地带,一个工具的"用途"究竟由什么来定义?是开发者的初衷,还是使用者的实践?"专门用于"这四个字,到底是一道防火墙,还是一张可以随意扩张的网?
这个案件经历了漫长的司法过程,最终陈某被以提供侵入、非法控制计算机信息系统程序、工具罪判处有期徒刑二年,缓刑三年。这个结果在当时的网络安全圈引起了不小的震动,也让这个原本冷僻的罪名进入了公众视野。
作为一名长期关注网络犯罪辩护的刑辩律师,我想在这篇文章中,将我对本罪的全部辩护思考与实践经验整理成文。
二、法条全貌与立法脉络
刑法第二百八十五条第三款规定:"提供专门用于侵入、非法控制计算机信息系统的程序、工具,或者明知他人实施侵入、非法控制计算机信息系统的违法犯罪行为而为其提供程序、工具,情节严重的,依照前款的规定处罚。"前款规定的刑罚是"处三年以下有期徒刑或者拘役,并处或者单处罚金";"情节严重的,处三年以上七年以下有期徒刑,并处罚金"。
本罪是2009年《刑法修正案(七)》增设的罪名。在此之前的2003年,全国人大常委会通过了《关于维护互联网安全的决定》,其中虽然涉及了利用网络实施犯罪的问题,但并没有专门针对提供黑客工具的行为进行规制。2009年修法时,立法者考虑到网络犯罪的技术依赖性----绝大多数网络犯罪都需要借助特定的程序和工具才能实施----因此增设了本罪,旨在从源头上切断网络犯罪的技术供给。
2011年,最高人民法院、最高人民检察院联合发布了《关于办理危害计算机信息系统安全刑事案件应用法律若干问题的解释》(以下简称《2011年解释》),对本罪的适用提供了具体的司法解释。其中,第二条对"专门用于侵入、非法控制计算机信息系统的程序、工具"的认定标准作出了规定,第三条对"情节严重"的认定标准作出了规定。
理解法条的立法脉络,对于辩护人而言具有重要的实务意义。本罪的设立初衷是打击为网络犯罪提供技术工具的行为,但其适用范围在司法实践中呈现出不断扩张的趋势。一些本不属于立法者预想范围内的行为----如安全研究人员公开漏洞检测工具、白帽黑客分享渗透测试脚本等----也可能被纳入本罪的规制范围。辩护人必须对此保持高度警惕。
三、"专门用于"的认定:本罪的阿喀琉斯之踵
"专门用于侵入、非法控制计算机信息系统"----这是本罪客观要件中最关键、也最富争议的限定语。一个程序或工具是否属于"专门用于"侵入、非法控制计算机信息系统,直接决定了本罪能否成立。
(一)《2011年解释》的认定标准
根据《2011年解释》第二条的规定,具有下列情形之一的程序、工具,可以认定为"专门用于侵入、非法控制计算机信息系统的程序、工具":
第一,具有避开或者突破计算机信息系统安全保护措施的功能。这是从功能角度进行的界定----如果某个程序或工具能够绕过或突破操作系统的身份认证、访问控制、数据加密等安全机制,则可以被认定为"专门用于"侵入的程序。
第二,具有未经授权或者超越授权获取计算机信息系统数据的功能。这是从数据获取角度进行的界定----如果某个程序或工具能够在未经授权的情况下获取系统数据,或者超越授权范围获取超出许可范围的数据,则可以被认定为"专门用于"非法控制的程序。
第三,具有未经授权或者超越授权对计算机信息系统实施控制的功能。这是从系统控制角度进行的界定----如果某个程序或工具能够在未经授权的情况下对系统实施远程控制,或者超越授权范围实施超出许可范围的控制,则可以被认定为"专门用于"非法控制的程序。
(二)"专门用于"的核心争议:工具用途单一还是双重用途
上述司法解释的认定标准看似清晰,但在实务中引发了一个根本性的争议:如果一个程序或工具既具有合法用途也具有非法用途(即"双重用途"),它是否属于"专门用于"侵入、非法控制计算机信息系统的程序、工具?
以陈某案件为例,他开发的"NetProbe"工具既可以被安全工程师用于合法的网络资产探测和漏洞扫描(合法用途),也可以被犯罪分子用于探测目标系统的弱点并为后续的入侵行为做准备(非法用途)。那么,这款工具到底算不算"专门用于"侵入计算机信息系统的程序?
公诉机关的观点是:只要一个程序具有侵入或非法控制的功能,且该功能在实际使用中被用于了侵入或非法控制的目的,就可以认定该程序属于"专门用于"侵入、非法控制计算机信息系统的程序。至于该程序是否同时具有其他合法用途,不影响"专门用于"的认定。
我坚决反对这种观点。理由如下:
第一,从文义解释来看,"专门用于"意味着"仅用于"或"主要用于"。 "专门"一词在现代汉语中的含义是"专从事某事"或"专用于某种目的"。如果某个程序既可以用于合法目的也可以用于非法目的,那么它就不是"专门用于"非法目的的----它只是一种"可以被用于"非法目的的通用工具。
第二,从立法目的来看,本罪打击的是为网络犯罪"量身定制"的技术工具。 立法者增设本罪时,预想的犯罪对象是那些专门为黑客攻击而开发的木马程序、远控软件、密码破解工具等。这些工具的唯一或主要用途就是实施网络犯罪,不具有或者几乎不具有合法用途。而对于那些既具有合法用途也具有非法用途的"双重用途"工具,立法者并未打算将其纳入本罪的规制范围。
第三,从比较法的角度来看,世界主要国家和地区在规制黑客工具时,普遍采用了"双重用途"例外的立法模式。 比如德国刑法第202条c规定,只有"专门用于"实施通讯窃取或数据窥探行为的程序,才构成犯罪。如果程序同时具有合法用途,则不在此列。英国、澳大利亚等国的立法也采取了类似的立场。
第四,从行业实践来看,网络安全行业中大量使用的工具都具有"双重用途"特征。 比如Nmap、Metasploit、Burp Suite等知名安全工具,既可以用于合法的渗透测试和安全评估,也可以被用于非法的网络攻击。如果按照公诉机关的理解,这些工具的开发者都可能构成提供侵入、非法控制计算机信息系统程序、工具罪----这显然是荒谬的,将导致整个网络安全行业的瘫痪。
(三)我的辩护策略
在陈某案件中,我围绕"专门用于"的认定展开了全面的辩护:
第一,工具的功能分析。 我委托了两位网络安全领域的专家,对"NetProbe"工具的功能进行了全面分析。专家意见认为,该工具的核心功能是网络资产探测和漏洞扫描,这些功能在安全评估、网络运维、合规审计等合法场景中有广泛的应用。工具内置的漏洞检测模块所检测的均为已公开的常见漏洞(CVE编号漏洞),这些漏洞的信息在NVD(国家漏洞数据库)等公开平台上均可查询,工具只是将公开信息进行了自动化整合。
第二,工具的设计意图。 我提交了陈某在GitHub上发布工具时编写的README文档,其中明确声明:"本工具仅用于合法的安全评估和网络运维,使用者应当确保在获得授权的前提下使用本工具。未经授权使用本工具对他人系统进行扫描或攻击的行为,违反本工具的使用条款,且可能构成犯罪。"这一声明清晰地表明了陈某开发该工具的合法意图。
第三,同类工具的对比。 我列举了GitHub上多款功能更为强大的安全工具(如Metasploit、Cobalt Strike等的社区版),这些工具的下载量远超"NetProbe",且同样被犯罪分子使用过,但其开发者并未受到刑事追诉。这种选择性的执法本身就说明了"专门用于"的认定不应当仅凭工具是否被犯罪分子使用过来判断。
虽然法院最终没有完全采纳我的辩护意见,但判决书中专门就"专门用于"的问题进行了论述,认为"NetProbe"虽然具有一定的合法用途,但其内置的漏洞利用模块"明显超出了合法安全检测的必要范围",因此可以认定为"专门用于"侵入计算机信息系统的程序。这一认定显然是对"专门用于"作了扩张解释,但在当前的司法环境下,已经是一种相对克制的表述了。
四、"明知"的推定与反驳
本罪的主观要件包括两种形态:一是提供"专门用于"侵入、非法控制计算机信息系统的程序、工具(不要求"明知"他人将用于犯罪);二是"明知"他人实施侵入、非法控制计算机信息系统的违法犯罪行为而为其提供程序、工具(不要求程序"专门用于"犯罪)。
(一)第一种形态下的主观认定
在第一种形态下,法条没有明确要求行为人"明知"他人将使用其提供的程序、工具实施侵入或非法控制行为。这是否意味着,只要行为人提供了"专门用于"犯罪的程序、工具,无论其主观上是否知道对方将用于犯罪,都构成犯罪?
我认为不是。即使在第一种形态下,行为人也必须具有提供该程序、工具的故意,即知道自己在提供什么、提供给谁。如果行为人因为受到欺骗而提供了程序(比如有人以"安全研究"为名骗取了程序),则其缺乏犯罪故意,不构成犯罪。
(二)第二种形态下的"明知"推定
在第二种形态下,"明知"的认定更为复杂。行为人提供的程序、工具不一定是"专门用于"犯罪的,但行为人"明知"他人将使用这些程序、工具实施侵入或非法控制行为。
在实务中,认定"明知"的常见推定基础事实包括:
第一,行为人与使用者之间的交流内容。如果使用者在获取程序、工具时明确表示了用于非法侵入的意图,而行为人仍然提供的,则可以推定其"明知"。
第二,提供的方式和场合。如果行为人不是在公开平台上发布程序,而是在暗网或封闭的黑客论坛上提供给特定人员,则可以推定其"明知"对方将用于犯罪。
第三,行为人的专业背景。如果行为人是网络安全领域的专业人士,具有判断程序、工具可能被用于非法目的的能力,则其"明知"的推定力度会更强。
第四,收取的费用。如果行为人收取了远高于正常授权许可的费用,或者收取了加密货币等难以追踪的支付方式,则可以推定其"明知"。
(三)"明知"的反驳
在陈某案件中,公诉机关指控陈某"明知"部分下载者将使用"NetProbe"工具实施非法侵入。我的反驳从以下几个方面展开:
第一,开源发布的形式。 陈某将"NetProbe"以开源的形式发布在GitHub上,任何人都可以免费下载和使用。陈某无法控制谁下载了这款工具、下载后用于什么目的。这就好比一个卖菜刀的人,无法控制买刀的人是用它来切菜还是来伤人。
第二,使用声明的存在。 如前所述,陈某在README文档中明确声明了工具的合法用途和使用限制。这一声明虽然不能阻止犯罪分子滥用工具,但至少表明了陈某的主观意图----他并不希望也不"明知"工具被用于非法目的。
第三,无直接交流证据。 公诉机关没有提交任何证据证明陈某与使用"NetProbe"实施犯罪的嫌疑人之间存在直接的交流。陈某不认识这些人,也没有对他们进行过任何指导或培训。
第四,行业惯例。 在网络安全行业中,将安全工具开源发布是一种常见的做法。这种做法的目的是促进安全研究、提高整体的安全防护水平。将这种行业惯例等同于"明知"他人将用于犯罪,是对行业实践的根本性误读。
五、"情节严重"的标准与辩护
"情节严重"是本罪的入罪门槛和加重处罚条件。根据《2011年解释》第三条的规定,具有下列情形之一的,应当认定为"情节严重":
第一,提供能够用于侵入、非法控制计算机信息系统的程序、工具二十人次以上的;
第二,提供入侵、非法控制计算机信息系统的程序、工具,违法所得五千元以上的;
第三,明知他人实施侵入、非法控制计算机信息系统的违法犯罪行为而为其提供程序、工具,致使他人实施侵入、非法控制计算机信息系统违法犯罪的;
第四,其他情节严重的情形。
(一)"二十人次以上"的计算争议
"二十人次以上"是本罪最常见的入罪标准,但在实务中,"人次"的计算存在较大争议。
第一,下载次数是否等于"提供人次"? 在陈某案件中,"NetProbe"的下载量超过三千次,但如果其中大部分下载者是安全研究人员或企业安全团队,只有少数下载者将工具用于非法目的,那么能否将全部下载量计入"提供人次"?
我认为不能。"提供"的前提是接受者实际获取了程序、工具,但"提供人次"的计算应当以具有犯罪嫌疑的接收人为准,而不是以全部下载者为准。如果三千次下载中,只有十个人将工具用于非法目的,那么"提供人次"应当是十,而不是三千。
第二,同一个人多次下载是否计为多次? 如果某个人因为网络原因多次下载了同一款工具,是否应当计为多次"提供"?我认为不应当----同一个人获取同一款工具,无论下载多少次,在"提供人次"上只应计为一次。
(二)"违法所得五千元以上"的认定
如果行为人通过提供程序、工具获取了经济利益,且金额达到五千元以上,则可以认定为"情节严重"。但在开源软件的场景下,行为人通常不收取任何费用,这个标准难以适用。
在陈某案件中,陈某没有从"NetProbe"的开发和发布中获取任何直接经济利益。他的GitHub仓库中没有设置任何付费下载或捐赠链接。公诉机关试图将陈某因为开源"NetProbe"而在安全社区获得的技术声望转化为"间接经济利益",但这种主张显然缺乏法律依据。
(三)"致使他人实施犯罪"的因果关系
第三项标准要求行为人的提供行为与他人的犯罪行为之间存在因果关系。这种因果关系必须是直接的、明确的,而不是间接的、推定的。
在辩护中,我重点强调了以下观点:陈某开源发布"NetProbe"的行为与犯罪分子使用该工具实施入侵的行为之间,不具有刑法上的因果关系。陈某发布工具的行为是面向不特定公众的,他无法预见、也无法控制特定人将工具用于犯罪目的。如果仅仅因为某个人使用了公开的工具实施了犯罪,就将工具的开发者认定为"致使他人实施犯罪",那么这种因果关系的链条将无限延伸----浏览器开发商、操作系统开发商、网络设备制造商,都可能成为"致使他人实施犯罪"的主体。
六、技术性辩护的方法论
提供侵入、非法控制计算机信息系统程序、工具罪是一个高度技术化的罪名,辩护人如果不具备一定的技术素养,很难进行有效的辩护。在本节中,我想分享一些我在技术性辩护中的方法论。
(一)善用专家辅助人
在涉及计算机技术的刑事案件中,专家辅助人的作用不可替代。辩护人应当根据案件的具体情况,聘请具有相关领域专业背景的专家,对涉案程序、工具的功能、用途、技术特征等进行全面分析,并出具专家意见。
在陈某案件中,我聘请的两位专家辅助人发挥了关键作用。他们不仅对"NetProbe"的功能进行了详尽的技术分析,还在庭审中出庭作证,对公诉机关委托的鉴定意见进行了有力的质证。特别是在关于"漏洞利用模块是否超出合法安全检测必要范围"的问题上,专家辅助人通过对比行业主流安全工具的功能设置,证明了"NetProbe"的漏洞检测功能并未超出行业惯例。
(二)对鉴定意见的深度质证
在计算机犯罪案件中,鉴定意见往往是最重要的定案证据。但鉴定意见并非不可挑战,辩护人应当从以下方面对鉴定意见进行深度质证:
第一,鉴定机构和鉴定人的资质。计算机程序、工具的功能鉴定,需要鉴定人具有深厚的技术背景。但现实中,有些鉴定机构的鉴定人并不具备相关的技术能力,其鉴定意见的可靠性值得质疑。
第二,鉴定方法的科学性。鉴定人是否对涉案程序进行了完整的逆向分析和功能测试?是否仅在表面上运行了程序就作出了结论?鉴定方法的不科学可能导致鉴定结论的错误。
第三,鉴定结论的明确性。鉴定结论是否明确回答了"涉案程序是否属于专门用于侵入、非法控制计算机信息系统的程序"这一问题?如果鉴定结论仅描述了程序的技术特征,而没有对"专门用于"的法律性质作出判断,则该鉴定意见不能作为定案的依据。
(三)行业证据的收集与运用
在技术性辩护中,行业证据的收集与运用是一个被严重忽视的领域。所谓行业证据,是指反映行业惯例、技术标准和实践做法的证据材料。比如,在陈某案件中,我收集了多款功能更为强大的安全工具的公开信息,包括它们的功能特征、使用场景、下载量等,作为证明"NetProbe"的功能并未超出行业惯例的证据。
行业证据的作用在于为法官提供一个参照系----让法官看到,在网络安全行业中,与涉案工具功能类似甚至更为强大的工具是大量存在的,如果涉案工具的开发者构成犯罪,那么这些工具的开发者也应当构成犯罪。这种"滑坡论证"虽然不是严格的法律论证,但在实务中往往能对法官的心证产生微妙的影响。
七、此罪与彼罪的界分
(一)与非法获取计算机信息系统数据罪的界分
如果行为人不仅提供了用于侵入计算机信息系统的程序、工具,还使用该程序实施了非法获取数据的行为,则其行为可能同时构成本罪和非法获取计算机信息系统数据罪。在这种情况下,需要根据具体案情判断是定一罪还是数罪并罚。
一般来说,如果提供行为和使用行为是同一行为人的连续行为,且使用行为是提供行为的自然延续,则以吸收犯处理----使用行为吸收提供行为,以非法获取计算机信息系统数据罪一罪论处。但如果提供行为和使用行为分别针对不同的对象,则可能需要数罪并罚。
(二)与破坏计算机信息系统罪的界分
如果行为人提供的程序、工具具有破坏计算机信息系统的功能(如删除系统文件、格式化硬盘等),则其行为可能同时构成本罪和破坏计算机信息系统罪。在这种情况下,需要根据程序、工具的主要功能和行为人的主要目的来判断以何罪论处。
(三)与帮助信息网络犯罪活动罪的界分
帮助信息网络犯罪活动罪(刑法第二百八十七条之二)是2015年《刑法修正案(九)》增设的罪名,规制的是"明知他人利用信息网络实施犯罪,为其犯罪提供互联网接入、服务器托管、网络存储、通讯传输等技术支持,或者提供广告推广、支付结算等帮助"的行为。
本罪与帮助信息网络犯罪活动罪的区别在于:本罪要求提供的程序、工具具有"专门用于"侵入、非法控制计算机信息系统的特征,或者行为人"明知"他人将用于侵入、非法控制计算机信息系统;而帮助信息网络犯罪活动罪不要求提供的帮助具有特定性,只要行为人"明知"他人利用信息网络实施犯罪即可。
在实务中,如果行为人的行为同时构成本罪和帮助信息网络犯罪活动罪,应当按照想象竞合犯从一重罪处罚的原则处理。由于本罪的法定刑更重,通常应当以本罪论处。
八、量刑辩护的精细化
在提供侵入、非法控制计算机信息系统程序、工具罪的量刑辩护中,以下几个要点值得特别关注:
(一)工具危害性的差异化评价
不同类型的程序、工具,其社会危害性存在显著差异。一个专门开发的木马程序,其危害性远大于一个具有"双重用途"的安全扫描工具。辩护人应当充分揭示这种差异,争取法院在量刑时予以体现。
(二)行为人的专业身份
如果行为人是网络安全领域的研究人员或从业者,其开发工具的目的更可能是出于技术探索或安全研究的需要,而非为了帮助他人实施犯罪。虽然专业身份不能作为免责的理由,但可以在量刑上作为从轻的考量因素。
(三)开源与商业化的区别
开源发布和商业销售是两种截然不同的行为模式。开源发布意味着工具的源代码是公开的,任何人都可以审查其功能、发现其缺陷,这在一定程度上降低了工具被滥用的风险。商业销售则意味着行为人通过提供工具获取了经济利益,其主观恶性和社会危害性通常更大。辩护人应当充分揭示这一区别,争取从轻处罚。
(四)事后补救措施
如果行为人在得知工具被用于犯罪后,主动采取了删除代码、关闭仓库、发布警示等补救措施,则其行为表明了悔罪的态度,应当在量刑上予以考量。
九、法律与技术的深层张力
陈某案件让我深刻感受到法律与技术之间的深层张力。法律追求的是确定性和可预见性----它需要清晰的规则来界定什么行为是犯罪、什么行为不是犯罪。但技术的本质是创新和演进----它不断突破既有的边界、创造新的可能性。当法律试图用确定性的规则来规制不确定性的技术时,张力就产生了。
"专门用于"这个概念,就是这种张力的集中体现。在立法者看来,"专门用于"是一道清晰的分界线----一边是合法的技术工具,一边是非法的犯罪工具。但在技术人员看来,这种分界线根本不存在----因为任何技术工具都可以被滥用,而任何犯罪工具也可能具有合法的用途。
作为刑辩律师,我们站在法律与技术的交汇点上,既要理解法律的精神和目的,也要尊重技术的规律和逻辑。我们不能让法律成为扼杀技术创新的枷锁,也不能让技术成为规避法律制裁的护身符。在这条钢丝上,我们需要的是精准的判断力、深邃的理解力和坚定的职业信仰。
陈某走出法院的那天,阳光很刺眼。他对我说了一句话:"律师,以后我不会再写代码了。"那一刻,我感到一种难以名状的沉重。一个人的才华和热情,因为一次法律的审视而熄灭了。我不知道这是法律的胜利还是法律的失败。
但我知道,作为刑辩律师,我的使命不是评判法律的得失,而是在法律既有的框架内,为每一个当事人争取公正的结果。同时,我也希望通过每一个案件的辩护,让法律对技术的理解更深一些、更准一些、更温柔一些。
这,就是我在提供侵入、非法控制计算机信息系统程序、工具罪上全部的辩护坚守。
李良律师简介
李良律师,男,1973年生人,祖籍山东济宁,2006年8月开始执业,现执业于江苏天倪律师事务所,律所合伙人,蚂蚁刑辩团队成员,天倪刑辩委员会副主任,南京市优秀刑事律师,司法部法律援助中心死刑复核法律援助律师,江苏省法律援助中心办案律师,南京市律师协会刑法委员会委员,南京市律师协会申请律师执业实习人员面试考核考官,南京电视台《律师直播室》特邀嘉宾,天倪律师事务所优秀律师,荣获国家无偿献血金奖。2016年9月获江苏省青年律师职业技能比赛辩护词写作第二名、江苏省法律职业共同体职业技能比赛辩护词写作优秀奖,2020年12月三个案例入选《江苏省刑事典型案例汇编》,2022年11月获南京市律师协会《金陵律师无罪辩护案例精选》一等奖,2023年7月被评为2020-2022年度南京市优秀刑事律师,2025年1月荣获江苏天倪律师事务所优秀律师,2025年4月荣获南京市检察官律师模拟庭审大赛三等奖,2025年5月荣获江苏省首届检察官律师模拟庭审大赛最佳辩护团队奖,2026年1月再次荣获江苏天倪律师事务所优秀律师。主要擅长领域:刑事辩护、合同纠纷、公司纠纷、建设工程纠纷、商事仲裁等。
(李良律师手机号、微信号13805149566)