虫群Agent代码审计
原创 huoji 2026-09-13 17:09 北京

虫群Agent代码审计
简短的来说,我不太喜欢现在开源的大部分的”代码审计”系统的复杂性和花里胡哨的UI.因此我开发了这套代码审计agent系统并且用于测评我的QWEN-EXO项目
它具有以下特点
完美适配QWEN-EXO,支持高速高效离离线部署,你只需要两台DGX就行.
agent跟团队一样在研究问题,模型之间会互相配合,他们会像一支专业团队一样,在内部地下论坛进行交流,记笔记,分工合作,分享成果,一起挖漏洞.
不依赖第三方库,编译即可用,高效简洁,我非常讨厌乱七八糟的WEBUI以及花里胡哨的东西,简洁才好用.
超大型项目实战,已经过大型项目测试,本项目为超大型项目审计而生.
相关截图


支持模型
我是自己用于本地离线代码审计的,建议使用QWENEXO作为本地推理架构,并且使用QWWEN-27B系列模型.
如果没条件,推荐使用deepseek-flash,不虚mythos.
技术介绍
多阶段分工合作,避免上下文污染
此agent使用多阶段分工合作,覆盖侦察->研究->利用阶段(公开版不带利用阶段),用于解决上下文污染的问题,具体参考问题:
《[2026]从模型注意力角度创建一个简单但高效的Agent》
https://key08.com/index.php/2026/08/10/3275.html
你的agent跟团队一样在研究问题
在测试QWEN-EXO代码审计的研究中,注意到agent数量和任务完成率成正比

而这个居然是遵循《Scaling Law》的

因此我开发了一个多agent协作系统.负责模型之间的互相配合,他们会像你的团队一样,在内部地下论坛进行交流,记笔记,分工合作,一起解决你的问题

他们会独自分工,讨论问题,研究漏洞是否存在:

高效缓存,极致性价比
不做乱七八糟的提示词注入等破坏性的东西,缓存基本在97%-99%左右

deepseek懒惰修复
在做这个项目中,我测试了deepseek,发现deepseek-v4.1-flash模型的上下文一旦长了就开始懒惰起来,会尽可能的想办法结束任务.因此我设计了一个投票结束系统,只有在所有agent都同意结束任务的情况下才能结束任务,否则agent会不工作.
有意思的是,deepseek的agent一个完成后,想投票关闭被拒绝后,会疯狂的骚扰其他的agent让他们结束自己的工作。因此对这块提示词做了优化,禁止一个agent去骚扰其他人,自己找活干。即便是重复的工作
普通(有限)模式下,关闭请求待定、被拒绝或超时后,每个 Agent 应继续自己的审计工作:自行选择其他未覆盖的文件、入口或模块,建立具体待办并读取源码、追踪新链路。不催其他成员投票,不反复请求关闭,也不靠重复复核同伴已有结论消磨时间。
无限猴子模式
无限模式下,审计模型没有 end_audit 结束工具,也不能投票收工。侦察完成后仍正常交接到审计;审计继续运行,直到用户暂停,或时间/token 任一预算耗尽。推荐在deepseek使用因为deepseek非常懒惰特别喜欢结束.导致大型项目没审计完就结束。
怎么开启
在你实际使用的配置文件(例如 config.yaml 或 config_ds.yaml)的 agent: 下加入:
agent:
infinite_mode: true
budget_hours: 8
budget_minutes: 0
budget_tokens: 0时间默认 8小时,token 默认不限;时间是
budget_hours + budget_minutes。- OR 关系
:时间到,或者累计 token 达到上限,任一发生就停止整个团队。
小时和分钟都为
0表示时间不限;budget_tokens: 0表示 token 不限。三项都为0才是不设预算上限。infinite_mode: false是普通模式,仍使用团队共识结束;这几个预算上限不生效。
指定配置和目录启动:
.\code-review-agent.exe -config config.yaml -dir "F:\待审计项目"也可以启动程序后输入目录。无限模式会先弹出预算输入框,默认内容为:
infinite 8 0 0四项依次是 模式、小时、分钟、token。编辑后按 Ctrl+S 确认并开始,Esc 取消,不会启动。
输入 | 含义 |
|---|---|
infinite 8 0 0 | 最多8小时,token不限 |
infinite 2 30 10000000 | 最多2小时30分钟或1000万token,先到即停 |
infinite 0 0 10000000 | 时间不限,最多1000万token |
infinite 0 0 0 | 时间、token均不限,手动停止 |
normal 8 0 0 | 切回普通共识结束模式,预算不生效 |
停止状态下输入 /budget 可切换模式、调整预算;配置文件负责启动默认值,界面修改保存在会话中,不回写 YAML。运行中在对话框外连续按两次 Esc 确认暂停,等待成员完全停止后输入 go 继续。
项目地址
https://github.com/huoji120/code_review_agent/tree/master