SIREN

Web 控制台

了解如何通过浏览器使用 SIREN

仅远程模式支持

SIREN 服务端内置 Web 控制台,提供常用远程工作流的图形化入口。无需登录控制主机操作 tmux 或 REPL,通过浏览器即可完成客户端管理、交互式 Shell、Agentic 应急响应、SOAR 命令调用以及取证文件浏览。

启动与访问

WebUI 随 siren_server 自动启动,默认监听 0.0.0.0:8080

控制主机
./siren_server

启动后访问:

http://<SIREN Server IP>:8080

端口统一

从 v2.0.0 起,WebUI 与 MCP 服务 共享同一端口(默认 8080)。MCP 客户端通过 /mcp 子路径访问,WebUI 通过根路径访问;两者的启停开关分别是 webui.enabledmcp.enabled

账号鉴权

WebUI 使用基于 Session Cookie 的账号鉴权机制,密码通过 bcrypt 哈希后存储在 SQLite 数据库(默认 data/users.db)。

安全注意

当用户数据库不存在没有任何用户时,WebUI 会自动禁用鉴权、允许匿名访问。部署到公网前务必先创建至少一个用户。

管理用户账号

创建账号

控制主机
./siren_server user add <username>

执行后会提示输入密码两次。密码 bcrypt 哈希后写入 data/users.db

列出账号

控制主机
./siren_server user list

删除账号

控制主机
./siren_server user delete <username>

数据库路径一致性

data/users.db 默认相对当前工作目录解析。如果 siren_server user addsiren_server 在不同目录启动,会写入/读取不同的数据库,导致鉴权失效。建议在 server_config.yaml 中显式配置绝对路径:

webui:
  userDBPath: /opt/siren/data/users.db

或者在 systemd unit 中设置 WorkingDirectory

功能页面

Clients

客户端列表、在线状态、备注编辑、SOAR 放行、单机/批量部署、清理痕迹

Shells

多标签交互式终端,切换页面会话不中断

Agentic IR

在浏览器中启动 AI Agent 应急响应会话

Investigations

AccessKey 调查、客户端 Recon、进程分析、阶段进度与报告入口

Files

在线浏览客户端文件系统,支持预览、下载和上传

Artifacts

服务端取证文件浏览,支持 Markdown 预览、Dossier 编辑、上传、下载、重命名和删除

Dossier

独立报告编辑器,可从左侧导航直接打开,也可从 Artifacts 的 Markdown 报告进入

Clients

等价于服务端 REPL 的 lsnoteallowdeployclean 命令。每行展示一个客户端,支持:

  • 备注编辑:点击备注直接在行内修改
  • 备注恢复:备注会绑定到客户端稳定身份,客户端重连后自动恢复
  • Files 快捷入口:从客户端行直接打开该客户端的 Files 页面
  • Process 快捷入口:从客户端行直接打开该客户端的进程分析表单
  • 放行(allow):调用 SOAR 将受害主机出口 IP 加入安全组白名单
  • 单机部署(deploy):输入 Alibaba Cloud UID、ECS Instance ID 与可选 Public IP,通过云助手一键部署 SIREN 客户端
  • 批量部署(deploy-batch):切换到 Batch 模式后,每行输入 instanceIdinstanceId,publicIp,同一 UID 下支持 2-20 台机器;WebUI 会流式展示每台机器的运行状态和最终汇总
  • 清理(clean):远程清除受害主机上的 SIREN 痕迹(带二次确认)

批量部署规则

批量部署默认并发 3 台,单台失败不会中断其他目标。运行日志按实际完成顺序出现,每条消息都带有目标前缀;最终汇总按输入顺序统计成功与失败,便于后续重试失败目标。

Shells

每个客户端可开启多个终端标签。底层通过 WebSocket 桥接到服务端,服务端再以 TLS 转发到受害主机 PTY。切换到其他页面(Clients/AIR/Artifacts)时 Shell 会话保持活动,回到 Shells 页可继续输入。

Agentic IR

在浏览器里启动 AI Agent 完成 Agentic 应急响应。支持选择 Claude 或 Codex Provider,新建会话,或恢复当前项目的历史会话。

选择目标客户端后可选两种新建模式:

  • 告警事件模式:输入阿里云 UID + 云安全中心告警 ID,自动拉取告警详情
  • 自定义 Prompt:自由输入应急响应指令

也可以切换到 Resume 模式,搜索并选择当前 siren_server 工作目录对应的历史会话。Claude 会恢复 Claude Code session;Codex 会恢复 Codex session。WebUI 会先展示解析出的历史 user / assistant 消息,再用原 session ID 继续会话。

恢复范围

Resume 只读取 siren_server 当前工作目录对应的 Provider history,不会跨项目列出其他目录的历史会话,也不会向浏览器暴露本机 JSONL 文件路径。

页面会按顺序展示 AI 回复、工具调用和结果,并支持在同一会话继续追问。WebUI AIR 会使用 SIREN MCP 工具,请确认 MCP 服务已启用。它不依赖 tmux,服务端 REPL 的 air 命令仍保持原有交互式体验。

Investigations

Investigations 页面用于承载需要等待结果的调查工具,目前包含 AccessKey 调查、客户端 Recon 和进程分析。

  • AccessKey:输入 Alibaba Cloud UID、AccessKey ID(Region 可选,留空默认 cn-hangzhou)后,服务端调用现有 SOAR 剧本生成 Markdown 报告。WebUI 只展示真实的 playbook 运行状态,完成后可直接打开 Artifacts 查看报告。
  • Recon:选择在线客户端并下发信息收集命令。页面展示服务端从客户端日志中解析出的阶段列表,例如 Recon.BasicRecon.UserRecon.ProcessSave report to Artifacts,不再暴露原始彩色日志。
  • Process Analysis:选择 Linux 客户端后,可按 PID、监听端口或进程名查询进程详情。按名称匹配到多个进程时,WebUI 会列出候选项,可点击候选 PID 继续深入分析。
  • 报告入口:调查结束后会显示 Open Artifacts 按钮,直接跳转到生成的报告文件;报告也会保留在服务端工作目录中,方便远程部署环境查看。

进度展示原则

WebUI 只展示服务端能真实观测到的阶段。AccessKey 调查的 SOAR 子步骤不可见,因此只显示 playbook 正在运行;Recon 阶段来自客户端实际回传日志;Process Analysis 是一次同步查询,完成后直接展示结果或错误。

Files

Files 页面用于浏览在线客户端本机文件系统。可以从左侧导航进入后选择客户端,也可以在 Clients 列表中点击某个客户端行的 Files 快捷入口直接打开。

特性:

  • 客户端选择:按 Client ID 选择目标客户端;从 Clients 页面跳转时会自动选中对应客户端
  • 默认根目录:Linux/macOS 默认从 / 打开,Windows 默认从 C:\ 打开
  • 路径直达:可以在 Path 输入框中输入任意路径并打开
  • 文件树可拖拽:与 Artifacts 使用同一套文件浏览交互,目录树宽度可调整并持久化
  • 文本预览:文本文件可直接在线预览,二进制文件会显示不可预览提示
  • 文件下载:普通文件和目录都可下载,目录会打包为 tar.gz
  • 文件上传:可上传单个文件到当前目标目录,单文件上限 100 MiB;目标文件已存在时会要求确认覆盖

远程文件操作

Files 页面读写的是客户端主机上的真实文件系统,上传和覆盖操作会直接修改远端文件。执行前请确认目标客户端与上传目录。

Artifacts

浏览服务端工作目录下的文件,典型使用场景是查看远程 Recon 和 AIR 产出的 Markdown 结果文档,以及上传/拉取到服务端的取证文件。特性:

  • 文件树可拖拽:拖动树与预览之间的分隔条调整宽度(180–600 px),宽度持久化到 localStorage
  • Markdown 渲染.md / .markdown 自动渲染
  • Markdown 悬浮目录:包含多个标题的 Markdown 报告会自动生成 TOC,点击目录项跳转到对应章节
  • Dossier 编辑.md 报告可直接在 Dossier 中打开,适合编辑应急报告正文、截图和结论
  • 二进制识别:非文本文件显示"不支持预览"提示,不会报错
  • 文件下载:任意文件可通过右上角下载按钮下载
  • 目录打包下载:在文件树中右键目录并选择 Download,即可以 tar.gz 流式下载整个目录,自动排除点号开头的文件和子目录
  • 文件上传:可上传单个文件到当前目标目录,单文件上限 100 MiB;目标文件已存在时会要求确认覆盖
  • 重命名与删除:文件树右键可重命名或删除文件/目录;删除非空目录会递归移除目录下所有内容
  • 隐藏文件保护.env.ssh 等点号开头的文件既不列出也不允许直接访问,避免敏感信息泄露

Artifacts 删除操作

Artifacts 操作的是服务端工作目录下的真实文件。删除目录会递归删除其中内容,无法从 WebUI 撤销;执行前请确认目标路径。

Dossier

Dossier 是独立的 Markdown 报告编辑器,有两种打开方式:

  • 从左侧导航点击 Dossier,打开 webui.dossierDir/report.md 作为默认报告
  • 在 Artifacts 中选中 .md 报告后,点击 Dossier 按钮编辑该报告

Dossier 未部署、路径配置错误或默认 report.md 缺失时,WebUI 会显示错误提示,但不影响其他功能。

详细部署、配置、语法和编辑流程见 Dossier 文档

常见问题

  • 点击 Dossier 后提示不可用:通常是 Dossier 编辑器文件未部署,或 webui.dossierDir 指向了错误目录。
  • 点击 Dossier 后提示默认报告不可用:确认 webui.dossierDir/report.md 存在。webui.dossierDir 可以使用绝对路径,也可以放在 siren_server 工作目录外。
  • Artifacts 中没有 Dossier 按钮:只有 .md 报告支持在 Dossier 中编辑。
  • 旧 HTML 报告无法直接预览:Artifacts 不再内置 HTML 预览,可下载后查看;新的应急报告建议使用 Markdown。

配置

server_config.yamlwebui 段落配置:

server_config.yaml
webui:
  enabled: true                         # 是否启用 WebUI
  listen: 0.0.0.0                       # 共享 HTTP 监听地址
  port: 8080                            # 监听端口(与 MCP 共享)
  userDBPath: /opt/siren/data/users.db  # 可选:用户数据库绝对路径
  dossierDir: /opt/siren/dossier        # 可选:Dossier 编辑器文件目录

mcp:
  enabled: true                         # 是否启用 MCP 服务

WebUI 与 MCP 共用监听地址和端口,但启停开关相互独立。详见 配置文件

生产部署建议

公网暴露场景

WebUI 本身使用 HTTP(非 TLS),Session Cookie 虽然是 HttpOnly,但在公网环境下明文传输仍有风险。强烈建议:

  • webui.listen 改为绑定 127.0.0.1(默认 0.0.0.0),前置 Nginx / Caddy 做 TLS 终止和反向代理
  • 或至少通过 iptables / 安全组限制访问 IP
  • 部署前必须已创建至少一个用户账号(否则 WebUI 零鉴权)

相关内容

On this page