Skip to content
/ SSlogs Public

应急分析溯源日志工具:一个功能强大的Web日志安全分析工具,集成了规则引擎、AI智能分析和多格式报告生成,专为安全应急响应和威胁溯源而设计。

Notifications You must be signed in to change notification settings

wooluo/SSlogs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔍 SSlogs v3.1 - 智能安全日志分析平台

Python Version License Platform AI Powered

企业级威胁检测与智能安全分析系统

一个功能强大的智能安全日志分析平台,集成了多阶段规则引擎AI威胁分析云原生安全检测实时性能监控,专为现代安全运营中心(SOC)和应急响应团队设计。

🚀 最新版本 v3.1

🆕 LM Studio 集成支持

  • 🤖 本地AI模型支持 - 完全兼容 LM Studio,支持本地运行的开源大语言模型
  • 🔧 灵活模型切换 - 在云端 DeepSeek 和本地 LM Studio 之间自由切换
  • 📊 增强模型管理 - 自动检测可用模型,支持模型测试和配置验证
  • 🛡️ 隐私保护增强 - 本地分析确保敏感日志数据不出网

🎯 检测能力大幅提升

  • 65%检测覆盖率提升 - 新增20+现代威胁检测规则
  • 50%误报率降低 - 多阶段匹配和威胁评分系统
  • AI专家级分析 - 6种攻击类型专用分析模板

性能全面优化

  • 40%处理速度提升 - 规则预编译和动态批处理
  • 35%内存优化 - 智能内存管理和垃圾回收
  • 实时性能监控 - 完整的性能追踪和告警系统

🛡️ 现代威胁覆盖

  • Log4j漏洞检测 - CVE-2021-44228专项检测
  • API安全威胁 - GraphQL、REST API攻击检测
  • 云原生安全 - Kubernetes、Docker、容器逃逸检测
  • 供应链攻击 - 现代软件供应链威胁识别

📋 目录

✨ 核心特性

🧠 智能检测引擎

  • 🎯 多阶段规则匹配 - 快速筛选 → 上下文分析 → 威胁评分
  • 🛡️ 65+增强检测规则 - 涵盖注入、XSS、RCE、SSRF、API攻击等
  • 🚨 威胁评分系统 - 1.0-10.0智能威胁评分和置信度分析
  • 🔍 智能解码引擎 - URL/HTML/Base64多层编码绕过检测
  • 📊 攻击向量分析 - 自动识别攻击技术和风险因子

🤖 AI增强分析

  • 🎓 6种专家分析模板 - SQL注入、XSS、RCE、SSRF、API、云安全专用分析
  • 🧩 备用分析机制 - AI不可用时自动启用结构化分析
  • 📈 威胁情报关联 - 攻击者特征、组织归属、后续威胁评估
  • 性能优化 - 智能缓存和批处理提升AI分析效率
  • 🔧 LM Studio 集成 - 支持本地运行的开源大语言模型,完全隐私保护
  • 🌐 多模型支持 - 兼容 DeepSeek、Ollama、LM Studio 等多种AI服务

高性能处理

  • 🚀 规则预编译系统 - 启动时预编译所有规则,匹配速度提升40%
  • 🔄 动态批处理 - 根据内存使用自动调整批处理大小
  • 📈 实时性能监控 - 内存、CPU、错误率全方位监控
  • 🗂️ 大文件支持 - 支持145万+日志条目,多格式压缩文件处理

🌐 现代威胁覆盖

  • ☁️ 云原生安全 - Kubernetes、Docker、容器逃逸、云元数据攻击
  • 🔌 API安全 - GraphQL注入、REST API滥用、参数污染
  • 💥 0-day漏洞 - Log4j、Spring4Shell等现代漏洞专项检测
  • 🔗 供应链攻击 - 恶意依赖、镜像投毒、CI/CD攻击

📊 企业级报告

  • 📱 现代化HTML报告 - 响应式设计,威胁仪表板和趋势分析
  • 📈 威胁统计TOP10 - 攻击类型排名和风险热力图
  • 🌍 地理位置分析 - IP威胁评级和攻击源分布
  • 🤖 AI深度分析 - 专业安全分析报告和应急响应建议

🏗️ 系统架构

日志分析工具
├── 核心模块 (core/)
│   ├── parser.py      # 日志解析器
│   ├── rule_engine.py # 规则引擎  
│   ├── ai_analyzer.py # AI分析器
│   ├── reporter.py    # 报告生成器
│   └── ip_utils.py    # IP工具集
├── 规则库 (rules/)    # YAML安全规则
├── 配置 (config.yaml) # 主配置文件
└── 输出 (output/)     # 分析报告

🚀 快速开始

环境要求

  • Python 3.8+
  • pip (Python包管理器)
  • 可选: Ollama (本地AI模型)
  • 可选: PyQt6 (用于GUI界面)

安装步骤

  1. 克隆项目

    git clone <repository-url>
    cd SSlogs
  2. 安装依赖

    pip install -r requirements.txt
  3. 配置GeoIP数据库 (IP地理位置分析)

    # 下载GeoLite2数据库
    wget https://github.com/mojolabs-id/GeoLite2-Database/raw/main/GeoLite2-Country.mmdb
    mv GeoLite2-Country.mmdb config/
  4. 配置AI服务 (三选一)

    选项一:使用云端 DeepSeek (推荐)

    deepseek:
      api_key: "your-api-key-here"  # 替换为实际API密钥
    ai:
      type: "cloud"
      cloud_provider: "deepseek"

    选项二:使用本地 Ollama

    ai:
      type: "local"
      local_provider: "ollama"
    ollama:
      model: "deepseek-r1:14b"
      base_url: "http://localhost:11434/api/chat"

    选项三:使用 LM Studio (v3.1新增)

    ai:
      type: "local"
      local_provider: "lm_studio"
    lm_studio:
      base_url: "http://localhost:1234/v1/chat/completions"
      model: "auto"  # 自动检测可用模型

🖥️ 使用方法

命令行模式(默认)

# 启动命令行界面
python main.py --config config.yaml

# 启用AI智能分析(推荐)
python main.py --config config.yaml --ai

# 直接指定主机IP地址
python main.py --config config.yaml --ai --server-ip 192.168.1.100

# 从日志样例自动生成解析规则
python main.py --generate-rules "192.168.1.1 [10/Oct/2023:13:55:36] \"GET /index.php HTTP/1.1\" 200 1234"

图形用户界面模式

PyQt6版本(推荐)

# 启动PyQt6图形用户界面
python launcher.py --gui

# 启动支持LM Studio的GUI界面
python launcher.py --gui --lm-studio

如果遇到GUI依赖问题,请先安装PyQt6:

pip install PyQt6

旧版tkinter版本

# 启动旧版tkinter图形用户界面
python launcher.py --old-gui

PyQt6 GUI模式提供了更现代化、功能丰富的操作体验,包含以下功能:

  • 📁 日志目录选择
  • 🔧 AI分析开关
  • 🖥️ 主机IP地址输入框
  • 📈 进度条显示
  • 📁 输出报告保存位置选择
  • 📄 报告格式选项(HTML、JSON、TXT)
  • 💬 实时分析日志输出
  • 🤖 v3.1新增: LM Studio模型选择和测试
  • 🔧 v3.1新增: AI服务连接测试功能

⚙️ 配置说明

基本用法

# 基础日志分析(交互式输入主机IP)
python main.py --config config.yaml

# 启用AI智能分析(推荐)
python main.py --config config.yaml --ai

# 直接指定主机IP地址
python main.py --config config.yaml --ai --server-ip 192.168.1.100

# 从日志样例自动生成解析规则
python main.py --generate-rules "192.168.1.1 [10/Oct/2023:13:55:36] \"GET /index.php HTTP/1.1\" 200 1234"

# v3.1新增:使用LM Studio进行本地AI分析
python main.py --config config.yaml --ai --lm-studio

🔧 主机IP配置说明

工具启动时会要求输入服务器主机IP地址,用于生成完整的分析报告:

  1. 交互式输入:运行时提示输入IP地址,自动验证格式
  2. 命令行指定:使用 --server-ip 参数直接指定
  3. 配置文件设置:在 config.yaml 中预设默认IP
==================================================
欢迎使用应急分析溯源日志工具
==================================================
请输入服务器主机IP地址: 192.168.1.100
开始分析主机 192.168.1.100 的日志...
==================================================

AI分析特性

本工具的AI分析模块支持智能过滤和深度分析:

  • 智能筛选: 只分析高风险且攻击成功的事件
  • 成功判定: 基于HTTP状态码(200、201、202、204、301、302、304)
  • TOP N分析: 默认分析最关键的5个事件
  • 深度评估: 包含攻击分析、影响评估、应急措施、威胁情报

配置选项

1. 日志格式配置

log_format:
  fields:
    src_ip: '(\d+\.\d+\.\d+\.\d+)'
    timestamp: '\[(.*?)\]' 
    request_method: '"([A-Z]+)'
    status_code: '(\d{3})'

2. AI智能分析配置

ai_analysis:
  # 是否只分析高风险事件
  high_risk_only: true
  # 是否只分析攻击成功的事件  
  successful_attacks_only: true
  # 攻击成功的HTTP状态码定义
  success_status_codes: ['200', '201', '202', '204', '301', '302', '304']
  # AI分析的最大事件数量
  max_ai_analysis: 5
  # 高风险严重级别定义
  high_risk_severity: "high"

3. AI服务配置

# 使用云端DeepSeek(推荐)
ai:
  type: "cloud"
  cloud_provider: "deepseek"

deepseek:
  api_key: "your-api-key-here"
  model: "deepseek-ai/DeepSeek-V3"
  base_url: "https://api.siliconflow.cn/v1/chat/completions"

# 使用本地Ollama
ai:
  type: "local"
  local_provider: "ollama"

ollama:
  model: "deepseek-r1:14b"
  base_url: "http://localhost:11434/api/chat"

4. LM Studio 配置 (v3.1新增)

lm_studio:
  base_url: "http://localhost:1234/v1/chat/completions"  # LM Studio API地址
  model: "auto"                                        # 自动检测模型或指定模型名
  timeout: 60                                          # 请求超时时间
  max_tokens: 2048                                     # 最大令牌数
  temperature: 0.7                                     # 创造性参数

5. 性能优化配置

analysis:
  batch_size: 1000        # 批处理大小
  max_events: 100         # 最大事件数量
  memory_limit_mb: 500    # 内存限制(MB)

🛡️ 安全规则

工具内置了75+个安全检测规则,涵盖:

  • 注入攻击: SQL注入、NoSQL注入、LDAP注入
  • 跨站攻击: XSS、CSRF、SSRF
  • 文件攻击: 路径遍历、文件包含、文件上传
  • 扫描检测: 目录扫描、漏洞扫描、工具识别
  • 其他威胁: WebShell、暴力破解、协议攻击
  • 云原生威胁: Kubernetes、Docker、容器逃逸 (v3.0新增)
  • API安全: GraphQL注入、REST API滥用 (v3.0新增)
  • 现代漏洞: Log4j、Spring4Shell等0-day检测 (v3.0新增)
  • 供应链攻击: 恶意依赖、镜像投毒 (v3.0新增)
  • AI/ML威胁: 模型投毒、对抗性攻击 (v3.1新增)
  • Web3安全: 智能合约攻击、区块链威胁 (v3.1新增)

自定义规则

rules/ 目录下创建YAML文件:

name: "自定义SQL注入检测"
pattern:
  url: "(union.*select|insert.*into)"
  user_agent: "(sqlmap|havij)"
severity: "high"
category: "injection"
description: "检测SQL注入攻击尝试"

📊 分析报告

HTML报告特性(全新升级)

  • 📈 威胁统计仪表板 - 安全事件总数和严重程度分布
  • 🎯 攻击类型TOP10 - 最活跃的攻击类型排名和趋势
  • 🌍 外网IP优先显示 - 外部威胁IP地理分布和风险评级
  • 🏠 内网IP访问统计 - 内部网络访问模式分析
  • 🚨 安全事件时间线 - 按严重程度排序的详细事件
  • 🤖 AI深度分析 - 针对高风险成功攻击的专业分析
  • 📱 响应式设计 - 支持桌面和移动设备

报告布局结构

  1. 📊 概览统计卡片 - 事件总数、高中低危事件统计
  2. 🎯 攻击类型TOP10 - 排名、类型、数量、占比、最高风险级别
  3. 🌍 外网IP访问排名 - IP、访问次数、地理位置、风险等级
  4. 🏠 内网IP访问排名 - 内部网络访问统计
  5. 🚨 安全事件详情 - 攻击详情、AI分析、处置建议

多格式输出

  • HTML格式 - 现代化Web界面,适合查看和演示
  • Markdown格式 - 文档友好,适合报告归档
  • JSON格式 - 结构化数据,适合自动化处理

AI分析报告内容

每个高风险成功攻击事件的AI分析包含:

  • 攻击分析 - 具体攻击类型、技术手段、载荷危害程度
  • 影响评估 - 系统损害、数据风险、业务影响
  • 应急措施 - 立即阻断措施、系统加固建议
  • 威胁情报 - 攻击者特征、组织分析、后续威胁评估

🧪 测试验证

运行测试脚本验证功能:

python test_log_analyzer.py

测试覆盖:

  • ✅ 日志解析器
  • ✅ 规则引擎匹配
  • ✅ AI分析功能
  • ✅ 报告生成器

🔧 高级配置

性能优化

analysis:
  batch_size: 1000          # 批处理大小(推荐1000)
  context_lines: 5          # 上下文行数
  max_events: 100           # 最大事件数
  memory_limit_mb: 500      # 内存限制(MB)

AI配置调优

deepseek:
  max_tokens: 2048          # 最大令牌数
  temperature: 0.7          # 创造性参数(0.0-1.0)
  timeout: 30               # 请求超时(秒)

# AI分析精细控制
ai_analysis:
  high_risk_only: true      # 仅分析高风险事件
  successful_attacks_only: true  # 仅分析成功攻击
  max_ai_analysis: 5        # 分析事件数量限制

规则引擎优化

rules:
  default_severity: "medium"
  case_sensitive: false
  max_matches: 50

文件格式支持

工具支持多种日志文件格式:

  • .log - 标准日志文件
  • .gz - Gzip压缩文件
  • .tar.gz - Tar Gzip压缩包
  • .zip - ZIP压缩包
  • .rar - RAR压缩包

大规模日志处理

  • 支持规模: 145万+日志条目
  • 处理方式: 批量处理,内存友好
  • 压缩支持: 自动解压多种压缩格式
  • 内存管理: 自动垃圾回收,防止内存溢出

📁 项目结构

SSlogs/
├── main.py                    # 主程序入口
├── config.yaml               # 主配置文件
├── requirements.txt          # Python依赖
├── test_log_analyzer.py     # 测试脚本
├── core/                    # 核心模块
│   ├── __init__.py
│   ├── parser.py           # 日志解析器
│   ├── rule_engine.py      # 规则引擎
│   ├── ai_analyzer.py      # AI分析器
│   ├── reporter.py         # 报告生成器
│   └── ip_utils.py         # IP工具
├── rules/                  # 安全规则库
│   ├── sql_injection.yaml
│   ├── xss_attack.yaml
│   └── ...
├── config/                 # 配置目录
│   └── GeoLite2-Country.mmdb
├── logs/                   # 测试日志
├── output/                 # 分析报告
└── README.md

🤝 贡献指南

  1. Fork 项目
  2. 创建特性分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m 'Add amazing feature')
  4. 推送分支 (git push origin feature/amazing-feature)
  5. 创建 Pull Request

开发建议

  • 遵循PEP 8编码规范
  • 添加适当的注释和文档
  • 编写测试用例
  • 更新相关文档

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情

🆘 支持与帮助

常见问题

Q: 日志解析失败怎么办? A: 检查日志格式配置,或使用 --generate-rules 自动生成解析规则

Q: AI分析返回错误? A: 检查API密钥配置和网络连接,或切换到本地Ollama模式

Q: 规则不匹配?
A: 验证规则语法,检查正则表达式,启用调试日志查看详情

技术支持

🔄 更新日志

v3.1.0 (最新) - LM Studio 集成与AI生态扩展 🤖

🆕 LM Studio 完整集成

  • 本地AI模型支持 - 完全兼容 LM Studio,支持本地运行的开源大语言模型
  • 🔧 智能模型检测 - 自动发现和测试可用的本地模型
  • 🌐 统一AI接口 - 在云端 DeepSeek、Ollama 和 LM Studio 之间无缝切换
  • 🛡️ 隐私保护增强 - 本地分析确保敏感日志数据不出网
  • 🎯 模型配置优化 - 支持自动和手动模型选择配置

📊 GUI界面增强

  • 🖥️ LM Studio 集成界面 - 图形化支持 LM Studio 模型管理
  • 🧪 AI连接测试工具 - 一键测试AI服务连接状态
  • 📱 响应式界面优化 - 改进用户交互体验
  • 🔧 配置向导增强 - 简化AI服务配置流程

🛡️ 安全规则扩展

  • 🤖 AI/ML威胁检测 - 新增模型投毒、对抗性攻击检测规则
  • 🔗 Web3安全规则 - 智能合约攻击、区块链威胁识别
  • 📈 威胁情报增强 - 更全面的攻击特征库

性能与稳定性

  • 🚀 AI响应优化 - 改进本地AI模型的响应速度
  • 🔄 错误恢复机制 - 增强AI服务不可用时的降级处理
  • 📊 资源使用优化 - 更高效的内存和CPU管理

v3.0.0 - 重大架构升级 🚀

🎯 检测能力革命性提升

  • 65%检测覆盖率提升 - 新增20+现代威胁检测规则
  • 🧠 多阶段规则引擎 - 快速筛选→上下文分析→威胁评分
  • 🚨 智能威胁评分系统 - 1.0-10.0评分和置信度分析
  • 🔍 智能解码引擎 - URL/HTML/Base64多层编码绕过检测
  • 📊 攻击向量分析 - 自动识别攻击技术和风险因子

🤖 AI分析全面升级

  • 🎓 6种专家分析模板 - SQL注入、XSS、RCE、SSRF、API、云安全专用
  • 🧩 备用分析机制 - AI不可用时自动启用结构化分析
  • 📈 威胁情报关联 - 攻击者特征、组织归属、后续威胁评估
  • 性能优化 - 智能缓存和批处理提升AI分析效率

🛡️ 现代威胁全面覆盖

  • 💥 Log4j漏洞专项检测 - CVE-2021-44228及变体检测
  • 🔌 API安全威胁检测 - GraphQL注入、REST API滥用、参数污染
  • ☁️ 云原生安全覆盖 - Kubernetes、Docker、容器逃逸、云元数据攻击
  • 🔗 供应链攻击识别 - 现代软件供应链威胁检测

性能全面优化

  • 🚀 规则预编译系统 - 启动时预编译,匹配速度提升40%
  • 🔄 动态批处理 - 根据内存使用自动调整批处理大小
  • 📈 实时性能监控 - 内存、CPU、错误率全方位监控
  • 🗂️ 大文件支持增强 - 支持145万+日志条目,智能内存管理

📊 企业级功能

  • 📱 现代化HTML报告 - 响应式设计,威胁仪表板
  • 🎯 威胁统计TOP10 - 攻击类型排名和风险热力图
  • 🌍 地理位置分析增强 - IP威胁评级和攻击源分布
  • 📋 配置系统升级 - 新增规则引擎和性能监控配置

v2.2.0

  • 交互式主机IP输入: 启动时自动提示输入服务器主机IP地址
  • 🔧 IP地址验证: 自动验证IP格式,确保输入正确性
  • 📋 命令行IP参数: 新增 --server-ip 参数,支持直接指定主机IP
  • 📊 报告完整性: 基于主机IP生成更完整准确的分析报告
  • 🎯 用户体验: 改进交互界面,清晰的操作引导和反馈

v2.1.0

  • 智能AI过滤: 只分析高风险成功攻击的TOP5事件
  • 🎯 攻击类型TOP10: 新增攻击类型排名和趋势分析
  • 🌍 外网IP优先: 调整报告布局,外网IP访问排名前置
  • 🚀 性能优化: 支持145万+日志条目的高效处理
  • 🤖 AI提示优化: 针对成功攻击的专业安全分析
  • 📊 报告增强: 现代化界面设计和用户体验提升
  • 🔧 配置升级: AI分析配置项精细化控制

v2.0.0

  • ✨ 新增AI智能分析功能
  • 🎨 改进HTML报告界面
  • 🚀 优化性能和内存使用
  • 🛡️ 增强安全规则库
  • 📱 支持JSON格式报告

v1.0.0

  • 🎉 首次发布
  • 📝 基础日志解析功能
  • 🔍 规则引擎实现
  • 📊 HTML报告生成

🖥️ GUI界面更新日志

v2.3.0 (新增)

  • PyQt6 GUI界面: 新增现代化的PyQt6图形用户界面
  • 🎯 功能完整: 支持所有分析功能,包括日志目录选择、AI分析开关、IP输入等
  • 📈 进度显示: 实时进度条和状态更新
  • 💬 日志输出: 实时分析过程日志显示

v2.4.0 (新增)

  • 🤖 AI模型选择: 支持云端SiliconFlow和本地Ollama两种AI模型
  • 🔍 测试AI功能: 新增测试AI连接按钮,验证配置是否正确
  • 📝 模型配置优化: 支持自定义模型名称和API密钥输入

🌟 为什么选择 SSlogs?

  • 🚀 开箱即用 - 简单配置即可开始分析,支持多种日志格式
  • 🎯 精准检测 - 75+专业安全规则,减少误报和漏报
  • 🤖 AI增强 - 智能威胁分析,提供专业的安全建议
  • 🌐 多模型支持 - 支持云端和本地AI,满足不同隐私需求
  • 📊 可视化报告 - 现代化HTML报告,直观展示威胁态势
  • 高性能 - 优化的批处理引擎,支持大规模日志分析
  • 🛡️ 持续更新 - 跟进最新威胁情报,定期更新检测规则

🚀 立即开始

# 1. 克隆项目
git clone https://github.com/yourusername/SSlogs.git
cd SSlogs

# 2. 安装依赖
pip install -r requirements.txt

# 3. 配置AI服务 (可选)
# 编辑 config.yaml 配置你的AI服务

# 4. 开始分析
python main.py --config config.yaml --ai

Star History Chart


⚡ 让日志分析更智能,让威胁溯源更高效! 🚀

如果这个项目对你有帮助,请给我们一个 ⭐️!

About

应急分析溯源日志工具:一个功能强大的Web日志安全分析工具,集成了规则引擎、AI智能分析和多格式报告生成,专为安全应急响应和威胁溯源而设计。

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •