进入场景(Create Scenario)

  • 前置条件: 用户已登录系统。
  • 操作步骤:
    • 用户点击导航栏,进入“AI Agent 攻防场景模式”。
  • 预期结果:
    • 如果至少有一个场景:Agent攻防场景模式页面渲染出各个已经创建好的场景
    • 如果没有场景:提示没有场景被创建,引导用户创建场景

场景创建(Create Scenario)

  • 前置条件: 用户已登录系统,并进入“AI Agent 攻防场景模式”页面。
  • 操作步骤:
    1. 用户点击页面顶部或左侧的“添加场景”按钮。
    2. 系统弹出“创建场景”表单页面。
    3. 用户在表单中填写:
      • 场景名称: (文本输入框,例如:“WebLogic CVE-2017-10271 渗透测试”)
      • 场景说明: (Markdown 编辑器,用于详细描述场景背景、漏洞类型、技术细节、网络拓扑等信息)
    4. 用户上传以下三类压缩包文件:
      • 攻击容器包:hacker.ziphacker.tar.gz,包含 Dockerfile、脚本和工具)
      • 防御容器包:defender.zipdefender.tar.gz,包含 Dockerfile、脚本和工具)
      • 靶机环境包:target.ziptarget.tar.gz,包含 docker-compose.yml 及相关构建上下文)
    5. 用户点击“创建场景”按钮。
  • 预期结果:
    • 系统提示“场景创建成功(pending),正在构建中(building)”。
    • 页面自动跳转到AI Agent 攻防场景模式主页,主页显示用户创建的场景卡片。
    • 场景卡片状态栏显示为“构建中(building)”。
      • 如果创建成功,场景状态栏显示构建成功(stopped)
      • 如果构建失败,状态变为“错误(error)”,弹出创建失败提示框,引导用户可以点击“详细信息”来进行修改场景配置,重新构建。

场景删除

  • 前置条件: 用户已登录系统,进入“AI Agent 攻防场景模式”页面,且页面至少有一个场景创建。
  • 操作步骤:
    1. 用户点击要删除的场景的”删除”按钮。
    2. 系统弹出“是否删除场景”的提示表单页面。
    3. 用户点击确认/取消
  • 预期结果:
    • 如果用户点击确认,该场景被删除,主页面的该场景卡片消失
    • 如果用户点击取消,该场景不会被删除,主页面的该场景卡片不消失

场景启动(Start Scenario)

  • 前置条件: 用户已登录系统,在“AI Agent 攻防场景模式”页面,场景已成功构建完成,状态为“已停止/已构建(stopped)且未启动。
  • 操作步骤:
    1. 在“AI Agent 攻防场景模式”列表页,用户找到目标场景卡片。
    2. 用户点击场景卡片上的“启动”按钮。
  • 预期结果:
    • 系统提示“场景启动中”。
    • 场景状态更新为“启动中(starting)” 。
    • 如果启动成功,场景状态更新为“运行中(running)” 。
    • 如果启动失败,场景状态更新为“错误(error),引导用户修改场景所需附件和配置” 。

场景配置修改

  • 前置条件: 用户已登录系统,在“AI Agent 攻防场景模式”列表页, 场景已成功构建完成,状态为“已停止/已构建(stopped)。
  • 操作步骤:
    1. 如果场景状态为”stopped“ ,用户点击”详细信息“,可弹出场景修改表单。
    2. 用户修改场景配置,点击确认,提交修改信息
  • 预期结果:
    • 如果用户修改的是附件信息(包含得有例如Dockerfile的附件):回到场景模式主页面,场景状态提示重新构建中(building)
    • 如果用户修改的是场景配置信息(场景名字、场景介绍):回到场景模式主页面,场景状态提示(stopped),并修改好场景的文字配置信息。

场景错误重构

  • 前置条件: 用户已登录系统,在“AI Agent 攻防场景模式”列表页, 目标场景状态为错误(error)。
  • 操作步骤:
    • 用户点击该错误场景的“详细信息”按钮,修改好该场景配置,点击确定
  • 预期结果:
    • 系统提示正在重新构建中(building)”。
    • 页面自动跳转到AI Agent 攻防场景模式主页,主页显示用户正在重新构建的场景卡片。
    • 场景卡片状态栏显示为“构建中(building)”。
      • 如果创建成功,场景状态栏显示构建成功(stopped)
      • 如果构建失败,状态变为“错误(error)”,弹出创建失败提示框,引导用户可以点击“详细信息”来进行修改场景配置,重新构建。