CyberStrikeAI API接口全解析:开发自定义集成与扩展插件
CyberStrikeAI API接口全解析:开发自定义集成与扩展插件
CyberStrikeAI是一款基于Go语言构建的AI原生安全测试平台,集成了100多种安全工具、智能编排引擎、基于角色的测试功能、专业测试技能系统以及全面的生命周期管理能力。通过其强大的API接口,开发者可以轻松实现自定义集成与扩展插件,进一步提升安全测试效率。
API接口概览:核心功能与架构
CyberStrikeAI提供了一套完整的RESTful API接口,覆盖了从认证授权到漏洞管理、从对话交互到批量任务处理等各个方面。这些接口不仅支持基本的CRUD操作,还提供了高级功能如流式响应、批量任务管理和外部MCP集成。
CyberStrikeAI API架构示意图,展示了主要API模块及其交互关系
认证与授权:安全访问的基石
所有API接口均通过JWT(JSON Web Token)进行身份验证,确保只有授权用户能够访问系统资源。认证相关的核心接口包括:
- POST /api/auth/login:用户登录并获取认证Token
- POST /api/auth/logout:用户登出,使当前Token失效
- POST /api/auth/change-password:修改登录密码
- GET /api/auth/validate:验证当前Token是否有效
登录接口的请求示例:
{ "password": "your_secure_password" } 成功登录后,服务器将返回包含Token的响应:
{ "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", "expires_at": "2024-12-31T23:59:59Z", "session_duration_hr": 24 } 核心API接口详解
对话管理:安全测试的核心交互
对话管理API允许创建、查询、更新和删除安全测试对话,是与AI交互的主要方式。核心接口包括:
- POST /api/conversations:创建新对话
- GET /api/conversations:列出所有对话
- GET /api/conversations/{id}:获取对话详情
- PUT /api/conversations/{id}:更新对话标题
- DELETE /api/conversations/{id}:删除对话
创建对话的请求示例:
{ "title": "Web应用安全测试" } 智能交互:与AI安全测试助手对话
CyberStrikeAI提供了两种与AI助手交互的方式:非流式和流式响应接口,满足不同场景的需求。
- POST /api/agent-loop:发送消息并获取AI回复(非流式)
- POST /api/agent-loop/stream:发送消息并获取流式AI回复
使用流式接口的请求示例:
{ "message": "扫描 http://example.com 的SQL注入漏洞", "conversationId": "550e8400-e29b-41d4-a716-446655440000", "role": "渗透测试" } 流式响应将通过Server-Sent Events (SSE) 返回,事件类型包括:message、response、progress、done等,便于实时展示AI思考和测试过程。
批量任务处理:高效安全测试的关键
批量任务API允许创建和管理多个测试任务队列,大幅提升测试效率。核心接口包括:
- POST /api/batch-tasks:创建批量任务队列
- GET /api/batch-tasks:列出所有批量任务队列
- GET /api/batch-tasks/{queueId}:获取队列详情
- POST /api/batch-tasks/{queueId}/start:启动任务队列
- POST /api/batch-tasks/{queueId}/pause:暂停任务队列
创建批量任务队列的请求示例:
{ "title": "多目标扫描任务", "tasks": [ "扫描 http://example.com 的SQL注入漏洞", "对 192.168.1.1 进行端口扫描", "检测 https://target.com 的XSS漏洞" ], "role": "渗透测试" } 高级功能API:扩展与集成
漏洞管理:全面跟踪安全问题
漏洞管理API提供了漏洞的创建、查询、更新和删除功能,支持按严重程度、状态等多维度筛选。核心接口包括:
- GET /api/vulnerabilities:列出漏洞
- POST /api/vulnerabilities:创建漏洞
- GET /api/vulnerabilities/{id}:获取漏洞详情
- PUT /api/vulnerabilities/{id}:更新漏洞
- DELETE /api/vulnerabilities/{id}:删除漏洞
- GET /api/vulnerabilities/stats:获取漏洞统计
CyberStrikeAI漏洞管理界面,展示漏洞列表和详细信息
角色与技能管理:定制化安全测试能力
CyberStrikeAI支持基于角色的测试能力,通过API可以管理角色和技能,定制不同的测试策略。相关接口包括:
- GET /api/roles:列出所有角色
- POST /api/roles:创建新角色
- GET /api/roles/{name}:获取角色详情
- PUT /api/roles/{name}:更新角色
- GET /api/skills:列出所有技能
- POST /api/skills:创建新技能
角色配置示例:
{ "name": "Web应用扫描", "description": "专注于Web应用安全扫描的角色", "enabled": true, "systemPrompt": "你是一名专业的Web应用安全扫描专家...", "tools": ["nmap", "dirsearch", "sqlmap"], "skills": ["sql-injection-testing", "xss-testing"] } 外部MCP集成:扩展平台能力
通过外部MCP(Model Context Protocol)集成API,可以扩展CyberStrikeAI的功能,连接外部工具和服务。核心接口包括:
- GET /api/external-mcp:列出外部MCP配置
- PUT /api/external-mcp/{name}:添加或更新外部MCP
- POST /api/external-mcp/{name}/start:启动外部MCP
- POST /api/external-mcp/{name}/stop:停止外部MCP
配置外部MCP的示例(stdio模式):
{ "config": { "enabled": true, "command": "node", "args": ["/path/to/mcp-server.js"], "timeout": 30, "description": "Node.js MCP服务器" } } 知识库API:智能检索安全知识
CyberStrikeAI内置知识库功能,通过API可以管理知识项和执行智能检索,辅助安全测试决策。核心接口包括:
- GET /api/knowledge/categories:获取知识分类
- GET /api/knowledge/items:列出知识项
- POST /api/knowledge/search:搜索知识库
搜索知识库的请求示例:
{ "query": "SQL注入漏洞的检测方法", "riskType": "SQL注入", "topK": 5, "threshold": 0.7 } 实际应用示例:构建自定义安全测试工作流
下面是一个完整的安全测试工作流示例,展示如何使用多个API接口协同工作:
- 登录系统:调用
POST /api/auth/login获取Token - 创建对话:调用
POST /api/conversations创建新对话 - 发送测试指令:调用
POST /api/agent-loop/stream发送测试指令 - 获取测试结果:调用
GET /api/conversations/{id}/results获取完整结果 - 创建漏洞记录:调用
POST /api/vulnerabilities记录发现的漏洞
CyberStrikeAI安全测试工作流示意图,展示API接口在整个测试流程中的作用
插件开发指南:扩展平台功能
CyberStrikeAI的API设计为模块化和可扩展的,开发者可以通过以下方式扩展平台功能:
- 开发外部MCP插件:通过MCP协议开发自定义工具集成
- 创建自定义技能:添加新的安全测试技能
- 构建前端界面:利用API开发自定义用户界面
- 集成第三方服务:通过API将CyberStrikeAI与其他安全工具集成
插件开发的主要步骤包括:
- 定义插件功能和接口
- 实现MCP协议兼容的服务
- 通过
PUT /api/external-mcp/{name}注册插件 - 测试插件功能和集成效果
总结:释放CyberStrikeAI的全部潜力
CyberStrikeAI的API接口为安全测试自动化和平台扩展提供了强大的支持。通过本文介绍的API接口,开发者可以构建自定义集成、开发扩展插件,将CyberStrikeAI无缝集成到现有安全工作流中。无论是批量测试、漏洞管理还是智能知识检索,API接口都提供了灵活而强大的工具,帮助安全团队更高效地发现和修复安全漏洞。
要开始使用CyberStrikeAI API,只需克隆仓库并按照官方文档进行配置:
git clone https://gitcode.com/GitHub_Trending/cy/CyberStrikeAI cd CyberStrikeAI # 按照文档配置和启动服务 通过充分利用这些API接口,您可以将CyberStrikeAI的能力扩展到新的高度,构建更智能、更高效的安全测试解决方案。