CyberStrikeAI 新增可在线测试的 API 文档
CyberStrikeAI 新增可在线测试 API 文档
最近有用户反馈说,能不能把 CyberStrikeAI 集成到自己的系统里,或者写个脚本批量跑测试。说实话,之前确实不太方便,虽然有 API,但没文档,得自己看代码猜接口。
现在好了,我做了个完整的 API 文档页面,还支持在线测试。访问 http://localhost:8080/api-docs 就能看到。
这个文档能干什么
简单说就是,所有功能都能通过 API 调用了。登录、创建对话、发送消息、管理漏洞、批量任务这些,都有对应的接口。
文档页面左边是接口列表,按功能分组,找起来挺方便。点开一个接口,能看到参数说明、类型、是不是必填,还有示例。最方便的是可以直接在页面上填参数测试,不用自己写 curl 或者写代码。
认证用的是 Bearer Token,登录后会自动带上,不用手动配置。文档遵循 OpenAPI 3.0 标准,如果习惯用 Swagger 或者 Postman,也可以把文档导入进去用。
实际用起来怎么样
写脚本自动化测试最常见,比如这样:
import requests
# 登录拿 token
r = requests.post('http://localhost:8080/api/auth/login',
json={'password':'your_password'})
token = r.json()['token']
headers ={'Authorization':f'Bearer {token}'}
# 创建对话并发送消息
conv = requests.post('http://localhost:8080/api/conversations',
headers=headers, json={'title':'自动化测试'})
conv_id = conv.json()['id']
requests.post('http://localhost:8080/api/agent-loop',
headers=headers, json={
'conversationId': conv_id,
'message':'扫描 http://example.com 的SQL注入',
'role':'渗透测试'
})
或者集成到 CI/CD 里,每次部署自动跑个安全测试。批量扫描多个目标用批量任务 API,一次性处理多个目标。
接口都有哪些
主要分几大类:
认证:登录、登出、改密码。登录返回 Token,默认有效期 12 小时。
对话管理:创建对话、获取列表、查看详情、更新删除。所有测试都在对话里进行。
AI 交互:有两个接口,/api/agent-loop 非流式,/api/agent-stream 流式。发消息可以指定角色,不同角色用不同的提示词和工具集。
角色管理:获取角色、创建自定义角色、更新删除。角色配置是 YAML 格式,支持自定义提示词和工具限制。
漏洞管理:创建、查询、更新、删除漏洞。查询支持按严重程度、状态、对话 ID 过滤,还有统计接口。严重程度分五级:critical、high、medium、low、info。
批量任务:创建任务队列,往里加任务,统一执行。任务按顺序执行,每个任务创建独立对话。
工具监控:查看执行任务、任务详情、取消任务。
知识库:搜索知识库、管理知识项。知识库用向量搜索,AI 会自动检索相关知识。
MCP 协议:MCP 协议端点,支持外部工具集成。
具体接口列表文档里都有,每个接口都有详细的参数说明和示例。
一些注意事项
Token 有效期默认 12 小时,写脚本的话建议加个过期检测,过期了自动重新登录。API 返回的错误都有明确的错误码,401 是未授权,404 是资源不存在这些,写脚本的时候建议加上错误处理。
如果要做批量操作,注意控制并发,太多可能会把服务器压垮。
最后
现在有了文档和在线测试,应该比之前方便不少。如果有什么问题或者建议,GitHub 上提 issue 就行。项目地址:https://github.com/Ed1s0nZ/CyberStrikeAI
试试看吧。