虫群Agent代码审计

· 2026-09-13 17:09 · 0 阅读

原创 huoji 2026-09-13 17:09 北京

虫群Agent代码审计

简短的来说,我不太喜欢现在开源的大部分的”代码审计”系统的复杂性和花里胡哨的UI.因此我开发了这套代码审计agent系统并且用于测评我的QWEN-EXO项目

《qwen-exo - 让 Qwen 在长任务里真正记住知识、反思错误,并跑得足够快》
https://github.com/huoji120/QWEN-EXO-booster

它具有以下特点

  1. 完美适配QWEN-EXO,支持高速高效离离线部署,你只需要两台DGX就行.

  2. agent跟团队一样在研究问题,模型之间会互相配合,他们会像一支专业团队一样,在内部地下论坛进行交流,记笔记,分工合作,分享成果,一起挖漏洞.

  3. 不依赖第三方库,编译即可用,高效简洁,我非常讨厌乱七八糟的WEBUI以及花里胡哨的东西,简洁才好用.

  4. 超大型项目实战,已经过大型项目测试,本项目为超大型项目审计而生.

相关截图

支持模型

我是自己用于本地离线代码审计的,建议使用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

跳转微信打开