AI时代的安全研究
在以前, 经验丰富的研究员, 可以快速地定位问题, 通过一些奇思妙想, 发现新的bug. 也可以通过举一反三, 在多个组件用同一个模式发现大量问题. 然而, AI时代的到来, 把一切都推倒了, 本篇无干货, 仅仅是我的一些思考.
首先, 在去年主流已经开始尝试用AI干活时, 我也开始了尝试, 那时候的AI, 似乎只是帮助优化ida的逆向结果, 挖掘和思考都是需要人工, 离真正的自主还有很大的差距, 前沿的人, 都在努力去构建框架, 以期望AI可以胜任部分工作.
然而, 自gpt 5.4 和 claude 4.6 开始, 一切开始有点变化, 彼时, 我只需要提供ida的mcp, 让ai自己静态分析和逆向, 就已经足以发现大部分人工发现的问题. AI挖洞变得简单易用. 虽然它时常会有遗漏, 但只要稍微在prompt里添加一些限制, 就可以避免它把大量注意力放到无关紧要的地方, 从而可以快速地产出漏洞.
随后, 就是gpt 5.5时代, 这一代, 我尝试让它自主挖掘, 自主测试, 我发现它已经足够的快速且稳定了, 它完全胜任了一个经验丰富的安全研究员的工作, 且产出是人类的好多倍. 毕竟, 对于AI, 它有海量的”记忆力”, 不像人, 注意力只能集中在少数的方面, 很难做到算无遗漏.
在gpt5.4时代, 我是苦恼的, 我一直在想, 如果厂商都用上ai挖掘问题了, 那我们还如何和他们竞争? 他们拥有足够的计算资源和源码, AI挖掘肯定更快更准确, 那我们的价值将荡然无存.
然而, 在MSRC邀请我们去新加坡交流后, 我发现事实并不是如此的悲观. 一方面, 厂商虽然也在用AI挖掘, 但是他们验证需要时间, 即使是有源码, 也依然需要在实际环境中验证, 这必然是个耗时耗力的工作. 这也意味着, 在他们彻底消灭所有问题之前, 我们也可以用相同的工具跟他们竞争. 一个显然的例子, 就是近期的MSRC 月度公告变得越来越多, 这正是是因为有经验丰富的研究员在赶在他们发现之前, 挖掘不同的安全问题.
另一方面, 安全研究员的经验积累, 也可以帮助他们快速地找到合适的目标. 以前古法挖洞时代, 找到一个合适的目标其实比努力更重要. 在一个艰难的目标里挖掘新问题, 注定是个艰苦又回报率低的事情, 这是我后来才明白的道理. 所以在23年之后, 我更在意的是如何选择合适的目标以获得更高的回报率. 在AI时代, 更是如此. 选对了合适的目标, 大家用相同的工具, 产出却大不相同, 这就是现在这个时代, 经验的作用.
在AI产出第一个有效漏洞之前, 我是迷茫的. 我不知道我是否正确地用了AI工具, 我和那些更擅长使用AI工具的人是否存在很大的差距. 但是这些担忧都是多余的. 只要选择了合适的目标, AI总是不负期望的. 而且有时候会有意外的惊喜. 同时, 以前挖掘漏洞, 有新的产出, 我会很惊喜, 就像长久的努力得到了结果, 就像自己找到了别人没有发现的新大陆, 这种思维的收获, 是非常的喜人的. 而AI产出了漏洞, 看起来并不是我努力的结果, 我更像一个旁观者, 没有了绞尽脑汁, 没有了思维突破, 我发现的新大陆, 不过是我开对了船的方向. 但后来我想通了, 无论是AI, 还是我自己, 我都是在驱使着工具, 只要结果是我的, 那就是我努力和思考的结果, 虽然思考的成分不再像以往那么多, 但是这不重要. 就像家里装修一样, 虽然干活的不是我, 但是它变成什么样, 是我来决定的, 而我需要的就是结果. 这两种产出方式不存在优劣, 我们可以成为工具本身, 也可以成为摘果子的人.
那这个漏洞研究员要没落了吗? 我觉得要辩证地看待. 一方面, 传统的古法挖洞必然是没落了, 如果当今还有人古法挖洞, 他的效率必然是远远落后于人, 他只能期望别人没有看这个目标, 不然他的发现必然已是不止他一个人知道了. 无论是用AI结合静态分析+动态调试验证, 还是AI结合fuzz或者直接让AI自己搞fuzz, 都是对工具的合理使用, 也是我们的进化之路. 经验的加成, 可以及时地避免AI走错方向, 可以找到更合适的目标, 可以辅助提供更强大的工具, 让AI干活更加快速有效, 我们的角色, 从用脑思考, 变成了如何指挥一个研究团队. 我们不再局限于去寻找问题本身, 而是去着眼哪些地方更有可能存在问题. 有经验的人和无经验的人的区别, 就像打仗时纸上谈兵的人和真正将军之前的区别. 所以这个行业不一定是没落, 而是我们都有可能成为一支”军队”, 我们都能突破以前的技术和个人能力局限, 拓展自身的挖掘领域, 发现以前没有接触过的漏洞. 只是说, 我们工作的性质变了, 我们不再是工具本身.
另一方面, 当下的时间, 我们是多了个机会. 我们可以尽可能地发挥AI的能力, 去找到别人还没有发现的问题. 而这, 当然也会竞争更加激烈. 如何驾驭好这支”军队”, 便是各位”指挥官”的能耐了. 同时, 无论是厂商还是AI开发商, 他们或许也需要漏洞研究领域的人才, 帮助他们增强AI的能力, 经验丰富的人肯定比软件开发者更懂如何发现问题.
如果看了这么多, 还有人想入行, 是否会感到绝望呢? 我个人认为, 并不是完全没有机会. 如同当初学习漏洞挖掘一样, 先学会让AI挖掘已经发现的漏洞, 再不断优化挖掘流程, 你可以让AI自己优化, 也可以自己想办法添加一些工具和改动, 再继续让AI学习旧的案例, 继续优化整个流程. 最终, 你和经验丰富的人的差距, 也会越来越小, 自然也可以发现别人没有发现的问题, 也会慢慢成长成经验丰富的”指挥官”.
未来如何看待? 我不清楚. AI或许会越来越强大, 厂商的软件产品问题越来越少, 或许留给漏洞研究员的空间是越来越少, 但这依然是个未知数. 或许随着AI产品的不断推陈出新, AI本身的安全问题可能更加普遍, 会诞生出新的安全研究员; 或许未来分配改变, 我们不再担心自己是工具, 而可以享受生活.