安全检测agent开发笔记(1)

admin 2026-05-04 04:47:08 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文是一篇关于安全检测agent开发的技术笔记,作者分享了从白盒到黑盒检测的实践思路。核心内容包括:1.介绍了使用openai-agents-python库进行智能代理开发的核心概念;2.描述了如何通过技能(skills)赋予代理http请求、控制Chrome浏览器及Ubuntu系统等能力以实现资产收集;3.详细阐述了黑盒检测的多agent协作模式,涵盖目标获取、漏洞检测、结果验证与流程监控四个环节,并强调了无害化、低请求等测试原则;4.探讨了实践中遇到的挑战,如动态网页处理复杂、大文件分析成本高以及token消耗巨大等问题。 综合评分: 85 文章分类: 安全工具,安全建设,ai安全,代码审计,渗透测试


cover_image

安全检测agent开发笔记(1)

原创

鬼麦子 鬼麦子

鬼麦子

2026年5月3日 07:48 陕西

在小说阅读器读本章

去阅读

openai-agents-python这个py库挺不错,几乎支持所有模型,反正openai api格式都可以,本身他是openai agents sdk的Python版。

https://github.com/openai/openai-agents-python

核心概念:

1. Agents

智能代理:经由指令、工具、安全防护规则与任务交接机制配置而成的大语言模型实体

2. Sandbox Agents

沙箱代理:预先配置容器运行环境,可长期稳定执行任务的专用智能代理

3. Agents as tools / Handoffs

代理工具化 / 任务交接:将特定专项任务委派交由其他代理执行处理

4. Tools

功能工具:可供代理执行行为操作的各类工具,包含函数、MCP、托管工具

5. Guardrails

安全护栏:可自主配置的安全校验机制,用以完成输入与输出的合规验证

6. Human in the loop

人在回路:代理运行流程中内置的人工介入与审核机制

7. Sessions

会话系统:可在代理多次运行之间自动统一管理对话历史

8. Tracing

运行追踪:内置代理运行全程溯源功能,支持对工作流进行查看、调试与优化

9. Realtime Agents

实时智能代理:依托gpt-realti

基本上该有的功能都有了,官方文档:

https://openai.github.io/openai-agents-python/

当然vibe coding了,肯定不能自己写代码,所以参考文档这些都是给ai看的,具体操作的也是ai,人类是个指挥者,指挥者肯定要理解自己指挥的到底是什么,方便调度与问题排查。

好了,话归正题,最近的目标是agent漏洞挖掘智能体,我那个发财facai工具基本上把资产收集这件事做完了。

https://github.com/guimaizi/facai

所以下来就是agent赋能,我是从白盒检测开始的,相对简单些。

这也不算白盒吧,但例子很简单,也很直观,毫无技术难度,纯vibe coding造ai,首先让ai做了个skill,用于http请求响应,然后开启这个功能,就可以做到,让检测某个url就可以检测那个url,等于就是给模型连上网。

简单至极,但是这种上网方式只是静态,http请求的,对动态网页的支持不是很友好,搜了很多控制浏览器的skill和mcp,选择了Chrome DevTools MCP,这个相对于其他更官方一些,属于Chrome的亲儿子。

https://github.com/ChromeDevTools/chrome-devtools-mcp

具体就是控制Chrome浏览器,它居然还是通过截图来分析页面内容的,很废token。

然后又觉得,既然说可以http请求响应了,可以控制浏览器了,我为什么不直接控制电脑呢,然后就做了个控制ubuntu的skill,反正我ubuntu虚拟机,随它怎么用,所以在描述那块就声明了,不限制任何命令,也把常用工具curl nmap nc sqlmap web环境 数据库操作都交给了它。

但还是有问题,你不让他执行他是不会动的,所以需要编排下,并且实现多agent协作。Harness 概念,这个思路是挺不错的,就是一个目标-执行-结果,这个过程的设计,包括提供这个过程中需要的工具、需要的数据,反正一股脑都提供完全,之后全交给ai执行,理论上是这样。

但实践中,不清晰的目的,不好明确验证的结果,执行中的偏差,都会影响最终结果,果然设计要比执行难,还在摸索中。

黑盒检测理论概念:

多agent,一个从爬虫数据库中获取目标,一个对目标进行安全漏洞检测 ,一个如果存在漏洞,验证检测结果,一个监测三个agent运行状态,安全测试遵循无害化、不打扰、不触发waf,少量请求包的基础检测。

  1. 获取待处理数据,目标数据

mongodb数据库,里面分为浏览器可渲染的url、不可渲染的api请求、有价值如js这种资源文件,三类目标资产。

  1. 漏洞检测

漏洞检测必须无害化、不打扰、不触发waf、低请求数进行漏检测。

对相关目标信息进行功能、业务、系统识别,对之后漏洞检测提供测试方向。

对可渲染的url进行浏览器动态检测

对不可渲染的api进行,后端漏洞检测

对js文件进行代码安全审计

统一结果后,综合安全风险,对高价值功能再进行漏洞检测。

  1. 漏洞验证

对已有漏洞结果进行验证,过滤无意义无价值报告,如有必要,可通过ubuntu虚拟机web环境进行漏洞验证,确认漏洞真实性。

  1. 监视者模式

对整个工作流程进行监视、记录、纠错,防止执行偏离目标,流程卡主。

几乎这一切的设计都是vibe coding,自己只用提供方向与思路。

遇到的问题,

1.网页过大,前端功能复杂,哪怕是谷歌亲儿子,Chrome mcp在处理网页动态问题时也不是很方便,所以在动态交互这块,几乎还是很难完全交给模型。

 2.单个js文件过大,很难静态分析,尤其强混淆的js,模型也很无力。

总的来说就是,目前完全通过模型去处理网页,这件事的token成本太高,并不是完全没法实现,只是成本过高。

api接口相对好点,只要返回包不过大,都可以正常发挥模型能力。

测试模型为本地qwen3.6 35b a3b,线上doubao pro模型,一个动态网页十万token,线上真用不起,这也是最重要的一点,不可能为了500块的漏洞,烧1000块的token。

白盒一个项目的代码加起来顶多几十m,都是大型项目了,而且有明确的目录结构,但黑盒目前解决不了的,其实还是在Chrome动态爬虫这件事,理解一个页面就已经很贵了,更何况理解整个站点。

未完待续…


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:鬼麦子 鬼麦子 鬼麦子《安全检测agent开发笔记(1)》

评论:0   参与:  0