chat.md•3.94 kB
OctoMation SOAR产品的API是基于RESTful设计,提供了丰富的接口用于剧本(playbook)和动作(action)的管理与执行,事件的创建与更新,以及执行结果的获取,方便第三方系统或大型语言模型(LLM)调用实现自动化安全响应。
主要应用场景包括:
- 查询所有可用的剧本和动作,接口支持分页和筛选,便于集成系统按需调用相关自动化内容。
- 获取单个剧本执行时需要的参数,实现参数动态传入和灵活执行剧本。
- 执行单个剧本或动作,接口支持异步调用,并可查询执行状态,保证流程自动化的连续性和可控性。
- 创建安全事件,支持事件成员和负责人管理,满足协同响应的实际需求。
- 查询事件详情和节点执行结果,便于对自动化流程进行后续分析和优化。
通过这些API,基于OctoMation的MCP Server产品可方便地在其他工具里被LLM直接调用,以驱动复杂的SOAR自动化任务和安全事件响应,实现智能化安全运营管理。
以上理解来自OctoMation官方API文档的详细接口说明和响应格式,涵盖了调用API执行动作、执行剧本、获取结果、事件操作等核心功能.[1]
[1](https://github.com/flagify-com/OctoMation/wiki/Octomation%E5%BC%80%E6%94%BE%E6%8E%A5%E5%8F%A3)
设计基于OctoMation SOAR的MCP Server工具时,动作的设计需要兼顾功能完整性、调用便捷性和自动化的可扩展性。下面是对动作设计的建议,包括动作命名、输入输出格式的规划:
## 设计考虑原则
- 动作命名需清晰表达功能,且便于调用方理解和使用
- 输入输出采用结构化JSON格式,便于跨系统数据交互和集成
- 动作要覆盖核心流程:剧本管理、动作执行、事件管理、结果查询
- 支持必要的分页、过滤、状态查询参数提高调用灵活性
- 充分利用OctoMation接口能力,实现异步执行和回调查询
## 建议设计的主要动作及命名示例
|动作名称|功能说明|输入格式|输出格式|
|-|-|-|-|
|listPlaybooks|查询可用剧本列表|{ \"page\": int, \"size\": int, \"publishStatus\": string }|{ \"total\": int, \"playbooks\": [ {id, name, description, status}, ... ] }|
|getPlaybookParams|获取指定剧本的执行参数|{ \"playbookId\": string }|{ \"params\": [ {name, type, required, description}, ... ] }|
|executePlaybook|执行指定剧本|{ \"playbookId\": string, \"params\": { key: value, ... } }|{ \"executionId\": string, \"status\": string }|
|getExecutionStatus|查询剧本或动作执行状态|{ \"executionId\": string }|{ \"status\": string, \"details\": object }|
|createEvent|创建安全事件|{ \"eventType\": string, \"title\": string, \"description\": string, \"severity\": string, \"customFields\": object }|{ \"eventId\": string, \"status\": string }|
|updateEventStatus|更新事件状态|{ \"eventId\": string, \"status\": string }|{ \"result\": string }|
|getEventDetails|获取事件详情|{ \"eventId\": string }|{ \"event\": object }|
|listActions|查询动作列表|{ \"page\": int, \"size\": int }|{ \"total\": int, \"actions\": [ {id, name, description}, ... ] }|
|executeAction|执行指定动作|{ \"actionId\": string, \"params\": { key: value, ... } }|{ \"executionId\": string, \"status\": string }|
|getExecutionResult|获取执行结果|{ \"executionId\": string }|{ \"result\": object }|
## 输入输出格式说明
- 输入输出均为JSON对象,方便API调用和数据解析
- 参数中包含必填字段和可选字段,调用前需完成参数验证
- 结果返回统一包含执行状态码和详细数据,方便调用方判断和后续处理
这种设计思路在MCP Server中,可以为上层工具或LLM模型调用提供简洁清晰的API接口,使得调用端能够高效地控制OctoMation的SOAR自动化流程,满足安全响应和事件处理的需求。