2、核心法律框架:国际法、国内法与行业标准
做漏洞披露,最怕什么?不是技术难题,而是法律风险。我见过不少安全研究员,挖到漏洞后直接往微博上一贴,结果被厂商告上法庭。说白了,没有法律框架护航,你的善意披露可能变成违法行为。
这一章,我们就把法律框架拆开揉碎。我会从三个层面来讲:国际法、国内法、行业标准。这三者不是孤立的,它们层层嵌套,构成了漏洞披露的合规底座。
2.1 国际法层面:《布达佩斯公约》
先聊国际法。很多人觉得国际法离自己很远,其实不然。如果你做跨境业务,或者你的漏洞平台面向全球,那《布达佩斯公约》就是绕不开的基准线。
《布达佩斯公约》全称是《网络犯罪公约》,2001年由欧洲委员会牵头制定。它主要解决两个问题:一是统一各国对网络犯罪的定罪标准,二是建立跨境取证和司法协助的机制。
对漏洞披露来说,公约里最关键的是第6条——关于“滥用设备”的规定。这条说了什么?简单讲:如果你制造、销售或持有专门用于入侵系统的工具,可能构成犯罪。那漏洞PoC(概念验证代码)算不算?
我在2019年参与过一个跨国漏洞协调项目。当时欧洲某国的研究员写了一个完整的漏洞利用链,包含远程代码执行。虽然他的初衷是演示危害,但按照当地对公约的转化立法,他差点被起诉。最后我们不得不把PoC拆成概念验证和利用演示两部分,才化解了风险。
| 公约条款 | 核心内容 | 对漏洞披露的影响 |
|---|---|---|
| 第2条 | 非法访问 | 未经授权扫描系统可能触法 |
| 第6条 | 滥用设备 | PoC 代码的合法性边界 |
| 第14条 | 管辖权 | 跨国披露时适用哪国法律 |
2.2 国内法层面:《网络安全法》与《数据安全法》
国内的法律环境,我个人觉得比国际法更复杂。因为国内法不仅管行为,还管主体、管数据、管流程。
先说《网络安全法》。这部法律2017年实施,是漏洞披露的“基本法”。其中第25条直接提到了漏洞:网络运营者发现漏洞后,应当立即采取补救措施,并向主管部门报告。注意,这里用的是“应当”,不是“可以”。
那作为安全研究员,你披露漏洞时要注意什么?
- 不能擅自公开:在厂商修复前公开漏洞细节,可能违反《网络安全法》第25条
- 不能跨境传输:如果漏洞涉及关键信息基础设施,数据不能直接发给境外机构
- 不能过度披露:PoC 代码如果包含实际攻击方法,可能被认定为“提供侵入工具”
再说《数据安全法》。2021年实施,它把数据分成了三个等级:一般数据、重要数据、核心数据。漏洞信息本身算不算数据?算。如果漏洞涉及重要数据或核心数据的处理系统,那披露流程就要走审批通道。
2.3 行业标准层面:ISO 29147
法律是底线,标准是方法。ISO 29147 是国际标准化组织发布的漏洞披露标准,全称是《信息技术—安全技术—漏洞披露》。
这个标准我反复读过很多遍。它不告诉你“必须怎么做”,而是告诉你“应该怎么做”。说白了,它是一套最佳实践框架。
ISO 29147 的核心流程包括:
- 接收:建立统一的漏洞接收渠道(邮箱、平台、PGP密钥)
- 验证:确认漏洞是否真实、是否可复现
- 分类:按严重程度分级(CVSS评分)
- 修复:协调厂商开发补丁
- 披露:在修复完成后发布安全公告
我曾经帮一家金融科技公司落地 ISO 29147。他们原来的流程是:收到漏洞报告→转给开发团队→开发修完就完事了。结果呢?漏洞修了,但没通知用户,也没发公告。后来被监管约谈,说他们“未履行告知义务”。
按照 ISO 29147 改完之后,流程变成了这样:
接收报告 → 48小时内确认收悉
↓
验证复现 → 5个工作日内完成
↓
CVSS评分 → 确定披露优先级
↓
协调修复 → 90天修复窗口
↓
发布公告 → 同步更新CVE编号
2.4 三者的关系:一张图说清楚
国际法、国内法、行业标准,这三者到底是什么关系?我画了一张图,你看完就明白了。
你看,国际法是顶层设计,它定义了各国应该怎么立法。国内法把国际法转化成具体条款,规定了什么能做、什么不能做。行业标准则给出了“怎么做”的操作指南。三层结构,缺一不可。
2.5 避坑指南:我踩过的三个坑
讲了这么多理论,最后分享几个真实教训。
我曾经处理过一个漏洞,研究员在德国,厂商在中国,漏洞影响的是美国用户。三个国家,三套法律。最后我们不得不按照“最严格标准”来执行——同时满足三个国家的合规要求。这很痛苦,但安全合规没有捷径。
《数据安全法》里的“重要数据”定义比较宽泛。有一次,一个漏洞涉及用户行为日志,我们觉得不算重要数据,就直接公开了。结果被监管部门认定为“重要数据”,因为日志里包含了用户操作轨迹。从那以后,我养成了一个习惯:拿不准的时候,先按最高等级处理。
ISO 29147 在2023年发布了修订版,增加了关于自动化披露和AI辅助漏洞验证的内容。如果你还在用2018年的老版本,流程可能已经过时了。我建议每半年检查一次标准更新状态。