SIREN

配置文件

了解如何通过配置文件进行自定义设置

SIREN 客户端与服务端均支持通过 YAML 配置文件进行自定义设置。

配置文件查找顺序

启动时,SIREN 会按以下顺序查找配置文件(找到即停止):

  1. 通过 -c/--config 参数指定的路径
  2. 当前工作目录下的 config.yaml(客户端)或 server_config.yaml(服务端)
  3. ./config/ 目录下的 config.yamlserver_config.yaml

敏感信息

配置文件中不包含任何敏感凭证信息(如 AccessKey、API Key 等),所有凭证均通过环境变量设置,详见凭证设置

客户端配置

config.yaml
server: 127.0.0.1                           # 服务端地址
port: 443                                   # 服务端端口

recon:
  commandTimeout: 30                        # 命令执行超时时间
  user: true                                # 用户信息收集开关
  # ...other modules

oss:
  region: cn-hongkong                       # OSS Bucket Region
  bucketName: ir-transfer-station           # OSS Bucket 名称
  objectPath: tmp/siren_upload              # 本地 upload 文件上传路径
  docObjectPath: tmp/siren_upload/docs      # 本地 recon 文档上传路径

plugins:
  marketplace: https://example.com/plugins  # 插件市场地址
  jdump: true                               # 启用 jdump 插件

rules:                                      # 信息收集规则
  IPWhitelist: 140\.205\.11\.\d+|8\.147\.237\.0
  # ...other rules

配置项说明

配置项类型默认值说明
serverstring127.0.0.1远程模式下连接的服务端地址
portint443远程模式下连接的服务端端口
recon.commandTimeoutint30信息收集和客户端远程命令执行的基础超时时间(秒);MCP / AIR 慢命令建议服务端也设置相同值
recon.<module>booltrue各信息收集模块的开关(如 userprocessnetwork 等),完整列表见信息收集模块
oss.regionstring-OSS Bucket 所在地域
oss.bucketNamestring-OSS Bucket 名称
oss.objectPathstringtmp/siren_upload本地 siren upload 的 OSS 路径前缀
oss.docObjectPathstringtmp/siren_upload/docs本地 siren recon 文档上传的 OSS 路径前缀
plugins.marketplacestring-插件市场 URL,用于下载和更新插件
plugins.<name>bool-启用或禁用指定的 command 类型插件
rulesmap-信息收集规则,值为正则表达式

关于 rules

rules 用于在信息收集结果中标记或过滤特定内容。例如 IPWhitelist 可以在网络连接信息中标识已知的白名单 IP 地址,减少排查噪音。规则值支持正则表达式,支持白名单(过滤已知正常项)和黑名单(高亮可疑项)两种类型。

服务端配置

server_config.yaml
listen: 0.0.0.0                                 # 客户端 TLS 服务监听地址
port: 443                                       # 客户端 TLS 服务监听端口
cert: certs/cert.pem                            # TLS 证书路径
key: certs/key.pem                              # TLS 密钥路径

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

mcp:
  enabled: true                                 # 是否启用 MCP 服务
  cmdBlacklist:                                 # MCP run 命令黑名单(正则表达式)
    - rm\\s
    - kill\\s
    - shutdown
    - reboot
    # ...more patterns

air:
  provider: claude                             # 默认 WebUI AIR Provider:claude / codex
  prompt: 启动安全应急响应,UID:%s,...        # 告警事件模式的 prompt 模板
  customPromptPrefix: 在 SIREN Client %d 上...  # 自定义 prompt 模式的前缀
  providers:
    claude:
      cliPath: claude                          # Claude Code CLI 路径
      model: "claude-opus-4-8[1m]"
      strictMCPConfig: true
      allowedTools:
        - mcp__siren__ls
        - mcp__siren__run
        - mcp__siren__get_alarm_detail
        - Read
        - Bash(ls *)
        - Bash(grep *)
      effort: xhigh
      args: []                                 # 额外 Claude CLI 参数
    codex:
      cliPath: codex                           # Codex CLI 路径
      model: gpt-5.5
      effort: xhigh
      sandbox: read-only
      approval: never
      enabledTools:
        - ls
        - run
        - get_alarm_detail
      args: []                                 # 额外 Codex CLI 参数

配置项说明

配置项类型默认值说明
listenstring0.0.0.0客户端 TLS 服务监听地址
portint443客户端 TLS 服务监听端口
certstringcerts/cert.pemTLS 证书文件路径
keystringcerts/key.pemTLS 私钥文件路径
webui.enabledbooltrue是否启用 Web 控制台。关闭后若 mcp.enabled 仍为 true/mcp 会继续在共享端口上提供服务
webui.listenstring0.0.0.0WebUI 与 MCP 共享的监听地址;只要 webui.enabledmcp.enabled 有一个启用就会启动监听
webui.portint8080WebUI 与 MCP 共享的监听端口,MCP 通过 /mcp 子路径暴露
webui.userDBPathstringdata/users.dbWebUI 用户 SQLite 数据库路径(相对路径基于启动 CWD)
webui.dossierDirstring-(示例配置为 /opt/siren/dossierDossier 编辑器文件目录,可位于服务端工作目录外;左侧 Dossier 入口默认打开该目录下的 report.md。默认为空,留空、目录不可用或默认报告不可访问时,WebUI 会提示错误。详见 Dossier 配置
mcp.enabledbooltrue是否启用 MCP 服务,独立于 webui.enabled
mcp.cmdBlacklistlistMCP 集成MCP run 工具的命令黑名单,值为正则表达式列表
air.providerstringclaudeWebUI Agentic 应急响应默认使用的 Provider,可选 claudecodex;页面中也可在每次启动会话时选择
air.promptstring-告警事件模式下的 prompt 模板,依次填入 %s UID、%s 安全中心告警 ID、%d Client ID(告警 ID 即 air 命令的 Security Center Alert ID,详见 Agentic 应急响应
air.customPromptPrefixstring-自定义 prompt 模式下的前缀(支持 %d Client ID)
air.providers.claude.cliPathstringclaudeClaude Code CLI 路径;服务端 REPL 的 air 命令也使用 Claude Provider 配置
air.providers.claude.modelstringclaude-opus-4-8[1m]Claude Provider 使用的模型
air.providers.claude.strictMCPConfigbooltrue是否对 Claude Code 启用严格 MCP 配置
air.providers.claude.allowedToolslist见示例Claude Provider 允许调用的工具列表
air.providers.claude.effortstringxhigh传递给 Claude CLI 的推理强度
air.providers.claude.argslist[]传递给 Claude CLI 的额外参数
air.providers.codex.cliPathstringcodexCodex CLI 路径
air.providers.codex.modelstringgpt-5.5Codex Provider 使用的模型
air.providers.codex.effortstringxhighCodex 推理强度
air.providers.codex.sandboxstringread-onlyCodex 沙箱模式
air.providers.codex.approvalstringneverCodex approval 模式
air.providers.codex.enabledToolslistls, run, get_alarm_detailCodex AIR 注入的 SIREN MCP 工具
air.providers.codex.argslist[]传递给 Codex CLI 的额外参数

v2.10.2 AIR 配置更新

AIR CLI 配置已统一放到 air.providers.<name> 下。旧的 air.cliPath / air.args 不再作为 WebUI AIR 的配置入口;升级后请按上方示例迁移到 air.providers.claude.*air.providers.codex.*

v1.x 升级提示

v2.0.0 合并了 MCP 与 WebUI 端口,顶层 mcpPort 字段与 --mcp-port 参数已移除。升级后的配置示例如上,mcpPort 如有残留不会报错但会被忽略。

On this page