0Pricing
Cyber Security Academy · 课时

剧本设计

构建响应工作流模型。

剧本设计 是 CoddyKit 上的免费 Cyber Security Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cyber Security Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cyber Security Academy 课程共包含 4 节课。

什么是剧本

剧本是一种编码后的响应工作流:当 SOAR 平台被触发时,它会执行一组有序且包含分支的步骤。这是过去存放在维基中的运行手册的可执行版本。

运行手册可能会说查询 IP 信誉,而剧本会实际调用信誉接口、解析结果,并根据评分进行分支。良好的剧本设计是 SOC 自动化工程的核心技能。

从真实的手动流程开始

不要抽象地设计剧本。请先记录分析师今天实际如何逐步处理告警,包括他们所作的决策以及检查的数据。

将每个步骤归入以下三类之一:

  • 确定性操作——相同输入始终产生相同输出(适合自动化)。
  • 信息补充——收集数据且没有副作用(适合自动化)。
  • 判断——需要上下文或责任承担(保留人工介入)。

触发条件

每个剧本都需要精确的触发条件。范围过大,就会因噪声而运行;范围过小,则会漏掉真实案例。

触发条件通常绑定到 SIEM 关联规则、EDR 检测类别或邮件网关判定结果。请明确规定入口条件。

trigger:
  source: siem
  rule_id: "RULE-IMPOSSIBLE-TRAVEL"
  severity: ">= medium"
  dedup_key: "{{ event.user }}-{{ event.rule_id }}"
  window: 15m

输入、工件与上下文

剧本处理工件:从触发事件中提取的指标,例如 IP、文件哈希值、用户账户、网址和主机名。

良好的设计会尽早将这些内容规范化为统一的上下文对象,这样无论事件由哪个工具产生,后续每个步骤都能引用相同的字段名称。

  • 在顶部一次性提取工件。
  • 验证类型(这确实是有效的 IPv4 地址吗?)。
  • 让共享上下文贯穿整个流程。

分支逻辑

真实工作流会产生分支。完成信息补充后,您需要根据证据决定路径。请保持分支明确且完整,确保没有事件未经处理就被遗漏。

if threat_score >= 80:
    action = "isolate_host"
elif threat_score >= 40:
    action = "open_ticket_tier2"
else:
    action = "close_as_benign"

# always record the decision and the score
log_decision(case_id, action, threat_score)

审批关卡

在任何具有破坏性、不可逆性或影响范围巨大的操作之前,插入人工审批关卡。剧本会汇总证据并呈现出来,然后阻塞等待决策到达。

请设计一个安全的超时默认行为。在遏制场景中,无响应超时可能应升级给值班工程师,而不是默默继续执行或悄然丢弃案件。

  • 禁用账户:需要审批关卡。
  • 阻断大型子网:需要审批关卡。
  • 补充指标信息:不需要审批关卡。

错误处理与重试

集成会失败。接口会实施速率限制、超时,并返回格式错误的数据。假设每次调用都能成功的响应手册,会让事件处理停留在半完成状态。

请加入以下机制:

  • 带退避的重试,用于处理暂时性错误(HTTP 429、503)。
  • 故障安全默认值——如果信息补充失败,默认将事件升级给人工处理,而不是自动关闭。
  • 死信处理——将无法处理的事件路由到由分析师审核的队列。

幂等性

由于重复警报或重试,同一份响应手册可能会因同一事件触发两次。操作必须具备幂等性:执行两次不应造成双重损害。

隔离一个已经隔离的主机应当是空操作,而不是错误。创建工单前,应先使用相同的去重键检查是否已有工单。

existing = find_ticket(dedup_key)
if existing:
    add_comment(existing.id, "Duplicate trigger suppressed")
else:
    create_ticket(dedup_key, severity, artifacts)

保持响应手册模块化

不要为每种事件类型编写一个庞大的响应手册。请将其拆分为可复用的子响应手册:信息补充子手册、遏制子手册和通知子手册。

这体现了良好的软件设计。一个可复用的 IP 信息补充模块如果同时被网络钓鱼、暴力破解和命令与控制响应手册调用,那么威胁情报接口发生变化时,只需在一个地方修复。

先测试,再信任

请先以试运行/模拟模式运行新的响应手册:执行信息补充和日志记录,但将破坏性操作替换为模拟操作。将响应手册提出的操作与分析师在历史案例中本会采取的操作进行比较。

只有在真实历史事件上验证决策逻辑正确后,才应启用实时操作;即便如此,也应先为每个操作设置审批关卡。

为响应手册进行版本管理和文档记录

响应手册就是代码,应遵循同样的规范。请将其置于版本控制之下,确保每项变更都经过审查、可追溯且可逆。

  • 变更日志可以回答为什么这份响应手册上个月的行为不同?
  • 同级审查可以在危险逻辑进入生产环境前将其发现。
  • 记录预期的触发条件、决策和负责人,可以在人员更替后仍保持响应手册的可维护性。

一份无人理解且没有文档记录的响应手册,一旦误触发就会立刻变成负担。

快速检查

将响应手册设计原则应用于故障场景。

回顾

响应手册设计要点:

  • 响应手册是一种可执行的分支式响应工作流;请根据真实的人工流程进行设计。
  • 将步骤分为确定性操作、信息补充或判断,并通过人工审批控制判断步骤。
  • 定义精确的触发条件,将工件规范化为共享上下文,并确保分支覆盖所有情况。
  • 通过重试和安全默认值处理错误;信息补充失败时应升级处理,而不是自动关闭。
  • 确保操作具备幂等性,使用可复用的子响应手册保持模块化,并在上线前针对历史事件进行试运行测试。

常见问题解答

「剧本设计」课时是免费的吗?

是的 — 「剧本设计」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cyber Security Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cyber Security Academy 课程共包含 4 节课。

「剧本设计」这节课中我会学到什么?

构建响应工作流模型。 你通过在浏览器中直接运行的动手代码来练习 Cyber Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cyber Security Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Cyber Security Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「剧本设计」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Cyber Security Academy 课中编写并运行代码吗?

能。每节 Cyber Security Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. SOAR 的重要性
  2. 剧本设计
  3. 集成与信息 enriquecimiento
  4. 衡量自动化影响
← 返回 Cyber Security Academy