发布时间:2026/7/14 5:00:17
Linus 9 年前说「模糊测试有效」——今天已成 OSS-Fuzz 时代铁律 2017 年 10 月 Linux 4.14 RC5 发布时Linus Torvalds 在邮件列表里罕见地夸了一段 fuzzing——这位平时对工具和方法论保持距离的工程师这次直接说「很高兴可以看到」人们在驱动子系统等地方做针对性的模糊测试。那时候 Google 的 OSS-Fuzz 才运行一年多syzkaller 还在内部孵化微软同期推出 Project Springfield后改名 Security Risk Detection想把 fuzzing 商业化。Linus 那段话当年是 Linux 内核安全史的转折点——把 fuzzing 从「少数派用的额外工具」定调为「系统性提升内核安全的关键方法」。9 年后回看syzkaller 帮内核找了 5000 bugOSS-Fuzz 覆盖 1000 项目KASAN / KCSAN 进内核主线。Linus 当年的判断完全被验证但他 9 年前没料到的是——fuzzing 在 AI 时代反而更重要因为 AI 生成的代码量、可读性、单元测试覆盖都不如人类写的。文章讲了啥ZDNet 报道了 Torvalds 在 4.14 RC5 发布说明里关于 fuzzing 的言论整篇文章围绕一段简短但份量重的引语展开另外值得一提的是人们做了多少随机化模糊测试而且这正在发现东西。我们一直在做模糊测试谁还记得只是生成随机代码并跳转过去的老 “crashme” 程序我们过去很早就这样做人们在驱动子系统等方面做了一些很好的针对性模糊测试而且已经有了各种各样的修复不仅仅是上周的这些。很高兴可以看到。Linus 这段话可以拆成几个论点。第一fuzzing 不是新技术。1991 年的 crashme 就是最早的 fuzz 工具之一——它随机生成代码并跳转过去看系统会不会崩。Linux 内核社区用 fuzzing 至少 20 年但 2017 年之前这事没人系统性投入。第二targeted fuzzing 是关键。随机化测试 针对特定子系统的深度测试双管齐下比纯随机 fuzz 有效得多。Linus 当时在夸的具体工具是 Google 的 syzkaller前身是 trinity 和 ikos它针对特定系统调用做深度 fuzzing。第三驱动子系统已被 fuzz 覆盖。Linux 内核代码里驱动占了大约 70%也是 bug 最密集的地方。targeted fuzzing 的重点就是驱动子系统。第四已发现大量 bug。不仅是 4.14 这一版本「各种修复」贯穿了多个版本——这是 Linus 在用 release notes 的口吻告诉业界fuzzing 已经在持续产出成果。第五Linus 罕见肯定。Torvalds 通常对工具和方法论保持距离邮件列表里他的语气一般是「这个 bug 必须修」或「这个设计不行」。这次他直接说「很高兴可以看到」是他少有的对工具方法论点赞。第六Linux 4.14 是个 LTS。这是个延伸论点——4.14 内核被多家厂商选作长期支持版本fuzzing 找出的 bug 修复会进入未来多年生产环境。ZDNet 那篇报道同时指出Google 用各种 fuzzing 工具来查找它及其它供应商软件中的错误。微软同期推出 Project Springfield后改名 Security Risk Detection做商业化 fuzzing 服务。重读这些观点今天还成立吗✅targeted fuzzing 比随机 fuzz 有效—— syzkaller 已成为 Linux 内核持续 fuzzing 的工业标准✅fuzzing 能发现驱动子系统 bug—— syzkaller 在 9 年里发现超过 5000 个 Linux 内核 bug✅Linus 重视 fuzzing 工具—— Linux 内核已内置 KASAN、KCSAN、syzkaller 集成✅fuzzing 是开源安全的关键工具—— Google OSS-Fuzz 已覆盖 1000 开源项目⚠️内存安全漏洞是主要威胁—— Rust for Linux 6.1 合并开始用类型安全语言重写Torvalds 当时不会想到的变量是 Rust for Linux9 年后看syzkaller 是 Torvalds 当年判断的最强注脚。Google 的 syzkaller 是 Linux 内核持续 fuzzing 的工业标准9 年里发现超过 5000 个内核 bug其中相当一部分是安全相关的内存错误。syzkaller 的设计哲学就是 Torvalds 当年说的「targeted fuzzing」——针对特定系统调用、特定驱动做深度 fuzzing。Linus 当时不会想到的变量是 Rust for Linux。2022 年 6.1 内核合并了 Rust 基础设施2026 年 Linux 内核中 Rust 代码已达数万行。fuzzing 找的是「已写错的 C 代码」Rust 直接在类型系统层消灭了大部分内存错误——这是 Torvalds 当年方法论的自然延伸。AI Agent 元年让 fuzzing 更重要2026 年是 AI Agent 元年。AI 生成的代码反而让 fuzzing 变得更重要——AI 生成的代码量大、可读性差、单元测试覆盖低AI Agent 写代码时容易产生边界错误、空指针解引用大量 AI 生成的「小工具」、「小脚本」、「小胶水代码」涌入生产人类 reviewer 越来越难 catch AI 写的微 bug。fuzzing 9 年前是「高阶安全工具」今天成了「AI 代码唯一可靠的验证手段」。LibFuzzer、AFL、honggfuzz 在 AI 代码生态里被广泛集成。「fuzzing 有效」的前提是有钱有时间2017 年 Torvalds 那段关于 fuzzing 的话背景是 Google 投了大钱做 OSS-Fuzz、Microsoft 投了大钱做 Project Springfield、各大厂都有自己的安全团队。但 9 年后看fuzzing、代码审计、安全响应这些「隐性基础设施」的投入是永远追不上漏洞产生速度的——Torvalds 9 年前夸 fuzzing 时OSS-Fuzz 才运行 1 年9 年后 OSS-Fuzz 覆盖 1000 项目但每天仍有新的 CVE 爆出。真正决定开源项目安全的不是「投入多少钱」——是「维护机制是否可持续」。Heartbleed 后的 CII、log4j 后的 OpenSSF、xz 后的 Alpha-Omega都是在反复试错「如何让开源维护可持续」。9 年后回头看「开源安全靠大公司投钱」这条路走到了尽头Google、Microsoft、IBM 这几家投了几十亿美元在开源安全上但 xz-utils 后门证明单点失守仍然能让这些投入付之东流AI 时代下开源代码的「生成速度」远超过「审计速度」——投入再多钱也审计不过来。真正能解决开源安全的不是「更多钱」——是「维护者激励 自动化验证 分发链协同」这三件事。少问「开源安不安全」多问「这个项目的维护者是否在拿工资」——这才是 2026 年该问的真正问题。Torvalds 9 年前说 fuzzing 有效是技术判断但 9 年后看「fuzzing 有效」的前提是有钱、有时间、有能力去跑 fuzzing。Fuzzing 本身是机制不是道德——一个维护者工资没着落的项目再多 fuzzing 工具也救不了。出处原文ARR 风险zdnet.com{rel“nofollow noopener”}LCTT 译稿源档github.com/LCTT/TranslateProject原译lctt.x-cmd.com发布2017-10-17

相关新闻

2026/7/14 5:00:17

从架构到应用:深入剖析BERT与GPT的核心差异与选型指南

1. 理解BERT与GPT的诞生背景2018年堪称自然语言处理(NLP)领域的"大模型元年"。那一年,Google和OpenAI分别推出了改变游戏规则的两个模型:BERT和GPT。这两个基于Transformer架构的预训练语言模型,彻底颠覆了传…

2026/7/14 4:55:17

Python量化交易入门:从双均线MVP到工程化回测系统

1. 这不是“写个脚本就能赚钱”的速成课,而是一份真实交易系统开发者的入门地图“Algorithmic Trading with Python and Machine Learning Part-1”——光看标题,很多人第一反应是:哦,又一个教人用机器学习预测股价、全自动下单、…

2026/7/14 4:55:17

VC++机器视觉实战:从OpenCV集成到工业级算法优化

1. 项目概述:当机器视觉遇上经典VC在AI和深度学习框架满天飞的今天,提起用Visual C(VC)做机器视觉开发,很多年轻开发者可能会觉得有些“复古”。但恰恰是这种“复古”组合,在工业检测、嵌入式边缘计算和高性…

2026/7/14 18:21:19

C/C++终端进度条实现:从换行符、缓冲区刷新到动态显示原理

1. 项目概述:从一行代码到终端动态艺术的跨越在Linux环境下用C/C写过程序的朋友,肯定都见过终端里那个一闪而过的“光标”,也用过printf或cout来输出信息。但你是否想过,为什么有时候打印的内容不会立刻显示?为什么一个…

2026/7/14 18:21:18

P2V迁移实战:从物理机到虚拟机的平滑过渡与存储优化

1. P2V迁移的核心挑战与存储优化思路物理机到虚拟机(P2V)的迁移过程中,存储空间优化往往是系统管理员最头疼的问题之一。想象一下这样的场景:你手头有一台老旧的物理服务器,配置了1TB的机械硬盘,但实际只使…

2026/7/14 18:21:18

从MFC GDI到图形学核心:经典教材实战指南与算法实现精要

1. 项目概述:一本经典教材的实战伴侣如果你正在啃《计算机图形学基础教程(Visual C版)》这本教材,或者对用C在Windows平台上实现图形算法充满好奇,那么你大概率会和我一样,在某个深夜对着书上的理论公式和抽…

2026/7/14 18:21:18

Windows系统垃圾清理全攻略:从原理到自动化脚本实践

在日常使用Windows系统时,很多用户都会遇到C盘空间不足的困扰。系统缓存、临时文件、日志记录等垃圾文件会随着时间不断积累,占用宝贵的磁盘空间,导致系统运行缓慢,甚至影响正常使用。本文将从系统垃圾的产生原理入手,…

2026/7/14 18:21:18

YOLOV5 核显加速:OpenVINO异步推理实战与性能调优(附源码)

1. 为什么需要核显加速YOLOv5?在目标检测领域,YOLOv5凭借其出色的速度和精度平衡成为许多开发者的首选。但很多人在实际部署时会遇到一个尴尬问题:独立显卡(如NVIDIA GPU)往往被其他计算任务占用,而CPU推理…

2026/7/14 18:16:18

Langfuse在LLM应用中的可观测性实践与优化

1. Langfuse与AI应用可观测性基础在构建基于大语言模型(LLM)的应用时,开发者面临一个关键挑战:如何全面追踪和调试模型的行为?传统日志系统难以捕捉LLM调用链路的完整上下文,这正是Langfuse这类可观测性平台的价值所在。作为开源A…

2026/7/14 12:47:32

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾在网易云音乐下载了心爱的歌曲&#…

2026/7/13 14:26:14

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境随着新能源汽车行业的快速发展,充电通信协议的标准化和测试验证变得尤为重要。GB/T 27930-2023作为中国智能充电协议的最新版本,对充电机与电动汽车之间的通信提出了更严格…

2026/7/13 18:07:53

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡 【免费下载链接】rtl8852be Realtek Linux WLAN Driver for RTL8852BE 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8852be 还在为Linux系统无法识别RTL8852BE Wi-Fi 6网卡而烦恼吗?&#x1f…

2026/7/14 0:04:21

5分钟掌握足球PBR材质制作:Photoshop与Unity高效工作流

1. 项目概述:为什么是足球PBR材质?在游戏开发,尤其是体育竞技类游戏的制作中,一个看起来“对味”的足球,往往比我们想象中更重要。它不仅是赛场上的核心道具,更是玩家视觉焦点和沉浸感的重要来源。一个塑料…

2026/7/14 0:04:21

ChatGPT联网搜索失败,92%开发者误判为网络问题——真实根因竟是LLM推理会话上下文污染导致Search Agent进程静默退出(含strace复现脚本)

更多请点击: https://intelliparadigm.com 第一章:ChatGPT 联网搜索失败 当 ChatGPT 的联网搜索功能无法正常工作时,用户常遇到“搜索不可用”“未连接到互联网”或空白响应等现象。该问题并非模型本身缺陷,而是由权限配置、网络…

2026/7/14 12:47:31

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…