概述
AI(包括LLM)对各行各业的改变,远比诸位(包括鄙人)来得要深远。
关于测试,之前写过很多篇:
- 软件测试综述
- 性能测试入门及JMH、JMeter、Gatling、ab、Siege、Wrk、Locust
- 单元测试理论储备及JUnit5实战
- 基准测试理论全面介绍:IOmeter、Stream、Whetstone、Dhrystone
- 基准测试工具JMH
- 《Google软件测试之道》笔记
本文汇总整理一些AI测试工具。
开源
Strix
官网,开源(GitHub,13.3K Star,1.2K Fork)渗透测试代理工具。
识别和验证各种安全漏洞:
- 访问控制缺陷:IDOR、权限提升、身份验证绕过
- 注入攻击:SQL注入、NoSQL注入、命令注入
- 服务端漏洞:SSRF、XXE、反序列化缺陷
- 客户端问题:XSS、原型污染、基于DOM的漏洞
- 业务逻辑缺陷:竞态条件、工作流操纵
- 基础设施配置错误:暴露的服务、不安全配置
基于多Agent架构运行,协调专门的Agent执行全面的安全评估:
- 围绕BaseAgent类构建,为所有安全测试Agent提供基础;
- 每个Agent通过AgentState类维护自身状态,跟踪执行进度、消息、操作和观察结果;
- 以迭代循环方式运行:分析当前状态和上下文、使用LLM推理规划下一步操作、执行工具并收集观察结果、更新状态并继续直至达成目标。
通过LLM类strix/llm/llm.py集成多个LLM提供商,支持OpenAI等提供商的模型,实现:
- 对话管理:维护消息历史,通过缓存优化提高成本效率
- 工具调用:支持函数调用功能实现Agent操作
- 使用跟踪:监控所有Agent的Token使用和成本
- 错误处理:强大的错误恢复和重试机制
架构设计原则
- 基于Agent的安全测试:部署自主Agent模拟真实黑客行为,通过实际概念验证动态执行代码和验证漏洞,而非理论分析;
- 沙箱执行环境:所有Agent活动在隔离的Docker容器中运行,确保潜在恶意代码的安全执行,不影响宿主系统或目标应用程序;
- LLM 驱动的智能:平台利用LLM进行推理、规划和决策,使Agent能够根据发现的漏洞和目标特性调整策略。

针对特定漏洞的模块代表安全测试技术的全面知识库,按漏洞类别组织。使用基于Jinja2的专门提示词模板,指导Agents进行系统性安全评估,确保全面覆盖攻击面,并在不同漏洞类型间保持一致的方法论。每个模块遵循标准化格式,包含关键评估点、方法论、检测技术和验证标准:
- SQL注入:
sql_injection.jinja,高级SQLi技术,包括解析器差异、ORM边缘和盲提取方法 - 跨站脚本:XSS,
xss.jinja,跨HTML、JS、CSS和框架特定接收点的多上下文XSS测试 - 远程代码执行:RCE,
rce.jinja,命令注入、模板注入、反序列化和媒体管道利用 - 服务端请求伪造:SSRF,
ssrf.jinja,云元数据定位、内部服务发现和协议滥用 - 路径遍历/LFI/RFI:
path_traversal_lfi_rfi.jinja,文件系统访问、包含漏洞和归档提取攻击 - 不安全直接对象引用:IDOR,
idor.jinja,跨API、GraphQL和微服务的授权绕过测试 - 身份验证和JWT/OIDC:
authentication_jwt.jinja,令牌操作、密钥混淆和OAuth流程利用 - 跨站请求伪造:CSRF,
csrf.jinja,跨cookies、令牌和传输机制的状态更改利用 - 失效的功能级授权:
broken_function_level_authorization.jinja - 业务逻辑缺陷:
business_logic.jinja - 不安全的文件上传:
insecure_file_uploads.jinja - 批量赋值:
mass_assignment.jinja - 竞态条件:
race_conditions.jinja - XXE注入:
xxe.jinja
每个模块以专家指导结尾,提炼为可操作的提示:
- 优先使用静默判据(OAST)而非嘈杂的时间攻击
- 专注于高价值目标和业务影响
- 跨多个传输和上下文测试
- 通过负面测试验证防御
- 记录最小化、可重现的利用链
SikuliX
项目主页,使用Java+Python开发、基于图像识别(OpenCV库)、开源(GitHub,3.1K Star,391 Fork)跨平台GUI测试工具,通过屏幕截图与GUI交互,支持自动化测试。GitHub最近提交维护不活跃,上一次Release还是21年3月3日。
特点:
- 图像识别:通过屏幕截图与GUI交互,支持复杂场景的自动化操作;
- 跨平台支持:兼容多种操作系统;
- 自动化测试:简化GUI测试流程,提高效率,减少手动操作;
- 脚本支持:支持多种脚本语言,便于开发者定制测试。
Schemathesis
基于Python、专为API测试设计、开源(GitHub,2.9K Star,192 Fork)工具,支持OpenAPI和GraphQL,根据API文档自动生成测试用例、发现潜在问题,确保系统的稳定性和可靠性。
安装:pip install schemathesis
Python SDK集成:
py
import schemathesis
schema = schemathesis.openapi.from_url("https://your-api.com/openapi.json")
@schema.parametrize()
def test_api(case):
# Tests with random data, edge cases, and invalid inputs
case.call_and_validate()
# Stateful testing: Tests workflows like: create user -> get user -> delete user
APIWorkflow = schema.as_state_machine()
# Creates a test class for pytest/unittest
TestAPI = APIWorkflow.TestCase
CodeXGLUE
论文,微软开源(GitHub,1.8K Star,390 Fork)、专注于代码相关任务的AI测试工具和基准套件,为开发者和研究人员提供一个基准测试平台,用于评估模型在代码生成、翻译和缺陷检测等任务上的性能。
特点:
- 模型提交:允许开发人员和研究人员通过排行榜提交模型进行公共评估;
- 标准化基准:支持代码搜索、完成和翻译等任务,以实现更智能的软件工具;
- 挑战覆盖:包括文本到代码生成、文档翻译、代码摘要、克隆检测和缺陷识别。
PITest
官网,一个SOTA的开源(GitHub,1.8K Star,365 Fork)变异测试系统,专为Java应用程序设计。利用AI驱动的启发式方法,通过引入代码变异来识别测试套件的弱点,提供详细测试报告,帮助开发者优化测试覆盖率。
特点:
- 变异测试:引入代码变异以识别测试套件的弱点;
- 详细报告:提供结合变异和行覆盖的清晰报告;
- 构建工具:支持Maven和Gradle;
- 可扩展性:支持扩展和插件以实现其他语言和定制。
Atheris
Google开源(GitHub,1.5K Star,118 Fork)专为Python应用程序设计的覆盖引导模糊测试引擎,利用智能变异策略探索代码路径,帮助开发者发现潜在问题。目标是通过动态调整测试输入,提高测试覆盖率。
特点:
- AI增强模糊测试:使用智能变异策略探索代码路径,发现隐藏的边界情况;
- 覆盖引导测试:根据执行路径动态调整测试输入,优化测试效率;
- 语言支持:支持C/C++扩展和纯Python,适用于多种开发场景;
- 谷歌支持:由谷歌开发和维护,确保工具的稳健性和长期更新;
- 高效调试:提供详细的测试报告,帮助开发者快速定位问题。
DeepExploit
一款利用深度强化学习自动执行渗透测试的工具。该工具旨在通过使用机器学习技术,更高效、精准地利用目标服务器上的漏洞。由Isao Takaesu开发并开源;其他版本:https://github.com/TheDreamPort/deep_exploit
特点:
- 全自动渗透测试工具:与Metasploit框架连接,实现自动化渗透测试,包括信息收集、漏洞分析、利用和后渗透等环节;
- 强化学习:采用深度强化学习模型,能够自主学习如何进行漏洞利用,无需人工准备训练数据。通过学习,该工具可以最小化尝试次数,更精准地执行攻击;
- 深度渗透:一旦成功入侵外围网络中的目标服务器,能够通过该受感染的服务器进一步对内部网络中的其他服务器进行攻击,实现深度渗透;
- 高效信息收集:采用多种方法来收集目标服务器上运行的软件信息,包括端口扫描、机器学习分析网络爬虫收集的HTTP响应,以及内容探索等。
此外,https://deepexploit.com网站也已上线,纯静态页面,功能待发布;使用DeepExploit名称,原始开源工具的官方网站。
RPA Framework
官网,专为机器人流程自动化(Robotic Process Automation,RPA)设计的开源(GitHub,1.4K Star,256 Fork)工具库,通过与DevOps管道集成,实现持续测试,利用AI分析功能检测问题。
特点:
- CI/CD集成:与DevOps管道连接以进行持续测试;
- AI分析:通过数据验证比较预期和实际结果以检测问题;
- 异常识别:识别测试执行期间的意外行为;
- 回归测试:检测更新后的意外变化和故障。
EvoMaster
论文,开源(GitHub,643 Star,100 Fork)工具,专注于自动生成企业和Web应用程序的系统级测试用例。支持多语言输出,并通过白盒和黑盒测试技术提高测试覆盖率。目标是简化测试流程,提升测试效率。
特点:
- SQL支持:处理数据库分析的身份验证和SQL;
- API安全测试:促进使用身份验证机制的测试;
- CI/CD集成:作为GitHub Action和Docker容器提供;
- 多语言输出:生成JS、Kotlin、JUnit和Python的测试用例;
- 测试技术:使用字节码分析进行JVM基础API的白盒和黑盒测试。
Stoat
专注于Android应用测试的开源(GitHub,153 Star,40 Fork)工具。通过随机建模生成测试用例,帮助开发者识别Android App潜在问题。目标是提高测试覆盖率,减少手动测试复杂性,并确保应用的稳定性和可靠性。作者主页。
Botium Core
产品官网,专为对话AI系统设计的开源(GitHub,249 Star,68 Fork)测试工具。支持多种测试定义格式,并与主流对话AI平台兼容。目标是通过自动化测试提高对话系统的可靠性和用户体验。
特点:
- 领域特定语言:定义聊天机器人测试用例,指定对话流程;
- 灵活格式:支持纯文本、Excel、CSV、JSON和YAML的测试定义;
- 广泛兼容性:与超过55个对话AI和NLP平台兼容。
- CI/CD集成:支持在开发管道中进行自动化测试。
AI Testing Agent
专为软件测试设计的开源(GitHub,32 Star,15 Fork)AI代理。它通过与大型语言模型交互,自动生成API测试计划和Python测试代码,并根据用户反馈进行改进。该工具支持测试计划创建、脚本生成和测试执行,帮助开发者快速发现问题并优化测试流程。
特点:
- 测试计划:使用AI生成全面的API测试计划;
- 脚本生成:根据测试计划创建
pytest脚本; - 测试执行:运行生成的测试并报告结果;
- 迭代反馈:允许用户反馈以改进测试套件;
- 定制支持:支持API端点和提示的定制测试。
此项目甚是简陋,几个Py脚本构成。类似项目:https://github.com/KhalilMrini/Agent-Testing-Agent,对应[论文](https://arxiv.org/abs/2508.17393)
DeepPerf
论文,一个专为性能测试和瓶颈分析设计的开源(GitHub)AI工具,利用DL技术预测系统性能,并通过参数优化提高测试效率。目标是帮助开发者在部署前评估系统性能,减少潜在风险。
特点:
- 性能预测:使用DL预测在各种配置下的性能,提供高精度的性能评估;
- 参数优化:通过早期调整神经网络参数提高准确性,减少测试时间;
- 部署前评估:根据配置更改评估系统性能,确保系统稳定性;
- 样本效率:以最少的样本预测行为,减少详尽测试和成本,提高测试效率;
- 多场景支持:适用于多种性能测试场景,包括高并发和大数据处理。
DeepAPI
论文,开源(GitHub,56 Star,20 Fork)AI测试工具,提供Theano和PyTorch两个版本。专注于提高API可靠性、性能和安全性,并通过异常检测功能帮助开发者快速发现问题。项目主页没啥有价值信息。
特点:
- 异常检测:使用ML算法实时监控API性能;
- API支持:包括REST和GraphQL API;
- 可视化:提供清晰的异常展示以便于响应;
- 可定制策略:允许根据用户需求定制测试生成和算法。
闭源
ReTest
官网,专为Java设计的自动化GUI回归测试工具,结合ML和进化计算技术,优化测试覆盖率并生成类似人类行为的测试场景。
特点:
- 输入生成:结合随机输入和差异测试以发现意外的GUI行为;
- 黄金主测试:检测软件版本之间的功能和视觉变化;
- 测试优化:使用遗传算法最大化代码覆盖率;
- 动作优先级:使用神经网络优先考虑GUI动作,模拟人类行为;
- 测试自动化:自动生成稳健、可维护的测试。
TestDirector
简称TD,软件测试工具提供商Mercury Interactive公司生产的企业级测试管理工具,也是业界第一个基于Web的测试管理系统,提供并集成测试需求管理、测试计划、用例管理、测试日程控制、测试执行、缺陷跟踪等功能,常用于BUG跟踪管理工具。