首页 / 新闻资讯 / 安卓反Hook加固出事故后的责任认定,合同条款和实际判例分析
“加固之后还是被绕过,用户数据泄露了,服务商怎么说?”

法务在群里丢出这句话时,我刚结束一场持续12小时的应急响应。对方用Frida脚本绕过我们采购的某家反Hook加固方案,直接修改了支付回调函数。漏洞持续了72小时才被发现,损失超过200万。
更让我崩溃的是,翻出加固合同时,发现了一条我当时没太在意的条款:“因第三方攻击导致的安全事件,服务商不承担赔偿责任。”
销售当时拍着胸脯说“防不住全额退款”,合同里却是另一套说辞。这不是个例——我问了圈子里另外三家金融机构的安全负责人,两份合同有类似条款,一份干脆没有责任认定章节。
这篇文章我会把踩过的坑拆透:加固服务合同里哪些免责条款在法律上站得住脚、哪些属于“霸王条款”,结合真实的司法判例,给你一套能直接用的责任划分框架和合同修改清单。
要厘清责任归属,先得回答一个核心问题:反Hook加固被绕过,在法律上属于什么性质的行为?
使用Frida、Xposed等工具绕过加固、修改App运行时逻辑,在我国刑法框架下有明确的定性依据。
上海长宁区检察院办理的“小白改机”案提供了重要参考。该案中,被告人制作的程序通过Hook系统API修改Android ID、设备品牌等信息,帮助用户骗取外卖平台首单优惠。检察院抗诉书中明确指出:该程序“未经系统及程序授权,对计算机信息系统中存储、处理或传输的数据进行修改”,属于《刑法》第二百八十六条规定的破坏计算机信息系统罪。
该案的逻辑可以类推到Hook攻击场景:
这意味着,如果攻击者用Frida绕过你的反Hook防护并造成损失,攻击者本身要承担刑事责任。但这和加固服务商的责任是两回事——服务商的责任,要看合同怎么约、以及他的防护有没有达到承诺标准。
加固服务合同在法律上属于技术服务合同,服务商的义务不是“绝对防住所有攻击”(这在技术上不可能),而是按照合同约定的技术标准和服务承诺提供服务。
关键区分在于:
实践中,绝大多数合同写的是第三种。这意味着出事之后,你想追责,得先证明:服务商没有按照约定的技术标准提供服务。
加固服务合同里的免责条款,本质上是格式条款(由服务商单方预先拟定、重复使用、未与客户协商)。根据《民法典》第四百九十七条,以下情形的格式条款无效:

(一)具有本法第一编第六章第三节和本法第五百零六条规定的无效情形;(二)提供格式条款一方不合理地免除或者减轻其责任、加重对方责任、限制对方主要权利;(三)提供格式条款一方排除对方主要权利。
把条文翻译成实战语言:如果服务商在合同里把自己的核心义务全免了,或者让你承担了本应由他承担的风险,这条款很可能被法院认定无效。
第一种:“因黑客攻击、第三方逆向工程等原因导致的安全事件,服务商不承担任何责任。”
这条违法。根据《民法典》第四百九十七条,格式条款不能“不合理地免除提供方的责任”。加固服务的核心目的就是对抗逆向工程,把这列为免责事由属于典型的“不合理免除”。
司法实践中也有参照:杭州高新区市场监管局对网络平台服务协议的专项整治中,明确指出“将黑客攻击、计算机病毒等因素列举为不可抗力并免责,不符合法律规定”。
修正方案:改为“因超出当前行业已知攻击手段的新型高级持续性攻击(需经双方确认的第三方鉴定)导致防护失效,服务商不承担违约责任,但应提供应急响应支持”。
第二种:“服务商仅提供加固工具,用户自行承担加固后App的安全风险。”
这条属于“排除对方主要权利”。用户买加固服务就是为了降低风险,这条把风险全甩回用户,法院大概率认定无效。河南周口法院在审理保险合同格式条款案时明确:提供格式条款一方“不合理地免除或者减轻其责任、加重对方责任”的条款无效。
修正方案:删除该条款,或改为“服务商按照合同约定的技术标准提供服务,对因防护能力不足导致的损失承担责任”。
第三条:“无论何种原因,服务商的累计赔偿额不超过用户已支付的服务费用。”
这条有一定合理性,但有几个陷阱。首先,如果损失是因为服务商的故意或重大过失造成的,这条限制赔偿的条款可能被认定无效。《民法典》第五百零六条规定,“因故意或者重大过失造成对方财产损失的”免责条款无效。
其次,如果是造成人身损害(如用户数据泄露导致人身侵权),这条也无效。
修正方案:改成阶梯式——一般违约按服务费倍数赔,重大过失或恶意行为不受此限。
第四条:“双方发生争议,由服务商所在地仲裁委员会仲裁。”
这条在法律上不当然无效,但属于对用户不利的条款。杭州高新区市场监管局在整治中发现,不少平台单方指定仲裁机构“排除了消费者向人民法院提起诉讼的权利”,认定无效。企业客户是否适用同样标准有争议,但签约时可以争取改为“用户所在地”或“中立第三方”。
这是我踩坑时遇到的实际条款(做了脱敏处理):
“免责条款:第X条 加固服务受限于当时的技术水平和攻击手段。用户理解并同意,因下列情形导致的服务中断、数据泄露或损失,服务商不承担责任:(一)黑客攻击、病毒、木马、恶意程序等;(二)用户自身代码漏洞;(三)任何第三方使用用户的App进行的不当行为;(四)超出服务商合理控制范围的其他事件。”
这条的问题:
修改后的版本(我已经用这个模板和好几家服务商签过):
“责任条款:第X条 服务商承诺其反Hook技术方案达到【附件二约定的技术标准】。如因防护能力不足(指未达到前述标准)导致攻击者绕过防护、造成损失,服务商承担赔偿责任。以下情形不属于防护能力不足:(一)经双方确认的第三方鉴定机构认定的、超出加固方案设计范围的新型攻击手法;(二)用户自行移除或修改加固代码导致的失效;(三)用户在加固后新增的、未告知服务商的代码模块被单独攻击。”
虽然专门针对“反Hook加固失效”的公开判例还不多,但可以从相关领域的判例中找到法院的裁判逻辑。
法院对提供服务一方的格式条款普遍采取较严格审查态度。
北京市第三中级人民法院在审理快递服务合同纠纷时明确:快递公司未尽到提示说明义务,且赔偿条款不公平的,应认定无效。这个逻辑可以类推到加固合同——如果服务商在签约时没有明显提示“免责条款”的存在,或者在宣传时说“防Frida”但合同里写“不承担攻击责任”,法院可以认定该条款不成为合同内容。
重庆市第五中级人民法院在某房屋买卖合同案中认定:开发商在补充协议中约定“任意一方享有无条件解除权”,属于不遵循公平合理原则的格式条款,应为无效。同理,如果加固服务商在合同里给自己留了“单方判断是否属于免责范围”的权力,可能被认定不公平。
杭州高新区市场监管局在专项整治中明确指出:平台经营者无权单方设定不可抗力情形。该局在对某网络平台服务协议的点评中称,平台将“基础电信运营商的故障、计算机病毒、黑客攻击”列为不可抗力并免责,“扩大了法定不可抗力范围,免除了平台经营者的责任”。
这个监管立场对加固合同有直接参考价值。服务商要把“黑客攻击”写进免责条款,监管部门会认定为“滥用不可抗力”。
基于现有法律框架和相关领域判例,我能推演出法院对加固失效案件的可能态度:
对服务商不利的因素:
对用户不利的因素:
我的判断: 如果服务商在宣传中明确说“防Frida”,但合同里写“不承担攻击责任”,法院会倾向认定该免责条款无效,并按服务商的实际过错程度判定赔偿比例。
第一,技术标准条款
必须要求合同附件明确列出:
第二,效果承诺条款
这是我现在的标准模板:
“服务商承诺,加固后的App在【附件一】所列攻击工具和测试条件下,未被绕过。如用户在合同有效期内发现可绕过的攻击路径,经双方确认或第三方鉴定机构认定后,服务商应在【15个工作日】内修复。逾期未修复或无法修复的,用户有权要求:(1)减免相应服务费用;(2)由服务商承担应急加固费用;(3)解除合同并要求赔偿实际损失。”
关键点: 明确“被绕过”的认定标准、修复时限、以及修复失败后的救济措施。
第三,责任划分条款
把损失类型和责任归属写清楚:
| 损失类型 | 责任归属 | 举证责任 |
|---|---|---|
| 因加固被绕过导致的直接经济损失 | 服务商承担【约定比例】 | 用户提供损失证明+攻击路径分析 |
| 因用户代码逻辑漏洞(如服务端缺失校验) | 用户自行承担 | 服务商或第三方鉴定 |
| 混合原因(加固失效+用户漏洞共同导致) | 按原因力比例分担 | 第三方鉴定机构 |
| 第三方攻击者的赔偿 | 服务商协助用户追偿 | 用户+执法机构 |
第四,数据归属与审计条款
“用户上传的APK及加固过程中产生的中间文件,服务商应在加固完成后【24小时】内删除。用户有权随时审计服务商的数据处理日志,服务商应配合提供。”
这是为了防止服务商用你的APK做算法分析,或者泄露给第三方。
第五,争议解决条款
争取写为:“双方发生争议,应友好协商;协商不成的,任何一方可将争议提交【用户所在地】有管辖权的人民法院诉讼解决。”
把“仲裁”改为“诉讼”,把“服务商所在地”改为“用户所在地”,能大幅降低维权成本。
很多厂商的POC测试环境是精心调过的,上线后的配置可能不同。我现在的策略是:把POC测试的条件和结果直接写进合同附件。

“附件二:防护能力验收标准
一、测试环境
- Frida版本:16.1.11及以上
- Magisk版本:26.0及以上,开启Zygisk
- Xposed框架:最新稳定版
- 测试机型:Google Pixel 6(Android 14)、小米13(Android 14)、华为Mate 60(鸿蒙4.0)
二、验收标准
- 上述环境下,Frida attach成功率为0%
- frida-trace无法跟踪加密函数和风控函数
- Magisk Hide+Zygisk无法绕过运行时检测
- 内存dump后无法还原原始ARM指令
三、上线后一致性保证服务商承诺,正式交付的加固方案与POC测试方案的核心保护逻辑一致。用户有权在任何时候要求重新执行POC测试,如发现不一致,视为服务商违约。”
这条我亲自用过——在一次POC测试后,某服务商的销售说“正式版本和测试版一样”,我坚持把这条写进合同,对方犹豫了两天,最终签了。后来上线前我要求复测,果然发现默认策略被调低了(说是“为了兼容性”)。因为有合同条款,对方老老实实调回了POC时的配置。
出事之后,响应速度直接决定损失规模。
“安全事件应急响应:
- 发现攻击后【15分钟】内响应,【2小时】内定位问题
- 【4小时】内提供临时加固方案或热修复补丁
- 【24小时】内完成根因分析并出具报告
- 【7×24小时】安全专家待命,节假日无休
未达标处理: 每项未达标,服务商按【年服务费的10%】支付违约金;24小时内无法恢复的,用户有权解除合同并要求全额退款。”
一旦发现加固被绕过,立即做这几件事:
| 顺序 | 动作 | 目的 |
|---|---|---|
| 1 | 保留完整的攻击样本和利用代码 | 证明绕过真实存在 |
| 2 | 导出服务商的防护日志 | 证明防护机制当时在运行 |
| 3 | 申请第三方鉴定机构介入 | 获取有法律效力的鉴定报告 |
| 4 | 书面通知服务商,启动应急响应流程 | 固定“服务商知晓”的时间点 |
| 5 | 记录损失(直接经济损失、用户赔偿、舆情影响) | 为索赔提供依据 |
| 6 | 保留和服务商销售/技术人员的所有聊天记录 | 证明口头承诺与合同不符 |
鉴定机构的选择: 司法鉴定机构(如各地电子数据司法鉴定所)的鉴定报告有法律效力,比机构自己的报告管用得多。
路径一:合同违约
路径二:侵权责任
路径三:行政投诉
路径四:刑事报案(针对攻击者)
踩过两次坑、写过十几版合同条款、和四家服务商的法务轮流交锋之后,我的结论是:
第一,不要相信销售的口头承诺。 “独家技术”“行业领先”“99.9%防护”,这些词在法律上毫无意义。你必须让这些承诺变成合同附件里的可验证技术标准。
第二,免责条款不是不能写,但要写得公平。 服务商无法保证100%防住所有攻击,这是事实。但“把黑客攻击完全免责”和“针对超出行业水平的未知攻击免责”是两回事。前者法院会认定无效,后者有合理性。
第三,POC测试结果必须锁定在合同里。 这是目前最有效的制衡手段——只要你能证明正式版不如POC版,服务商就跑不了。
第四,出事之后马上做证据保全。 司法鉴定报告比任何内部分析都有说服力。我在第二次出事时吸取了教训,48小时内完成了司法鉴定,最终在和厂商的谈判中占到了主动。
最后,加固服务商的角色是“安全合作伙伴”,不是“保险公司”。你不能指望花几十万买个加固,出了几百万的事故让厂商全赔。但你可以做的是:在合同里把权责划分清楚,让厂商有足够的动力把他的技术做好。
选型是第一步,合同是第二步,应急是第三步。三步都走对了,即便出事,你也能站着解决问题,而不是跪着认栽。