定制开发
定制开发用于说明如何根据自己的安全运营场景扩展 ASP。
当前开放给用户自定义开发的主要扩展点是告警接入、SIEM YAML、Module 和 Playbook。源码仓库中的 Custom Examples 还提供了一套可联动的示例资产,用于理解 Mock SIEM 日志、告警接入、SIEM YAML、Module 和 Playbook 如何配合。
适用读者
- 需要把新的 SIEM Rule 告警接入 ASP 的开发者。
- 需要为 Case 编排自动化调查、富化或处置动作的开发者。
- 需要为 Harness Agent 查询补充 SIEM 索引字段说明的开发者。
扩展点
| 扩展点 | 位置 | 用途 |
|---|---|---|
| 告警接入 | Webhook / ELK Index Action | 将 SIEM 告警写入 Redis Stream,作为 Module 的输入。 |
| SIEM YAML | custom\data\siem\*.yaml | 描述 Splunk / ELK 索引、字段和默认聚合字段,供 Harness Agent 查询使用。 |
| Module | custom\modules\*.py | 消费 Redis Stream 中的原始告警,生成 Case / Alert / Artifact。 |
| Playbook | custom\playbooks\*.py / backend\playbooks\*.py | 从 Case 触发用户主动执行的自动化任务。 |
生产运行时默认只从 custom/ 加载 Module 和 SIEM YAML。源码仓库中的 backend\custom\ 可作为本地开发样例;发布包中的 custom/ 默认是空模板。Playbook 保留产品内置能力,也允许通过 custom\playbooks\*.py 追加或覆盖。
数据流
Mock Data / SIEM Rule
→ 告警接入(Webhook / ELK Index Action)
→ Redis Stream
→ Module
→ Case / Alert / Artifact
→ Playbook / Enrichment / Knowledge告警接入负责把 SIEM 侧的检测结果写入 Stream;Module 负责把原始告警降噪和标准化,让分析师围绕 Case 工作;Playbook 负责在 Case 上推进调查、富化、知识提取或其他自动化动作;SIEM YAML 让 Harness Agent 能理解和查询外部日志。
刷新与依赖
修改 Module、Playbook 或 SIEM YAML 后,可以在 Custom Console 对应 Tab 中点击 Refresh / Validate 重新扫描并查看加载结果。加载失败会显示文件路径和异常信息,并写入 Audit Log。
如果新增或升级了 Python 依赖,先更新 custom\requirements.txt,再执行:
docker compose run --rm asp-custom-deps --index-url https://pypi.org/simple依赖包或公共 helper module 变更后,需要重启相关容器;单纯脚本定义或 YAML 变更可通过刷新/校验确认。
当前示例
当前后端在 backend\custom\modules\ 中包含以下 Module 示例:
aws_iam_privilege_escalation_attach_user_policy.pyedr_vssadmin_delete_shadows.pymail_user_report_phishing.py
当前后端包含以下 Playbook 示例:
investigation.pyknowledge_extraction.pythreat_intelligence_enrichment.pycmdb_enrichment.py
下一步
建议按以下顺序阅读:
- 开发环境搭建 — 准备源码开发环境和 custom 目录。
- Mock 数据 — 生成工作台数据或 SIEM 测试日志。
- 告警接入 — 了解如何通过 Webhook / ELK Index Action 将 SIEM 告警写入 Redis Stream。
- SIEM YAML — 了解如何为 Harness Agent 查询维护索引配置。
- Module 开发 — 了解如何把 Stream 告警转换为 ASP 资源。
- Playbook 开发 — 了解如何编写 Case 触发的自动化任务。
- Custom Console — 了解如何查看和校验当前环境加载的定制定义。
- Custom Examples — 通过一套组合示例理解 Mock 数据、告警接入、SIEM YAML、Module 和 Playbook 的联动关系。
- Module Creator / Playbook Creator — 让 Harness Agent 辅助生成代码草案。