ARTICLE · 1002051
AI 写的软件被买家拿去违法,开发者要不要承担刑事责任
QUOTE
代码由谁敲出来很醒目,刑事责任仍然要回到人的决定、软件功能和交易过程。
马律
一个开发者用生成式 AI 辅助写了软件,卖了三万元。买家后来拿软件做了违法的事,公安机关顺着付款记录和代码找到了开发者。家属问,代码是 AI 生成的,事情是买家干的,责任为什么会追到卖软件的人头上。
这个问题把几件新东西放到了一起。AI 编程、通用软件、下游滥用、平台交易和计算机犯罪。它们看起来新,刑法追问的方法并没有突然改变。软件本身有什么功能,开发者提供了什么,交易时知道什么,后来是否继续帮助,数量和金额是否达到标准,证据能不能把这些事实连起来。
材料中把“三万元”“新业态”“主动退缴”直接接到相对不起诉,风险很大。按照 2011 年相关司法解释,提供侵入、非法控制计算机信息系统程序、工具,违法所得五千元以上,可以落入“情节严重”的数量数额标准。达到该项标准五倍以上,可能进入“情节特别严重”的评价。五千元的五倍是二万五千元。
三万元究竟是什么口径,立刻变得要紧。它是账户总入账、销售额、个人实际取得,还是司法解释意义上的违法所得。软件是否属于条文所说的专门性工具,开发者是否明知下游违法,也要先证明。前提没有立住,金额不能独自定罪。前提一旦立住,三万元也绝非可以随口称作“小生意”的数字。
AI 不会把责任带走,也不会凭空制造责任。它让证据多了一层。
本文看点
01
先看法律追的是哪一种提供行为
02
AI 生成不改变谁在作决定
03
软件中性要靠功能证明
01
LEGAL FRAME
先看法律追的是哪一种提供行为
刑法第二百八十五条第三款规定,提供专门用于侵入、非法控制计算机信息系统的程序、工具,或者明知他人实施侵入、非法控制计算机信息系统的违法犯罪行为而为其提供程序、工具,情节严重的,依照前款处罚。情节特别严重的,适用更高法定刑档。
这段规定包含两条路径。
第一条看工具属性。程序本身是否专门用于侵入、非法控制。司法解释列举了具有避开或突破系统安全保护措施,未经授权或超越授权获取系统数据、实施控制的功能,以及其他专门设计用于相关行为的程序、工具。
第二条看提供者的明知。软件也许具有通用功能,提供者若明知特定买家正在实施侵入、非法控制,仍按其需要提供程序、更新或支持,也可能进入条文评价。
两条路径不能混写。
控方若主张软件本身具有专门性,应说明哪段功能避开什么保护措施,针对哪套系统,怎样未经授权获取或控制。控方若主张开发者明知下游违法,应拿出交易前后的聊天、定制要求、演示、售后和资金证据。不能因为工具被坏人使用,就倒推工具天生有罪。也不能因为工具表面通用,就忽略开发者为某次违法用途做的专门适配。
“提供”也不只等于发送安装包。交付源代码、开放接口、提供账号、部署服务器、维护验证系统、远程安装、持续更新和故障排查,都可能成为提供行为的一部分。一次性卖出与长期共同维护,责任轮廓会不同。
先确定案件走哪条路,辩护才知道该查代码,还是重点查明知。很多案件两条都会查,那就分别处理。
02
ANALYSIS
AI 生成不改变谁在作决定
开发者向模型输入需求,选择输出,复制代码,修改、编译、测试、部署并销售。模型参与了生成,人仍在决定软件要做什么、是否使用这段代码以及怎样交付。
“AI 写的”最多说明代码产生方式。它不直接回答开发者是否理解功能。有些人确实没有能力读懂全部输出,拿到代码便运行。能力不足可能影响主观认知的证明,不能成为通用免责理由。一个人选择把程序交付给客户并收款,通常应对自己实际提供的功能有基本了解。
反过来,办案机关也不能看到提示词里出现“绕过”“破解”“hook”就完成明知推定。词语要放回技术任务。有时“绕过缓存”是正常开发,“hook”用于调试,“破解”可能是用户对兼容问题的随口描述。完整对话、项目上下文和最终代码比单个关键词更可靠。
生成式 AI 还会给出与需求无关的代码、错误实现和未被调用的函数。项目中存在一段攻击样例,不等于交付版本实际具备对应功能。要看代码是否编译进入产物、运行路径能否触发、销售版本是否包含。
AI 对话记录因此具有两面性。正常功能需求、反复修复普通业务错误、对安全边界的主动限制,可能支持开发者的解释。明确要求生成针对某平台的漏洞利用、规避检测、批量控制和隐藏痕迹,也可能成为不利证据。
责任仍由证据指向人的认识和行为。把 AI 放在标题里很新,法庭最终还是要看这个人做了哪些选择。
03
ANALYSIS
软件中性要靠功能证明
“通用工具”“技术中立”是辩护中常见的表达。它们不能只写在软件介绍页。
通用性可以从设计对象、功能范围、用户群、文档和实际销售情况观察。一个网络调试器能够抓取本人设备流量,用于开发测试,也可能被滥用。一个远程管理工具服务企业运维,也可能被人拿去控制陌生电脑。一个自动化框架可以测试网页,也能被改成批量攻击脚本。
真正需要说明的是,涉案软件在交付状态下做什么。
它是否写死某个平台域名、接口和证书。是否包含针对特定版本的漏洞利用。是否能够自动寻找目标、绕过认证、维持控制或导出数据。是否隐藏进程、清理日志或规避安全检测。正常用户能否在合法场景使用主要功能。违法功能是核心卖点,还是买家后来添加的模块。
代码审查应当把功能分开。用户界面、网络通信、身份认证、数据处理、自动更新和授权验证分别说明。使用第三方开源库的,确认库在本项目中的调用方式。加密或混淆不能自动证明恶意,它会增加分析难度,也可能与商业保护有关。
宣传材料是另一条线。商品页写“批量接管”“免授权进入”“稳定绕过某平台”,会削弱中性工具解释。页面只写正常功能,也不能推翻代码中的专门攻击模块。宣传和代码一致时最容易判断,不一致时要查实际演示和售后。
用户构成也有意义。软件大量卖给开发测试团队,有真实合规用例,与只在黑产群定向销售的情形不同。用户身份本身不决定性质,它能帮助理解产品定位和开发者知道的交易背景。
技术中立需要一组事实支撑。只有四个字,承受不了刑事案件的重量。
04
ANALYSIS
下游违法会怎样追到上游
买家实施违法行为,开发者是否承担责任,要看两人的行为怎样连接。
最远的一种关系,是普通软件公开销售,买家自行改造,开发者事前不知情,事后也没有帮助。下游结果很难仅凭购买关系自动归给开发者。
近一些,买家购买后说明用途,开发者得知风险,拒绝继续服务并保留记录。此前提供行为怎样评价,要看工具属性和当时认知。及时停止至少会改变后续事实。
再近一些,买家提出目标系统、接口和防护,开发者按要求定制模块,协助部署,观察运行结果,遇到封禁后继续更新。即便开发者从未亲自登录目标系统,他与下游行为的连接已经很强。
还有团队式合作。开发者维护核心程序,买家负责获客与实施,双方分成、共享后台和实时数据。这时案件可能继续讨论共同犯罪、作用和责任范围。
司法解释也规定,明知他人实施刑法第二百八十五条、第二百八十六条规定的行为,达到相应提供程序工具、技术支持等条件的,可能按共同犯罪处理。具体适用需要看帮助内容、金额或人次以及共同故意。
因此,“买家干的”是一条重要事实,后面还要补一句。开发者与买家的行为相隔多远。
付款时间、需求沟通、交付版本、远程登录、售后工单和分成方式会把距离画出来。刑事责任很少从一张商品订单里自动长成,它通常沿着这些记录一步步靠近。
05
ANALYSIS
明知怎样被证明
人的想法看不见,刑事案件会通过外在行为推断。
买家怎样描述需求。开发者是否知道目标系统没有授权。程序为何写死域名、账号规则或加密参数。销售文案面向什么群体。价格为何按取得数据量或控制设备数结算。平台封禁后,双方讨论了什么。违法结果出现以后,开发者是否继续更新。
这些材料可以互相印证。
聊天中没有一句“我要犯罪”,不代表不能证明明知。日常交流很少使用法条语言。买家说“把别人后台拿下来”“批量进账号”“别让平台发现”,开发者理解后照做,含义已经相当清楚。
同样,聊天里出现敏感词也不能脱离上下文。一名安全测试人员受企业委托做渗透测试,当然会讨论漏洞、绕过与权限。授权文件、工作群、测试范围和报告交付会改变这些词的意义。
完整性尤其重要。只提交买卖双方几张截图,无法确认前后语境、身份和时间。原始手机、账号记录、平台导出和提取笔录更可靠。语音、撤回消息和文件传输也应结合查看。
AI 对话只是明知证据的一部分。开发者可能先用模型生成通用框架,后来根据买家要求手工加入模块。也可能买家拿到源代码后自行改造。版本库提交、文件哈希、编译产物和交付记录能够区分。
主观明知必须落到行为发生时。买家事后告诉开发者已用于违法,不能自动倒推交易时早已知情。开发者事后继续维护,则会产生新的事实。
时间顺序常常比一句表态更有力。
06
ANALYSIS
三万元先别急着定性
三万元至少可能有五种含义。
商品页面显示累计销售三万元。支付账户在某段时间收到三万元。订单原价合计三万元。扣除退款后实际收款三万元。司法机关认定违法所得三万元。
它们不是同一个数。
2011 年司法解释把提供相关程序工具的违法所得五千元以上或造成经济损失一万元以上列为“情节严重”情形之一。数量或数额达到相应标准五倍以上,可能认定“情节特别严重”。因此,金额口径与五倍线的关系必须算清。
先核涉案范围。软件有哪些功能,哪些销售与被指控版本有关。若开发者同时出售正常插件和争议工具,全部账户收入不能不加区分。
再核交易真实性。刷单、退款、测试支付、代理充值、重复统计和其他业务收入应逐笔对应。电商后台、支付平台、聊天、卡密与下载记录之间要能连上。
还要区分共同犯罪数额与个人所得。团队总销售三万元,某开发者实际分得五千元,法律评价不能只用“他拿了五千”结束,也不能把团队账户全部流入直接写成个人获利。责任范围要结合共同故意与参与阶段。
成本扣除也不能凭常识。购买电脑、服务器、广告和支付通道的支出,是否影响违法所得计算,要结合罪名与规则。退给用户的钱、代理分成和平台手续费分别处理,依据也可能不同。
金额证据最好能重算。侦查报告列出总数时,应当附原始流水、筛选规则和订单对应。电子表格可以整理结果,不能代替数据来源。
三万元不天然轻,也不天然重。先把它变成法律上那个准确的数字。
07
ANALYSIS
不起诉有两条完全不同的路
家属说“争取不起诉”,常把所有不起诉当成一种结果。刑事诉讼法下,不起诉可能基于不同理由,社会含义与证据基础并不相同。
一种是没有犯罪事实,或者依法不应追究刑事责任。另一种是证据不足,不符合起诉条件。还有一种是犯罪情节轻微,依照刑法规定不需要判处刑罚或免除刑罚,检察机关可以作出不起诉决定,通常被称为相对不起诉或酌定不起诉。
如果软件不属于专门性工具,开发者也不明知下游实施相关违法犯罪,构成要件可能不成立。这个方向处理的是有没有罪的问题。
如果鉴定矛盾、交付版本不明、聊天不完整、金额无法核清,证据不能形成确实充分的证明,处理的是能不能起诉的问题。最高人民检察院 2025 年发布的指导性案例中,就有案件因关于涉案软件是否对相关计算机信息系统造成破坏等鉴定证据存在无法排除的矛盾,最终依法作出证据不足不起诉。该案的意义在证据审查,不能拿来承诺所有软件案件都会不起诉。
若构成犯罪的事实和证据已经成立,再讨论情节轻微、退缴、认罪认罚、初犯偶犯、危害后果和合规整改,才进入相对不起诉的空间。
这三条路的辩护语言不能混乱。一边说从未明知、工具完全中性,一边又无条件承认全部指控事实以换取从宽,容易伤到主要意见。可以分层提出意见,前提与顺序要写清。
不起诉不是由“新业态”三个字赠送的。政策强调包容审慎,会影响治理态度,构成要件与法定数额仍然要按证据判断。
08
ANALYSIS
退缴越早越好吗
主动退缴违法所得通常是重要从宽情节,也能体现处理问题的态度。材料里说“第一时间退三万元”,这个方向需要先核准款项性质、金额和辩护立场。
退缴什么性质的款项,金额依据是什么。账户里既有正常收入又有涉案收入时,全部按违法所得退缴,可能与主要辩护意见冲突。金额尚未核准,可以通过律师沟通缴纳方式与文字表述。
退缴不能替代构成要件审查。一个无罪案件不会因为退钱就更有罪,一个证据充分的案件也不会因为退钱就自动不起诉。它主要影响情节与处理。
退缴时间确实可能影响评价。侦查初期主动处理,与判决前在压力下处理,给办案人员的感受会不同。法律上仍要结合全部情节,不能把心理印象写成固定规则。
退赔被害损失与退缴违法所得也不同。前者处理被害方损失,后者处理犯罪所得。对象、程序和凭证要分清。若软件造成的损失存在争议,赔偿协商还会涉及因果与金额,不宜由家属私下承诺一个无法核验的数字。
每次付款都要留凭证,写明收款机关、案号、用途和金额。不要把钱交给所谓中间人,也不要相信花钱“打点”可以换不起诉。
态度要积极,动作要准确。
09
ANALYSIS
代码鉴定该怎样做
此类案件的鉴定不能只跑一下软件,看见某个按钮就下结论。
第一步确定检材。源代码、编译产物、安装包、依赖库、配置、服务器端组件和数据库是否齐全。案发版本是哪一个,哈希能否与买家设备和下载记录对应。
第二步建立功能清单。每个模块输入什么、处理什么、输出什么。是否连接特定域名,是否包含漏洞利用、权限绕过、数据导出、远程控制、更新和隐藏功能。
第三步区分存在与可用。代码文件里有某段函数,不代表用户能够调用。功能是否编译、入口是否开放、授权是否过期、服务器组件是否配套,都要验证。
第四步观察运行。程序访问哪些进程、文件、注册表和网络地址。发送什么请求,使用什么凭证,收到什么响应。实验环境与目标系统怎样对应。
第五步处理 AI 生成痕迹。提示词、模型输出和代码提交可以说明开发过程,却不宜把“AI 生成概率”当成核心鉴定结论。代码相似度也只能回答部分来源问题。两段程序不相似,不代表功能不同。两段代码相似,也可能都来自公开库。
材料里建议把涉案软件与已知恶意工具做相似度比对。这个办法可以辅助,证明力容易被说大。恶意功能可以用完全不同的代码实现,通用库也会让正常软件与恶意软件共享片段。核心仍是本软件自己的功能和实际用法。
鉴定报告应附关键数据和方法,使控辩双方能够复核。结论若直接写“专门用于犯罪”,要分辨其中哪些是技术事实,哪些属于法律评价。
10
ANALYSIS
AI 记录怎样保全
AI 编程会留下新的证据种类。网页对话、桌面客户端历史、API 调用记录、提示词文件、IDE 插件记录和版本库提交都可能存在。
不要只截取几段有利提示词。完整会话能显示需求如何变化,模型给出什么,开发者采用什么。若平台支持导出,应保留原始导出、账号信息、时间和文件格式。网页内容可能更新或失效,及时固定很重要。
代码版本库尤其有价值。每次提交的作者、时间、差异和说明能够还原功能加入过程。提交时间不一定等于真实编写时间,设备时钟和历史改写也需核验。远程仓库、持续集成记录和发布包可以交叉验证。
AI 输出与最终代码要做对应。模型生成十段,开发者只用了两段。仅凭对话不能说十段都进入软件。最终产物反编译、源代码和构建记录可以连接。
保全过程遵守电子数据规则。原始设备或原始存储介质、提取笔录、文件清单、完整性校验值和可重现方法都很重要。账号在线数据还涉及平台调取与认证,应尽早处理保存期限问题。
开发者平时也可以建立合规记录。客户需求、授权证明、用途声明、版本发布、代码审查和滥用处置都留下真实过程。出了事以后临时补一份承诺书,分量远不如日常记录。
11
ANALYSIS
买家改过代码怎么办
源代码交付以后,买家可以自行修改。公安机关从买家设备提取的程序,未必等于开发者最初提供的版本。
这时要做版本同一性分析。开发者交付包的哈希、发送记录、云盘历史和邮件附件,与买家设备中的文件比较。若哈希不同,再比较代码差异、编译信息、资源和配置。
买家新增了漏洞利用模块,责任是否追到开发者,要看开发者是否参与、是否预见并支持。单纯交付一个通用框架,与明知买家会加入攻击功能而专门预留接口,事实不同。
开发者交付的核心模块本来就完成未经授权控制,买家只换了目标地址,也不能用“他修改过”切断关系。差异分析要说明哪段功能由谁加入,改动是否改变法律评价。
远程更新会让版本关系更复杂。程序启动后从服务器拉取模块,买家磁盘里的初始包可能很干净。更新服务器日志、签名文件、发布时间和控制权限变得重要。谁能够推送,谁在案发时控制服务器,常比源代码作者是谁更关键。
软件供应链也可能牵涉第三方。开发者集成开源组件,买家安装插件,服务端调用外部 API。每一层功能与控制者要分开,不能把最终结果全部归到最上游。
技术案件中的“同一个软件”,经常只是外观相同。版本、配置、插件和服务端一换,能力已经不同。
12
ANALYSIS
辩护怎样一步步展开
先固定版本和交易。哪一天卖给谁,交付什么文件,聊天怎样描述功能,三万元由哪些订单组成。这是后面所有分析的坐标。
再做功能审查。程序是否专门用于侵入、非法控制,具体避开什么保护措施,取得什么数据或控制。通用功能与争议功能分开,最终交付与开发实验分开。
随后处理明知。交易前、交付时、售后中,开发者分别知道什么。买家违法发生在什么时候。继续支持与停止服务的节点在哪里。
接着核对金额、人次和损失。司法解释中的标准逐项对应。三万元若只是销售额,不能直接写成违法所得。若经核实确为违法所得并达到五倍标准,风险也必须向当事人讲明。
证据层面检查电子数据与鉴定。原始介质是否在案,提取能否重现,版本能否关联,统计能否重算,鉴定方法有没有回答争议。
主要辩护方向可以是构成要件不成立,也可以是证据不足。若事实证据确实成立,再综合退缴退赔、认罪认罚、初犯、作用、危害后果和合规整改,讨论相对不起诉或量刑。
分层意见不是摇摆。它承认司法判断可能存在不同层次,让每一层都有材料支撑。
13
ANALYSIS
通用工具、双重用途工具与专门工具
讨论软件属性时,可以先做一个工作上的分类。这个分类帮助整理事实,不直接替代法条。
通用工具服务广泛场景。文本编辑器、代理调试器、自动化框架和远程管理软件都能被滥用,主要功能仍有大量正常用途。用户群、文档、销售渠道和默认配置通常体现这种定位。
双重用途工具同时具有明显的合法与高风险用途。密码恢复、漏洞扫描、数据采集和批量控制都可能属于这一类。合法使用往往依赖授权与对象,开发者需要更清楚地管理销售和支持。
专门工具围绕特定系统、特定防护或未经授权目标设计。代码写死目标特征,核心功能就是避开保护、取得数据或实施控制,正常用途很难独立成立。它更接近司法解释关注的专门性。
现实软件可能从一类走到另一类。初版是通用采集器,客户提出需求后加入特定平台登录绕过。主程序仍有正常功能,交付给该客户的版本已经不同。分析不能只看产品最早定位或官网首页。
默认设置也很重要。工具安装后要求用户填写自有系统授权,还是内置目标列表直接运行。它是否限制速率、记录审计、提醒授权。合规功能不会自动排除恶意能力,却能帮助理解设计目的。
插件架构会增加难度。核心软件通用,官方插件提供争议功能。谁开发插件,谁上架,谁审核,收入怎样分配。若开发者明知插件用途并持续适配,不能用“主程序中性”挡住全部事实。
SaaS 模式还会把控制留在开发者手中。客户只获得前端,任务由开发者服务器执行。日志、目标和结果都经过后台,开发者对用途的可见程度可能更高。一次性离线软件与持续在线服务应分别分析。
软件属于哪一类,要由功能、默认行为、适配对象、用户场景和提供方式共同说明。
14
ANALYSIS
“不知道买家怎么用”要经得起业务常识检查
开发者不需要监控客户的一切。法律也没有要求每个卖软件的人预见所有滥用。某些交易信号太明显,完全不问会让“不知情”越来越难成立。
客户拒绝提供公司和项目,只用匿名账号联系。需求明确指向别人的后台,要求绕过登录、批量导出、清除痕迹。付款使用异常方式,价格与取得账号数量挂钩。测试时直接交付真实目标和凭证。上线后频繁报告封禁,要求更换 IP 和特征。
这些信号单独出现,解释空间各不相同。组合起来,会让普通商业交易的说法受到质疑。
开发者也可能被客户欺骗。客户伪造授权文件,冒充企业安全人员,先描述正常测试,后来自行改变用途。开发者采取了合理核验,交付范围与授权一致,发现异常后停止服务,完整记录能够支持其主观解释。
“合理核验”没有一份适用于所有软件的固定清单。风险越高,核验应越具体。给餐馆做排队小程序,与交付能够远程控制设备的工具,谨慎程度自然不同。
合同里的用途承诺有价值,不能成为遮眼布。开发者已经从售后看到违规行为,仍反复引用合同说客户承诺合法,形式文件很难盖住实际认知。
反过来,办案机关不能因为开发者懂安全,就推定他必然知道每个客户违法。专业能力只能说明理解技术的可能性,明知仍要落到交易与行为证据。
主观判断最怕用身份代替事实。程序员不天然懂法律,安全从业者也不天然有恶意。
15
ANALYSIS
检察机关的不起诉案例该怎样使用
不起诉案例很容易被当成宣传标题。看到“涉案软件”“证据不足”“不起诉”,马上套到自己的案件。案例真正有用的部分,是检察机关怎样识别证据矛盾。
最高人民检察院 2025 年发布的第五十九批指导性案例中,有案件涉及对手机软件是否造成计算机信息系统破坏的鉴定证据。检察机关经审查认为,相关鉴定意见等证据存在无法排除的矛盾,构成提供侵入、非法控制程序、工具罪的事实不清、证据不足,依法作出不起诉决定,并在公安机关复议复核后维持。
这类案例不能简化成“软件案件可以不起诉”。它提示办案人员审查鉴定对象、功能结论与法律指控是否一致,矛盾能否排除,证据是否达到起诉标准。
用于个案时,要提取裁判或处理要点。那起案件的核心矛盾是什么。待决案件是否也存在同类问题。涉案版本不明,还是功能分析相互冲突。检验报告说造成破坏,原始数据却无法支持。相似点越具体,参考价值越高。
案例中的程序与今天的 AI 软件未必相同。AI 不是相似性的核心。证据结构才是。
同样要找不利案例。公开报道中,针对无人机禁飞系统提供破解工具的行为曾被起诉和判处刑罚。相关案件会强调绕过限制、工具功能、销售与明知。把有罪与不起诉材料并列,才能看出界线落在哪些事实上。
案例研究不是收集好消息。它帮助律师提出更准确的调取、鉴定和质证请求。
16
ANALYSIS
合规承诺书怎样避免写成空话
情节层面常会提交合规经营承诺书。模板里写守法经营、加强学习、杜绝再犯,读完仍不知道开发者准备改什么。
有效承诺应对应涉案风险。
客户审查怎样做。高风险功能要求哪些授权材料,谁复核,什么信号触发拒绝交易。
代码审查怎样做。认证、权限、批量操作和隐藏功能由谁审核,发布包如何与源代码对应,版本哈希怎样保存。
销售文案怎样管。禁止把“无视授权”“绕过风控”当卖点,代理宣传如何检查,发现违规怎样下架。
售后怎样留痕。工单、聊天和远程支持保存多久,客户提出高风险需求由谁决定,停止服务如何执行。
滥用怎样处置。投诉渠道、账号限制、证据保存、通知客户和配合调查分别由谁做。涉及他人数据时怎样控制传播。
AI 编程怎样审查。模型输出不得未经人工检查直接进入高风险模块,提示词与关键修改保留到什么程度,开源许可证与安全依赖怎样核验。
承诺里写已经完成的动作,比未来口号更有分量。销售页面已修改,争议服务器已停止,权限密钥已撤销,内部流程已上线。每项附记录。
个人开发者没有公司制度,也可以把流程做小。接单表、授权确认、版本清单、交付邮件和异常拒绝记录足够形成基本轨迹。
合规材料不能换来当然不起诉。它能具体回答再犯风险和整改效果,让从宽请求有事实可看。
17
ANALYSIS
生成式 AI 规定与本案是什么关系
2023 年施行的生成式人工智能服务管理暂行办法,主要调整向境内公众提供生成内容服务的活动,并对提供者、使用者和服务治理作出规定。企业、科研机构等研发应用生成式 AI、未向境内公众提供生成式人工智能服务的情形,不当然落入全部规定范围。
一个开发者使用第三方模型辅助写代码,通常不等于他自己成为面向公众的生成式 AI 服务提供者。案件首先仍按软件实际功能与相关刑法规定分析。
暂行办法强调发展与安全并重、包容审慎和分类分级监管。这个政策背景可以说明对新技术应准确识别风险,避免见到 AI 就扩大责任。它不能改变刑法已经规定的构成要件和数额标准。
若开发者自己运营代码生成平台,向公众提供生成式 AI 服务,还会产生另一组平台治理义务。那与出售某个具体侵入工具是否构罪,属于不同层面的法律问题,可能同时存在,不能互相替代。
文章讨论 AI 时容易把所有规则都装进来。真正与案件有关系的,是使用 AI 留下什么证据,开发者怎样审查输出,以及软件最终做了什么。
18
ANALYSIS
开发者平时怎样给自己留出边界
19
ANALYSIS
开源代码不会自动切断责任
涉案功能来自公开仓库,是开发者常用的解释。开源只说明代码可以被公众取得,不能说明任何部署和提供方式都合法。
需要核对仓库许可证、功能文档、原始提交和开发者实际修改。公开项目可能是安全研究样例,作者明确要求仅在授权环境使用。把它封装成面向特定目标的一键工具,再提供给下游,事实已经变化。
开发者只做了界面和安装包,也要看他知道核心模块做什么。技术能力、测试记录、宣传和售后会帮助判断。完全不知道依赖功能的解释,要与日常开发过程相符。
反过来,项目中包含开源扫描库,不等于软件就是侵入工具。大量正常产品依赖网络、安全和自动化组件。鉴定应确认库中哪些函数实际被调用,调用对象与权限是什么。
许可证违规主要属于知识产权或合同问题,和计算机犯罪不是一回事。一个软件可能同时存在开源合规问题与系统安全风险,两个评价不能互相替代。
供应链记录可以帮助划界。依赖锁定文件、下载时间、版本哈希、构建日志和修改差异,能够说明开发者拿到了什么,又加了什么。上游后来加入恶意代码,也不能自动归责于早期使用者。开发者已收到安全警报仍继续发布,则需要解释后续决定。
开源让代码来路更容易查。责任仍落在具体采用、改造、提供和明知上。
接单前了解客户与用途。对高风险需求,要求提供系统授权、测试范围和联系人。客户拒绝说明,却坚持要绕过认证、隐藏痕迹或批量取得数据,应当停止交易。
需求文档使用准确语言。写清正常功能、对象和权限,不要为营销故意使用“接管”“无视权限”“全自动破解”等表述。文案会成为别人理解产品的材料。
把通用模块与客户定制分开。每次交付有版本号、哈希和功能清单。保留源代码提交、构建和发送记录。客户后来改了什么,才有机会说清。
建立滥用处置。收到违规反馈后调查、限制账号、停止更新并保存记录。不要一边写禁止滥用,一边在私聊里教客户规避检测。
销售和收款保持清楚。订单、合同、发票、退款和分成能对应。混用个人账户会让正常收入与涉案收入难以区分。
使用 AI 时保留必要记录。提示词无需为了自证全部公开,涉及案件时应能还原关键功能怎样产生、由谁审查。模型输出必须经过人工测试,尤其是认证、数据访问与自动化模块。
这些工作不会保证永远没有争议。它们会让争议发生时,事实不只存在于双方口头里。
20
THE END
写在最后
AI 生成的代码卖了三万元,买家拿去违法,开发者要不要负责。
答案取决于一组可以查清的事实。
软件是不是专门用于侵入、非法控制。开发者是否知道买家的违法用途。交付后有没有继续适配、部署和支持。三万元究竟是销售额还是违法所得。实际提供多少人次,造成什么损失。代码、聊天、版本和资金能不能互相对应。
AI 只改变了代码产生过程。人仍然决定提示什么、采用什么、卖给谁、发现风险后是否继续。买家实施违法,也不会自动切断上游责任。两者之间的距离,要靠交易与技术证据测量。
对开发者有利的辩护,不能只说技术中立。要把通用功能、正常用户、授权场景、版本差异和完整沟通拿出来。对开发者不利的指控,也不能只说代码最后被用于犯罪。要证明专门性或明知,并达到法定严重程度。
三万元尤其需要谨慎。它可能经过核对后与指控无关,也可能越过司法解释的重要数量线。把它轻描淡写,对谁都不负责。
代码可以由模型续写,责任没有自动补全功能。法庭只认事实与证据写出的那一部分。
21
REFERENCES
主要参考资料
中华人民共和国刑法相关条文
危害计算机信息系统安全刑事案件司法解释
最高人民检察院第五十九批指导性案例
刑事案件电子数据收集提取和审查判断规定
生成式人工智能服务管理暂行办法
我是马律,专注计算机信息网络相关法律问题。文章只讨论一般法律与技术问题,具体案件仍要结合卷宗、证据和当地司法实践判断。
如果你觉得今天这篇有收获,欢迎点赞、在看、转发,我们下篇见。