mirror of
https://github.com/Ed1s0nZ/CyberStrikeAI.git
synced 2026-04-21 10:16:32 +02:00
177 lines
7.9 KiB
YAML
177 lines
7.9 KiB
YAML
# ============================================
|
|
# CyberStrikeAI 配置文件
|
|
# ============================================
|
|
# 本配置文件支持通过 Web 界面进行可视化配置
|
|
# 点击右上角"设置"按钮即可修改配置
|
|
# ============================================
|
|
|
|
# ============================================
|
|
# 系统设置
|
|
# ============================================
|
|
|
|
# 前端显示的版本号(可选,不填则显示默认版本)
|
|
version: "v1.3.24"
|
|
|
|
# 服务器配置
|
|
server:
|
|
host: 0.0.0.0 # 监听地址,0.0.0.0 表示监听所有网络接口
|
|
port: 8080 # HTTP 服务端口,可通过浏览器访问 http://localhost:8080
|
|
|
|
# 认证配置
|
|
auth:
|
|
password: # Web 登录密码,请修改为强密码
|
|
session_duration_hours: 12 # 登录有效期(小时),超时后需重新登录
|
|
|
|
# 日志配置
|
|
log:
|
|
level: info # 日志级别: debug(调试), info(信息), warn(警告), error(错误)
|
|
output: stdout # 日志输出位置: stdout(标准输出), stderr(标准错误), 或文件路径
|
|
|
|
# ============================================
|
|
# 对话相关配置
|
|
# ============================================
|
|
|
|
# AI 模型配置(支持 OpenAI 兼容 API)
|
|
# 必填项:api_key, base_url, model 必须填写才能正常运行
|
|
# 支持的 API 服务商:
|
|
# - OpenAI: https://api.openai.com/v1
|
|
# - DeepSeek: https://api.deepseek.com/v1
|
|
# - 其他兼容 OpenAI 协议的 API
|
|
# 常用模型: gpt-4, gpt-3.5-turbo, deepseek-chat, claude-3-opus 等
|
|
openai:
|
|
base_url: https://api.deepseek.com/v1 # API 基础 URL(必填)
|
|
api_key: sk-xxxx # API 密钥(必填)
|
|
model: deepseek-chat # 模型名称(必填)
|
|
max_total_tokens: 120000 # LLM 相关上下文的最大 Token 数限制(内存压缩和攻击链构建会共用此配置)
|
|
|
|
# ============================================
|
|
# 信息收集(FOFA)配置(可选)
|
|
# ============================================
|
|
# 用于「信息收集」页面调用 FOFA API(后端代理,避免前端暴露 key)
|
|
# 也可通过环境变量配置:FOFA_EMAIL / FOFA_API_KEY(优先级更高)
|
|
fofa:
|
|
base_url: "https://fofa.info/api/v1/search/all" # 可选,留空则使用默认
|
|
email: "" # FOFA 账号邮箱(可选,建议在系统设置中填写)
|
|
api_key: "" # FOFA API Key(可选,建议在系统设置中填写)
|
|
|
|
# Agent 配置
|
|
# 达到最大迭代次数时,AI 会自动总结测试结果
|
|
agent:
|
|
max_iterations: 120 # 最大迭代次数,AI 代理最多执行多少轮工具调用
|
|
large_result_threshold: 102400 # 大结果阈值(字节),默认50KB,超过此大小会自动保存到存储
|
|
result_storage_dir: tmp # 结果存储目录,大结果会保存在此目录下
|
|
tool_timeout_minutes: 30 # 单次工具执行最大时长(分钟),超时自动终止;0 表示不限制(不推荐,易出现长时间挂起)
|
|
|
|
# 数据库配置
|
|
database:
|
|
path: data/conversations.db # SQLite 数据库文件路径,用于存储对话历史和消息
|
|
knowledge_db_path: data/knowledge.db # 知识库数据库文件路径(可选,为空则使用会话数据库),用于存储知识库项和向量嵌入,可独立复制和复用
|
|
|
|
# ============================================
|
|
# 任务管理相关配置
|
|
# ============================================
|
|
# (配置项已包含在对话相关配置中)
|
|
|
|
# ============================================
|
|
# 漏洞管理相关配置
|
|
# ============================================
|
|
|
|
# 安全工具配置
|
|
# 系统会从该目录加载所有 .yaml 格式的工具配置文件
|
|
# 推荐方式:在 tools/ 目录下为每个工具创建独立的配置文件
|
|
security:
|
|
tools_dir: tools # 工具配置文件目录(相对于配置文件所在目录)
|
|
# 工具描述模式:加载 tools 下工具时,暴露给 AI/API 使用的描述来源
|
|
# short - 优先使用 short_description(简短描述,省 token),为空时用 description
|
|
# full - 使用 description(详细描述)
|
|
tool_description_mode: full
|
|
|
|
# ============================================
|
|
# MCP 相关配置
|
|
# ============================================
|
|
|
|
# MCP 协议配置
|
|
# MCP (Model Context Protocol) 用于工具注册和调用
|
|
mcp:
|
|
enabled: false # 是否启用 MCP 服务器(http模式)
|
|
host: 0.0.0.0 # MCP 服务器监听地址
|
|
port: 8081 # MCP 服务器端口
|
|
auth_header: "X-MCP-Token" # 鉴权:请求需携带该 header 且值与 auth_header_value 一致方可调用。留空表示不鉴权
|
|
auth_header_value: "" # 鉴权密钥值(与 auth_header 配合使用,建议使用随机字符串)
|
|
|
|
# 外部 MCP 配置
|
|
external_mcp:
|
|
servers: {}
|
|
|
|
# ============================================
|
|
# 知识库相关配置
|
|
# ============================================
|
|
|
|
knowledge:
|
|
enabled: false # 是否启用知识检索功能
|
|
base_path: knowledge_base # 知识库目录路径(相对于配置文件所在目录)
|
|
embedding:
|
|
provider: openai # 嵌入模型提供商(目前仅支持openai)
|
|
model: text-embedding-v4 # 嵌入模型名称
|
|
base_url: https://api.deepseek.com/v1 # 留空则使用OpenAI配置的base_url
|
|
api_key: sk-xxxxxx # 留空则使用OpenAI配置的api_key
|
|
retrieval:
|
|
top_k: 5 # 检索返回的Top-K结果数量
|
|
similarity_threshold: 0.7 # 相似度阈值(0-1),低于此值的结果将被过滤
|
|
hybrid_weight: 0.7 # 混合检索权重(0-1),向量检索的权重,1.0表示纯向量检索,0.0表示纯关键词检索
|
|
# ============================================
|
|
# 索引配置(用于解决 API 限制问题)
|
|
# ============================================
|
|
indexing:
|
|
# 分块配置
|
|
chunk_size: 512 # 每个块的最大 token 数(默认 512),长文本会被分割成多个块
|
|
chunk_overlap: 50 # 块之间的重叠 token 数(默认 50),保持上下文连贯性
|
|
max_chunks_per_item: 0 # 单个知识项的最大块数量(0 表示不限制),防止单个文件消耗过多 API 配额
|
|
# 速率限制配置(解决 429 错误)
|
|
max_rpm: 0 # 每分钟最大请求数(默认 0 表示不限制),如 OpenAI 默认 200 RPM
|
|
rate_limit_delay_ms: 300 # 请求间隔毫秒数(默认 300),用于避免 API 速率限制,设为 0 不限制
|
|
# 建议值:200 次/分钟≈300ms, 100 次/分钟≈600ms
|
|
|
|
# 重试配置
|
|
max_retries: 3 # 最大重试次数(默认 3),遇到速率限制或服务器错误时自动重试
|
|
retry_delay_ms: 1000 # 重试间隔毫秒数(默认 1000),每次重试会递增延迟
|
|
|
|
# ============================================
|
|
# 机器人配置(企业微信、钉钉、飞书)
|
|
# ============================================
|
|
# 用于在手机端通过企业微信/钉钉/飞书与 CyberStrikeAI 对话,无需部署在服务器上也可使用
|
|
# 在系统设置 -> 机器人设置 中可配置
|
|
robots:
|
|
wecom: # 企业微信
|
|
enabled: false
|
|
token: ""
|
|
encoding_aes_key: ""
|
|
corp_id: ""
|
|
secret: ""
|
|
agent_id: 0
|
|
dingtalk: # 钉钉
|
|
enabled: false
|
|
client_id:
|
|
client_secret:
|
|
lark: # 飞书
|
|
enabled: false
|
|
app_id: ""
|
|
app_secret: ""
|
|
verify_token: ""
|
|
|
|
# ============================================
|
|
# Skills 相关配置
|
|
# ============================================
|
|
|
|
# 系统会从该目录加载所有skills,每个skill应是一个目录,包含SKILL.md文件
|
|
# 例如:skills/sql-injection-testing/SKILL.md
|
|
skills_dir: skills # Skills配置文件目录(相对于配置文件所在目录)
|
|
|
|
# ============================================
|
|
# 角色相关配置
|
|
# ============================================
|
|
|
|
# 系统会从该目录加载所有 .yaml 格式的角色配置文件
|
|
# 每个角色应创建独立的配置文件,例如:roles/CTF.yaml, roles/默认.yaml 等
|
|
roles_dir: roles # 角色配置文件目录(相对于配置文件所在目录)
|