工程实践:基于大模型的验证码识别与登录爆破自动化
打开一个后台管理系统,一般来说可能仅仅是一个登录框。用户名、密码、验证码——三个输入框,一个提交按钮。密码可以爆破,用户名可以枚举,但验证码这个东西,一直是渗透测试中一个绕不开的拦路虎。
打开一个后台管理系统,一般来说可能仅仅是一个登录框。用户名、密码、验证码——三个输入框,一个提交按钮。密码可以爆破,用户名可以枚举,但验证码这个东西,一直是渗透测试中一个绕不开的拦路虎。
Ghost Bits 是近期安全社区热度很高的 WAF 绕过技术,Blackhat 相关议题以及多个 CVE(如 CVE-2025-41242)都涉及到这一手法。在实际渗透测试中,Ghost Bits 编码本身不难——写几行脚本就能实现。但每次都是"打开编辑器 → 改代码 → 跑脚本 → 复制结果 → 粘贴到工具里",步骤一多就容易打断思路。为此我们写了一个 Yak Codec 插件,选中 payload 右键直接输出编码结果,省去来回切换窗口的麻烦。
过去如果想拓展 AI 的安全能力,通常有两种思路:
2026年,大模型能力被普遍认为进入了高原期:单纯依靠算力堆积的暴力美学,其边际收益已经大幅降低,同时高质量的人类训练语料也趋近枯竭。面对这一瓶颈,业界的焦点开始发生转移:大家普遍认为,单纯比拼模型的时代正在远去,比拼Harness Engineering(驾驭工程)的时代已经到来。这就好比制造汽车时,将其发动机的马力已经压榨到物理极限了,再想提升整辆车的性能,就不能只盯着发动机,而要把目光投向传动系统、方向盘等驾驭发动机的系统上。
随着 Memfit AI 新功能的扩展和相关机制的完善,我们已经可以将现有的 AI 功能扩展到我们的其他产品中,本文主要介绍目前我们在 IRify 工具的 AI 化扩展中做出的新尝试。
在上一篇文章中Memfit AI 专业记忆:Agent 动手之前,先翻了一遍你的知识库, 我们解决了 Agent 的“见识”问题。通过内置的知识库系统,Agent在执行攻击前,能够像资深专家一样先翻阅企业的私有测试和规范文件,确保自己的行动不脱离合规基线。
过去几个月,Yaklang 在 SSA、CodeScan、SyntaxFlow / SFVM、ANTLR / front-end 这几条线,做完了第二轮比较成体系的性能优化。
如果只看提交记录,会觉得这是一串零散的修复、重构和实验;但把这些工作放在一起看,会发现它们其实围绕的是同一个目标:
让 IRify 真正能够在大项目上更稳定地编译、更高效地扫描、更可控地执行规则,并且让后续第三轮、第四轮优化有清晰的落点。
我们在上一篇文章:Memfit AI: 连续渗透测试N小时不迷路的生产级AI Agent 中聊了 Memfit AI 如何像一个真人渗透测试工程师一样自主工作——规划任务、执行攻击、动态调整策略。跑了两个多小时,产出了 18 个漏洞发现和一份完整的渗透测试报告。
在前端加密、动态签名、一次性 challenge 这类场景里,单纯“会不会发包”其实不是重点。真正麻烦的是,测试链路里往往多出一段必须自动完成的前置或后置逻辑,例如:
01 发起真正业务请求之前,先去拿一段 challenge
02 把 challenge 解开,得到 nonce
03 用 nonce 计算签名,再把签名补到请求头里
04 请求成功之后,返回值本身还是密文,还要再解一遍
如果只是偶尔测试一次,这些动作手工做也不是不行。但一旦要开始反复调试、批量发包、联动 MITM 和 Web Fuzzer,这套流程如果没有一层统一能力接管,就会很快变得难用。
在这篇文章里,我们不去讨论太多架构层面的设计,而是直接拿 Vulinbox 里的一个动态挑战响应接口做演示,看看如何把这条链路真正挂到 Yak 的全局热加载中,让用户在 Web Fuzzer 和 MITM 里都能直接受益。
听起来是不是非常玄学?