关于近半年境况的杂谈
本文写于 2026.7.19 凌晨,只是随笔,想到哪里便写到哪里。
自去年十二月以来,我再也没有写过一篇文章。一方面是人变懒了,没做出什么值得记录的事情,也不知道该写些什么;另一方面,则是我对 CTF 越来越提不起兴趣。
从 2025 年年中开始,Codex、Claude Code 等 Agent 几乎改变了所有人的编程习惯,也彻底攻陷了 CTF。如今每逢比赛,榜单前列几乎没有不用 Agent 的队伍。这里最典型的例子便是正规子群。在我看来,它称得上是国内 CTF Agent 的鼻祖,在各大赛事中的表现也相当出色。尤其是在 Agent 尚未被大规模应用、大家还在打“古法 CTF”的时代,它的表现着实令人惊叹。
我们为什么要打 CTF?
为了名声,让更多 CTFer 记住自己;为了奖品,赚点钱;为了加入某支战队;为了给简历增添几段竞赛经历;又或者,只是为了锻炼技术……每个人都有自己的理由。
对于一个从未接触过网络安全的新生来说,快速入门、锻炼技术,当然是最直接的目的。可然后呢?一次次在比赛中被 Agent 碾压,榜单前列几乎都不是纯靠人力打出来的。辛辛苦苦学上一年半载,结果还是干不过 AI。即使并不特别看重名次,多少也会感到挫败,甚至忍不住怀疑:我学这些,究竟还能用来做什么?
至于那些以奖品为目标的队伍,则开始使用越来越强的模型。AI 包揽前几十名,其他人为了竞争也不得不跟进,最终形成一个愈演愈烈的恶性循环。
因此,从 2025 年年底开始,AI 相关的竞赛逐渐多了起来,例如黑客松;与此同时,开源的网络安全 Agent 也迎来了爆发式增长。
这里不得不提 2026 年年初被炒热的“小龙虾”——OpenClaw。当时的 Codex 和 Claude Code 仍主要面向开发者,尚未真正普及到大众。OpenClaw 顺势打出“通用 Agent”的旗号,热度一路攀升,甚至一度带动 Mac mini 卖到断货。
不可否认,OpenClaw 确实是一个颇具方向性的通用 Agent 项目。热潮逐渐平息后,Codex 和 Claude Code 也开始更加重视 Agent 的通用能力。媒体与资本的造势,加上舆论的推波助澜,确实让一部分用户切身体会到了 Agent 的便利;但也有更多人花了一笔莫名其妙的钱,最后却没用它做成多少事情。
在此期间,我也见过一些 CTFer 使用 OpenClaw 参加比赛,但实际效果大多远不如已经相当成熟的 Codex 和 Claude Code。
这也引出了第二个问题:既然 Codex 和 Claude Code 已经如此成熟,Anthropic 也曾表示团队会使用 Claude Code 辅助迭代自己的模型——某种意义上的“AI helps AI”——那么,即使我们转换方向,开始研究和开发 Agent,又还能做些什么?
难道如今学习网络安全,真的已经一点用都没有了吗?
显然不是。
Agent 能做出一道题,并不代表使用 Agent 的选手会做这道题。CTF 题目通常是在一个经过刻意简化、确定存在漏洞的环境中展开的。Agent 可以不断试错,尝试各种可能的思路,只要其中一条路能够走通,就有机会拿到 flag。
但真实的网络环境并不是这样。没有人会提前告诉你漏洞一定存在,也不会允许你毫无代价地尝试所有攻击方式。实际攻防还要考虑业务影响、权限边界、隐蔽性、稳定性以及误操作带来的后果。Agent 能在 CTF 环境中解出题目,并不意味着它已经可以脱离人类,在真实世界中独立完成攻防。
这就像一个高考生能够解出核物理计算题,并不意味着他有能力设计一座核反应堆。会解题与真正掌握、运用一项技术之间,始终存在相当大的距离。
CTF 本来就只是学习安全技术的一种方式,而不是技术本身。如今被 Agent 冲击的,与其说是网络安全,不如说是那套以做题数量、比赛排名和解题速度衡量能力的评价体系。
过去,一个人会不会做题,往往可以近似反映他是否掌握了相关技术;现在,这两者之间已经不能简单地画等号了。比赛成绩的含金量不会彻底消失,但它需要一些新的前提:哪些部分由人完成,哪些部分借助了模型,参赛者能否复现并解释完整的解题过程。遗憾的是,在奖金、排名和荣誉面前,很少有人愿意主动给自己增加限制。
因此,禁用 Agent 并不现实。且不说技术上的限制难度很大,禁用 Agent 本身也是在回避已经发生的变化。更现实的方式或许是重新设计比赛流程,例如划分 AI 组和“古法组”,要求选手提交完整的 Agent 交互记录,增加现场复现与讲解环节,甚至直接将使用 Agent 的效率也纳入评价标准。
只是这样一来,CTF 也就不再是我们熟悉的那个 CTF 了。
这大概也是我越来越不想打 CTF 的原因。并不是因为题目本身突然变得无聊,也不是因为 Agent 出现以后,人就什么都不需要学了,而是过去支撑我投入时间的那套反馈机制正在逐渐失效。
以前解出一道难题,获得的是“我终于想明白了”的满足感;现在首先冒出来的念头却是:这道题交给 Agent,可能几分钟就做完了。即使最后坚持自己解决,也很难完全摆脱这种比较。
出题人同样不知道该如何是好。按照过去的思路正常出题,很可能转眼就被 Agent 批量解决;可如果额外花费大量精力“防 AI”,不仅未必真的防得住,还可能牺牲正常选手的做题体验。题目的考点逐渐从技术本身,变成猜测模型不擅长什么,这显然也不是一件值得高兴的事情。
人一旦开始怀疑一件事的意义,热情往往就很难维持。
但换个角度看,这未必是一件坏事。AI 迫使我们重新审视:自己真正感兴趣的究竟是比赛、排名和解题,还是问题背后的技术本身?如果没有榜单,没有奖品,也没有别人知道,我还愿不愿意花几个小时研究一个漏洞?
如果答案是否定的,那或许是时候换个方向;如果答案是肯定的,那么 Agent 反而可以替我们处理大量枯燥的工作,让有限的精力集中在更重要的问题上。
至少对我来说,现在还没有一个十分确定的答案。
我仍然会关注 CTF,也会偶尔看看新题和新的安全 Agent。只是相比于证明自己能不能解出某道题,我开始更关心另一件事:当越来越多工作都可以由 Agent 完成以后,人还应该把时间花在哪里?
这个问题显然不只属于 CTF。程序员、设计师、研究人员,乃至所有依赖知识和经验工作的人,迟早都会面对它。过去半年里,我看着 Agent 从一种提高效率的工具,逐渐变成能够独立承担任务的参与者。它带来的不只是生产力的提升,也在不断动摇许多事情原本的价值。
我们过去愿意花费大量时间掌握一项技能,是因为这项技能稀缺、困难,并且能够证明某种能力。可当机器可以在几分钟内完成同样的事情以后,这些投入并不会凭空消失,原有的意义却难免发生变化。
也许未来真正重要的,不再是一个人能够独立完成多少事情,而是他能否提出值得解决的问题,能否判断 Agent 给出的结果是否可靠,又能否在模型失效时理解问题究竟出在哪里。
这听起来像是一句正确但没什么用的废话。毕竟“提出好问题”和“拥有判断力”都不是短时间内能够量化的能力,也不会像比赛排名那样,立刻给人带来明确的正反馈。
但现实似乎正在向这个方向发展。
回过头看,这半年也不能说真的什么都没做:用 Codex 迁移了 riddle、用 Codex 协作开发了syscage、用 Codex 完善了JNU-EXAM-Downloader,最近也在用 Agent 辅助开发 Minecraft 服务器。更多时候,我只是处在一种方向发生变化后的停顿中:旧的目标逐渐失去吸引力,新的目标却还没有完全出现。于是既没有继续向前,也没有彻底离开,只是在一旁看着 Agent 更新了一版又一版,看着过去熟悉的东西一点点改变。
写下这些,并不是因为我已经想明白了什么。恰恰相反,是因为还有许多事情没有想明白。
至于接下来要做什么,是继续研究安全,转向 Agent 开发,还是寻找另一个完全不同的方向,现在都还说不准。或许过一段时间再回头看,今天纠结的问题早已有了答案;也可能到那时,AI又发展到了一个完全不同的阶段,让现在的讨论显得有些可笑。