文章总结: 本文介绍基于OpenAIAgentsPython库开发安全检测智能体的实践,涵盖白盒与黑盒漏洞检测方案。核心涉及Agents架构、沙箱代理、多工具协作(HTTP请求、Chrome控制、Ubuntu命令执行)及Harness任务编排设计。作者指出动态网页处理存在token成本高、复杂JS解析困难等挑战,建议优先处理API接口检测以控制成本。 综合评分: 76 文章分类: 安全工具,WEB安全,漏洞分析,安全开发,红队
安全检测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,少量请求包的基础检测。
- 获取待处理数据,目标数据
mongodb数据库,里面分为浏览器可渲染的url、不可渲染的api请求、有价值如js这种资源文件,三类目标资产。
- 漏洞检测
漏洞检测必须无害化、不打扰、不触发waf、低请求数进行漏检测。
对相关目标信息进行功能、业务、系统识别,对之后漏洞检测提供测试方向。
对可渲染的url进行浏览器动态检测
对不可渲染的api进行,后端漏洞检测
对js文件进行代码安全审计
统一结果后,综合安全风险,对高价值功能再进行漏洞检测。
- 漏洞验证
对已有漏洞结果进行验证,过滤无意义无价值报告,如有必要,可通过ubuntu虚拟机web环境进行漏洞验证,确认漏洞真实性。
- 监视者模式
对整个工作流程进行监视、记录、纠错,防止执行偏离目标,流程卡主。
几乎这一切的设计都是vibe coding,自己只用提供方向与思路。
遇到的问题,
1.网页过大,前端功能复杂,哪怕是谷歌亲儿子,Chrome mcp在处理网页动态问题时也不是很方便,所以在动态交互这块,几乎还是很难完全交给模型。
2.单个js文件过大,很难静态分析,尤其强混淆的js,模型也很无力。
总的来说就是,目前完全通过模型去处理网页,这件事的token成本太高,并不是完全没法实现,只是成本过高。
api接口相对好点,只要返回包不过大,都可以正常发挥模型能力。
测试模型为本地qwen3.6 35b a3b,线上doubao pro模型,一个动态网页十万token,线上真用不起,这也是最重要的一点,不可能为了500块的漏洞,烧1000块的token。
白盒一个项目的代码加起来顶多几十m,都是大型项目了,而且有明确的目录结构,但黑盒目前解决不了的,其实还是在Chrome动态爬虫这件事,理解一个页面就已经很贵了,更何况理解整个站点。
未完待续…
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:鬼麦子 鬼麦子 鬼麦子《安全检测agent开发笔记(1)》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论