企业级威胁检测与智能安全分析系统
一个功能强大的智能安全日志分析平台,集成了多阶段规则引擎、AI威胁分析、云原生安全检测和实时性能监控,专为现代安全运营中心(SOC)和应急响应团队设计。
- 🤖 本地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多层编码绕过检测
- 📊 攻击向量分析 - 自动识别攻击技术和风险因子
- 🎓 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界面)
-
克隆项目
git clone <repository-url> cd SSlogs
-
安装依赖
pip install -r requirements.txt
-
配置GeoIP数据库 (IP地理位置分析)
# 下载GeoLite2数据库 wget https://github.com/mojolabs-id/GeoLite2-Database/raw/main/GeoLite2-Country.mmdb mv GeoLite2-Country.mmdb config/ -
配置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图形用户界面
python launcher.py --gui
# 启动支持LM Studio的GUI界面
python launcher.py --gui --lm-studio如果遇到GUI依赖问题,请先安装PyQt6:
pip install PyQt6# 启动旧版tkinter图形用户界面
python launcher.py --old-guiPyQt6 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地址,自动验证格式
- 命令行指定:使用
--server-ip参数直接指定 - 配置文件设置:在
config.yaml中预设默认IP
==================================================
欢迎使用应急分析溯源日志工具
==================================================
请输入服务器主机IP地址: 192.168.1.100
开始分析主机 192.168.1.100 的日志...
==================================================
本工具的AI分析模块支持智能过滤和深度分析:
- 智能筛选: 只分析高风险且攻击成功的事件
- 成功判定: 基于HTTP状态码(200、201、202、204、301、302、304)
- TOP N分析: 默认分析最关键的5个事件
- 深度评估: 包含攻击分析、影响评估、应急措施、威胁情报
log_format:
fields:
src_ip: '(\d+\.\d+\.\d+\.\d+)'
timestamp: '\[(.*?)\]'
request_method: '"([A-Z]+)'
status_code: '(\d{3})'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"# 使用云端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"lm_studio:
base_url: "http://localhost:1234/v1/chat/completions" # LM Studio API地址
model: "auto" # 自动检测模型或指定模型名
timeout: 60 # 请求超时时间
max_tokens: 2048 # 最大令牌数
temperature: 0.7 # 创造性参数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注入攻击尝试"- 📈 威胁统计仪表板 - 安全事件总数和严重程度分布
- 🎯 攻击类型TOP10 - 最活跃的攻击类型排名和趋势
- 🌍 外网IP优先显示 - 外部威胁IP地理分布和风险评级
- 🏠 内网IP访问统计 - 内部网络访问模式分析
- 🚨 安全事件时间线 - 按严重程度排序的详细事件
- 🤖 AI深度分析 - 针对高风险成功攻击的专业分析
- 📱 响应式设计 - 支持桌面和移动设备
- 📊 概览统计卡片 - 事件总数、高中低危事件统计
- 🎯 攻击类型TOP10 - 排名、类型、数量、占比、最高风险级别
- 🌍 外网IP访问排名 - IP、访问次数、地理位置、风险等级
- 🏠 内网IP访问排名 - 内部网络访问统计
- 🚨 安全事件详情 - 攻击详情、AI分析、处置建议
- HTML格式 - 现代化Web界面,适合查看和演示
- Markdown格式 - 文档友好,适合报告归档
- JSON格式 - 结构化数据,适合自动化处理
每个高风险成功攻击事件的AI分析包含:
- 攻击分析 - 具体攻击类型、技术手段、载荷危害程度
- 影响评估 - 系统损害、数据风险、业务影响
- 应急措施 - 立即阻断措施、系统加固建议
- 威胁情报 - 攻击者特征、组织分析、后续威胁评估
运行测试脚本验证功能:
python test_log_analyzer.py测试覆盖:
- ✅ 日志解析器
- ✅ 规则引擎匹配
- ✅ AI分析功能
- ✅ 报告生成器
analysis:
batch_size: 1000 # 批处理大小(推荐1000)
context_lines: 5 # 上下文行数
max_events: 100 # 最大事件数
memory_limit_mb: 500 # 内存限制(MB)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
- Fork 项目
- 创建特性分支 (
git checkout -b feature/amazing-feature) - 提交更改 (
git commit -m 'Add amazing feature') - 推送分支 (
git push origin feature/amazing-feature) - 创建 Pull Request
- 遵循PEP 8编码规范
- 添加适当的注释和文档
- 编写测试用例
- 更新相关文档
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
Q: 日志解析失败怎么办?
A: 检查日志格式配置,或使用 --generate-rules 自动生成解析规则
Q: AI分析返回错误? A: 检查API密钥配置和网络连接,或切换到本地Ollama模式
Q: 规则不匹配?
A: 验证规则语法,检查正则表达式,启用调试日志查看详情
- 📧 邮件支持: support@example.com
- 💬 讨论区: GitHub Discussions
- 🐛 问题反馈: GitHub Issues
- ✨ 本地AI模型支持 - 完全兼容 LM Studio,支持本地运行的开源大语言模型
- 🔧 智能模型检测 - 自动发现和测试可用的本地模型
- 🌐 统一AI接口 - 在云端 DeepSeek、Ollama 和 LM Studio 之间无缝切换
- 🛡️ 隐私保护增强 - 本地分析确保敏感日志数据不出网
- 🎯 模型配置优化 - 支持自动和手动模型选择配置
- 🖥️ LM Studio 集成界面 - 图形化支持 LM Studio 模型管理
- 🧪 AI连接测试工具 - 一键测试AI服务连接状态
- 📱 响应式界面优化 - 改进用户交互体验
- 🔧 配置向导增强 - 简化AI服务配置流程
- 🤖 AI/ML威胁检测 - 新增模型投毒、对抗性攻击检测规则
- 🔗 Web3安全规则 - 智能合约攻击、区块链威胁识别
- 📈 威胁情报增强 - 更全面的攻击特征库
- 🚀 AI响应优化 - 改进本地AI模型的响应速度
- 🔄 错误恢复机制 - 增强AI服务不可用时的降级处理
- 📊 资源使用优化 - 更高效的内存和CPU管理
- ✨ 65%检测覆盖率提升 - 新增20+现代威胁检测规则
- 🧠 多阶段规则引擎 - 快速筛选→上下文分析→威胁评分
- 🚨 智能威胁评分系统 - 1.0-10.0评分和置信度分析
- 🔍 智能解码引擎 - URL/HTML/Base64多层编码绕过检测
- 📊 攻击向量分析 - 自动识别攻击技术和风险因子
- 🎓 6种专家分析模板 - SQL注入、XSS、RCE、SSRF、API、云安全专用
- 🧩 备用分析机制 - AI不可用时自动启用结构化分析
- 📈 威胁情报关联 - 攻击者特征、组织归属、后续威胁评估
- ⚡ 性能优化 - 智能缓存和批处理提升AI分析效率
- 💥 Log4j漏洞专项检测 - CVE-2021-44228及变体检测
- 🔌 API安全威胁检测 - GraphQL注入、REST API滥用、参数污染
- ☁️ 云原生安全覆盖 - Kubernetes、Docker、容器逃逸、云元数据攻击
- 🔗 供应链攻击识别 - 现代软件供应链威胁检测
- 🚀 规则预编译系统 - 启动时预编译,匹配速度提升40%
- 🔄 动态批处理 - 根据内存使用自动调整批处理大小
- 📈 实时性能监控 - 内存、CPU、错误率全方位监控
- 🗂️ 大文件支持增强 - 支持145万+日志条目,智能内存管理
- 📱 现代化HTML报告 - 响应式设计,威胁仪表板
- 🎯 威胁统计TOP10 - 攻击类型排名和风险热力图
- 🌍 地理位置分析增强 - IP威胁评级和攻击源分布
- 📋 配置系统升级 - 新增规则引擎和性能监控配置
- ✨ 交互式主机IP输入: 启动时自动提示输入服务器主机IP地址
- 🔧 IP地址验证: 自动验证IP格式,确保输入正确性
- 📋 命令行IP参数: 新增
--server-ip参数,支持直接指定主机IP - 📊 报告完整性: 基于主机IP生成更完整准确的分析报告
- 🎯 用户体验: 改进交互界面,清晰的操作引导和反馈
- ✨ 智能AI过滤: 只分析高风险成功攻击的TOP5事件
- 🎯 攻击类型TOP10: 新增攻击类型排名和趋势分析
- 🌍 外网IP优先: 调整报告布局,外网IP访问排名前置
- 🚀 性能优化: 支持145万+日志条目的高效处理
- 🤖 AI提示优化: 针对成功攻击的专业安全分析
- 📊 报告增强: 现代化界面设计和用户体验提升
- 🔧 配置升级: AI分析配置项精细化控制
- ✨ 新增AI智能分析功能
- 🎨 改进HTML报告界面
- 🚀 优化性能和内存使用
- 🛡️ 增强安全规则库
- 📱 支持JSON格式报告
- 🎉 首次发布
- 📝 基础日志解析功能
- 🔍 规则引擎实现
- 📊 HTML报告生成
- ✨ PyQt6 GUI界面: 新增现代化的PyQt6图形用户界面
- 🎯 功能完整: 支持所有分析功能,包括日志目录选择、AI分析开关、IP输入等
- 📈 进度显示: 实时进度条和状态更新
- 💬 日志输出: 实时分析过程日志显示
- 🤖 AI模型选择: 支持云端SiliconFlow和本地Ollama两种AI模型
- 🔍 测试AI功能: 新增测试AI连接按钮,验证配置是否正确
- 📝 模型配置优化: 支持自定义模型名称和API密钥输入
- 🚀 开箱即用 - 简单配置即可开始分析,支持多种日志格式
- 🎯 精准检测 - 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⚡ 让日志分析更智能,让威胁溯源更高效! 🚀
如果这个项目对你有帮助,请给我们一个 ⭐️!