Files
CyberStrikeAI/docs/zh-CN/runbooks.md
T
2026-07-07 14:04:18 +08:00

5.3 KiB
Raw Blame History

运维 Runbooks

English

Runbook 是“遇到一个真实任务时照着做”的步骤清单。本文覆盖 CyberStrikeAI 最常见的运维和安全测试操作。

Runbook 1:生产实例从 0 到可用

适用:内网团队或生产红队平台首次部署。

如果只是本地或临时验证,优先用仓库自带脚本启动:

chmod +x run.sh && ./run.sh

确认可用后,再决定是否升级为 systemd + 反向代理的长期部署。

前置确认

  • 运行主机已纳入资产管理。
  • 访问路径确定:内网、VPN、堡垒机或反向代理。
  • 有模型 API Key 和允许使用的模型。
  • 已决定是否启用 C2、WebShell、外部 MCP。

步骤

  1. 准备目录:
mkdir -p /opt/CyberStrikeAI
  1. 放置二进制和资源目录:
cyberstrike-ai
web/
tools/
roles/
skills/
agents/
docs/
config.yaml
  1. 修改关键配置:
auth:
  password: "<long-random-password>"
server:
  host: 127.0.0.1
  port: 8080
  tls_enabled: false
audit:
  enabled: true
c2:
  enabled: false
  1. 配置反向代理 HTTPS,并限制来源 IP。
  2. 使用 systemd 托管进程。
  3. 登录 Web,测试模型。
  4. 检查工具列表和审计日志。
  5. 建立备份策略。

验收

  • /api/auth/validate 登录后返回成功。
  • 模型测试成功。
  • tools/ 能正常加载。
  • 审计页面能看到登录事件。
  • C2 在不需要时访问返回禁用状态。

回滚

恢复:

  • 上一版二进制。
  • 上一版 config.yaml
  • 升级前 data/

Runbook 2:接入外部 MCP

适用:接入本地工具服务、Burp 辅助服务、资产查询服务等。

前置确认

  • MCP 服务可信。
  • 明确它是否能读文件、写文件、执行命令或访问第三方网络。
  • 确定接入方式:stdio、HTTP、SSE。

步骤

  1. 在外部 MCP 页面新增服务。
  2. 如果是 stdio,填写命令、参数、工作目录和环境变量。
  3. 如果是 HTTP/SSE,填写 URL 和认证信息。
  4. 启动服务。
  5. 查看 /api/external-mcp/stats
  6. 检查工具列表是否出现。
  7. 用低风险参数执行一次工具。
  8. 把高风险工具排除在全局免审批白名单之外。

验收

  • MCP 状态为 running。
  • 工具 schema 可见。
  • Agent 能通过 tool_search 找到工具。
  • 工具执行记录出现在监控页。
  • 配置变更出现在审计页。

回滚

  • 停止 MCP。
  • 删除外部 MCP 配置。
  • 从角色/白名单中移除相关工具。
  • 检查 Agent 当前任务是否仍持有旧上下文。

Runbook 3:启用知识库并调优召回

适用:把内部安全知识、漏洞手册或测试方法接入 Agent。

步骤

  1. 修改配置:
knowledge:
  enabled: true
  base_path: knowledge_base
  embedding:
    model: text-embedding-v4
  retrieval:
    top_k: 5
    similarity_threshold: 0.4
  1. 把 Markdown 放入 knowledge_base/
  2. 在 Web 知识库页面执行扫描。
  3. 重建索引。
  4. 准备 5 到 10 个固定测试问题。
  5. 搜索并记录命中情况。
  6. 根据结果调 thresholdtop_k、chunk 参数和文档标题。

验收

  • index-status 显示索引完成。
  • 常见问题能命中正确文档。
  • Agent 在不确定时会先查知识库。
  • 检索日志能显示查询和命中文档。

常见回滚

  • 关闭 knowledge.enabled
  • 恢复旧的 data/knowledge.db
  • 降低 batch_size 后重新索引。

Runbook 4:一次授权 Web 测试标准流程

适用:对授权目标做 Web 安全测试。

步骤

  1. 创建项目,记录授权范围。
  2. 新建对话,绑定项目。
  3. 选择最小角色,例如“信息收集”或“Web 应用扫描”。
  4. 明确目标、时间窗口、禁止动作。
  5. 先执行只读信息收集。
  6. 发现线索后写入项目事实。
  7. 对高风险验证请求使用 HITL。
  8. 确认漏洞后写入漏洞管理。
  9. 生成攻击链或报告材料。
  10. 清理上传文件、临时 workspace 和无用执行记录。

验收

  • 每个漏洞都有证据、影响、复现和修复建议。
  • 高风险操作有 HITL 记录。
  • 项目事实能复现测试路径。
  • 报告不包含无关敏感数据。

Runbook 5C2 演练结束清理

适用:授权演练中启用了 C2。

步骤

  1. 停止所有 listener。
  2. 列出 sessions,确认没有仍在线的授权会话。
  3. 导出必要 task 结果。
  4. 删除 payload 或移动到受控归档。
  5. 删除无用 task、event、file。
  6. 审计 C2 操作记录。
  7. 将关键结果写入项目事实或报告。
  8. c2.enabled 改回 false,除非平台持续需要。

验收

  • 无运行中 listener。
  • 无待处理 task。
  • payload 不再公开可下载。
  • 审计与报告能解释整个生命周期。

Runbook 6Agent 不调用工具

排查顺序:

  1. 当前角色是否绑定了该工具。
  2. 工具是否在 /api/config/tools 中出现。
  3. tool_search 是否隐藏了该工具。
  4. 工具描述是否过短或命名不清。
  5. HITL 是否挂起。
  6. Agent 是否处于总结/结束阶段。
  7. 多代理子 Agent 是否有自己的工具限制。

修复方式:

  • 把工具加入角色。
  • 优化 short_description
  • 加入 tool_search_always_visible_tools
  • 在提示词中明确什么时候使用。
  • 检查过程详情和监控记录。