做了几年白帽,在补天公益 SRC(党政机关、事业单位、教育卫生这类授权靶)挖过不少真实漏洞之后,我越来越清楚地意识到一件事:一个人再能挖,也挖不过 AI 写代码的速度。
于是我干了一件"不务正业"的事——不再只盯着提交漏洞,而是把挖洞的经验,沉淀成了一个本地安全自查工具。这篇不讲具体漏洞怎么打,讲它从哪来、为什么活该被造出来。
一、我亲手撞见过的"自杀式写法"
先说几个我真实碰到、且至今还在大量 AI 生成代码里重演的坑:
-
某高校实验室平台,登录验证码绕过(中危):后端压根没强制校验 captcha,等于登录口敞着,攻击者全自动就能过;
-
某企业官网,验证码绕过 + 无频控撞库(中危):服务端把滑块答案和下发校验值直接回显前端,登录又没有锁定/限速,等于把"试密码"的门槛拆了;
-
还有数不清的:硬编码密钥、命令拼接、SQL 拼接、随手
eval、关掉 TLS 校验、不安全反序列化……
这些不是教科书例题,是真实系统、真实数据边界上的真漏洞。每修一个,背后都是厂商一次惊出冷汗。
二、挖多了,就看出规律了
绝大多数能拿下的漏洞,本质都是同一批**"高频危险写法"。而 2026 年 Vibe Coding 爆发之后,这批写法被 AI 以工业化速度**复制到无数新项目里:
-
AI 只管把功能跑通,不管安全;
-
用 AI 的人(尤其新手)又看不出来哪里危险;
-
我一个人再能挖,也挖不过 AI 的产能。
唯一的出路,不是再多挖几个洞,而是把白帽的经验沉淀成工具,让每个写代码的人,写完自己就能查一遍。
三、为什么不靠现成的商业 SAST
不是没想过直接用别人的。但现实很骨感:
-
商业 SAST(Checkmarx / Veracode)年费 $40K–200K,个人和小团队根本用不起;
-
开源 Semgrep 很强,但小团队才免费,而且规则分拣是黑盒 AI,你不知道它为什么报;
-
最要命的:国内"代码不出域"是硬刚需——很多公司、政务、军工项目,源代码绝对不能上传到第三方 SaaS。
这三点加起来,留下一块真空:个人开源、轻量、中文人话解读、本地零外联、数据不出域。我的工具就填这儿。
四、把白帽经验变成规则集
工具里的每一类规则,都不是拍脑袋列的,每一条都对应我实战里反复撞见的危险模式:
-
hardcoded-secret(硬编码密钥) -
os-system(命令注入) -
sql-concat(SQL 注入) -
eval-usage(执行任意代码) -
pickle-loads(反序列化 RCE) -
weak-hash(弱哈希) -
path-traversal(路径穿越) -
flask-debug(调试模式暴露) -
……
它们就是我在靶场上见过的"自杀式写法"清单。工具不代替人挖洞,但它能把已知雷区先标出来,让新手和 AI 少踩——这恰恰是白帽的初心:挖漏洞不是为了炫技或搞破坏,是为了让公司止损、让后来者少交学费。
五、写在最后
从"一个人挖",到"让所有人自己查",是我做这个工具想迈出的一步。它防守向、本地零外联、数据不出域。
我始终觉得,白帽真正的杠杆不在某一个漏洞,而在把踩过的坑变成别人用得上的护栏。你写完一段 AI 帮写的代码,顺手扫一遍,可能就少一个明天上热搜的数据泄露。
关注追更,这个工具的进展我会在主页同步;觉得有用,也欢迎在评论区聊聊你踩过的安全坑。
本文用到的「凝语言」成绩分级器 Demo 已开源在 Gitee:gitee.com/waWAwlou/ni… ;文中提到的本地安全自查工具 codeshield 也开源在 gitee.com/waWAwlou/co… ,欢迎 Star / 提 Issue。觉得有用,也欢迎在评论区聊聊你踩过的安全坑。