Skip to content

vam876/FastWinLog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FastWinLog - 轻量级Windows 事件日志分析工具

Version Python React Platform

智能解析 · AI 辅助 · 上下文知识库 · 安全告警分析 · 深度统计

WEB日志分析工具链接 | Linux日志分析工具链接


功能特性

image

软件架构

技术栈

前端

  • React 18 + TypeScript
  • Vite 5.0 (构建工具)
  • CSS Modules (样式隔离)

后端

  • Python 3.12
  • WebView (桌面容器)
  • libevtx-python (EVTX 解析)
  • SQLite (缓存数据库)

项目目录结构

FastWinLog/
├── backend/                      # Python 后端
│   ├── api/                     # API 接口层
│   │   ├── main_api.py         # 主 API 路由
│   │   └── __init__.py
│   ├── services/                # 业务逻辑层
│   │   ├── alert_service.py    # 告警服务
│   │   ├── cache_service.py    # 缓存服务
│   │   ├── event_service.py    # 事件处理服务
│   │   ├── log_service.py      # 日志服务
│   │   ├── search_service.py   # 搜索服务
│   │   ├── statistics_service.py # 统计服务
│   │   └── __init__.py
│   ├── repositories/            # 数据访问层
│   │   ├── evtx_repository.py  # EVTX 文件访问
│   │   ├── memory_repository.py # 内存数据访问
│   │   ├── sqlite_repository.py # SQLite 数据访问
│   │   └── __init__.py
│   ├── core/                    # 核心模块
│   │   ├── alert_baselines.py  # 告警基线
│   │   ├── alert_store.py      # 告警存储
│   │   ├── evtx_parser.py      # EVTX 解析器
│   │   ├── field_descriptions.py # 字段描述
│   │   ├── log_descriptions.py # 日志描述
│   │   ├── security_presets.py # 安全预设规则
│   │   ├── static_field_dict.py # 静态字段字典
│   │   └── windows_events_database.py # Windows 事件数据库
│   ├── models/                  # 数据模型
│   │   ├── event.py            # 事件模型
│   │   ├── log_file.py         # 日志文件模型
│   │   ├── pagination.py       # 分页模型
│   │   └── search_result.py    # 搜索结果模型
│   ├── utils/                   # 工具类
│   │   ├── memory_manager.py   # 内存管理
│   │   ├── progress_tracker.py # 进度追踪
│   │   └── xml_parser.py       # XML 解析
│   ├── main.py                  # 后端入口
│   └── __init__.py
├── frontend/                    # 编译后的前端资源
│   ├── assets/                 # 静态资源(JS、CSS、图片)
│   └── index.html              # 前端入口页面
├── cache/                       # SQLite 缓存目录
│   ├── alerts.db               # 告警数据库
│   └── *.cache.db              # 日志缓存数据库
├── logs/                        # 示例日志文件目录
│   ├── Security.evtx           # 安全日志
│   ├── System.evtx             # 系统日志
│   ├── Application.evtx        # 应用日志
│   └── ...                     # 其他日志文件
├── docs/                        # 文档目录
│   ├── API.md                  # API 文档
│   ├── ARCHITECTURE.md         # 架构文档
│   └── QUICKSTART.md           # 快速开始指南
├── main.py                      # 应用程序主入口
├── requirements.txt             # Python 依赖
├── LICENSE                      # 开源协议
└── VERSION                      # 版本号
image

核心功能

1. 智能日志解析

  • 全格式支持: Security、System、Application、PowerShell 等日志,后续版本将支持logs目录下的所有 Windows 事件日志
  • 自动识别: 基于 Channel 字段智能识别日志类型
  • 深度解析: 提取 100+ 字段,包括嵌套字段和键值对格式
  • 高性能缓存: SQLite 缓存机制,支持百万级事件加载
  • 增量更新: 智能缓存管理,避免重复解析
image

2. 全文搜索引擎

  • 关键词搜索: 支持全字段模糊匹配
  • 高级搜索: 多条件组合过滤(EventID、Level、Computer、时间范围等)
  • 实时搜索: 基于 SQLite FTS5 全文索引,秒级响应
  • 搜索历史: 自动保存搜索记录
  • 结果高亮: 关键词高亮显示

3. 智能告警系统

  • 内置规则库:
    • 57+ 条 Security 安全规则
    • 31+ 条 PowerShell 脚本规则
    • 31+ 条 System 系统规则
    • 15+ 条 Application 应用规则
  • 自定义规则:
    • 匹配规则(单条件/多条件/逻辑组合)
    • 阈值规则(时间窗口 + 分组聚合)
    • 严重级别(Critical/High/Medium/Low/Info)
  • 规则管理:
    • JSON 格式导入导出
    • 规则启用/禁用
    • 规则编辑和删除
    • 批量操作
  • 实时扫描:
    • 智能过滤,只返回匹配事件
    • 进度跟踪
    • 扫描历史记录

4. AI 智能分析

image
  • AI 对话助手:

    • 浮动 AI 面板,随时咨询
    • 流式输出,实时响应
    • 支持 OpenAI、Ollama、自定义 API
    • 支持一条或多条日志聚合分析
  • 智能日志分析:

    • 自动分析选中的日志事件
    • 识别安全威胁和异常行为
    • 提供修复建议和最佳实践
  • 上下文工程:

    • 知识库管理(添加/编辑/删除)
    • 自动从日志创建知识条目
    • 知识库启用/禁用控制
    • 上下文长度限制(避免 token 超限)
  • AI 配置:

    • 支持多种 AI 模型(GPT-4、GPT-3.5、Claude 等)
    • 自定义 API 端点
    • Temperature 和 Max Tokens 调节
    • API Key 安全存储

5. 可视化统计分析

  • 登录分析:
    • 成功/失败登录趋势图
    • Top IP 地址排行
    • Top 用户排行
    • 登录类型分布
    • 时间线分析(按小时/天/周)
  • 进程监控:
    • 进程创建趋势
    • 可疑进程检测
    • 进程命令行分析
    • 父子进程关系
  • 账户管理:
    • 用户创建/删除/修改统计
    • 组成员变更追踪
    • 权限提升检测
  • 应用分析:
    • 应用崩溃统计
    • 错误类型分布
    • 崩溃趋势分析
  • 系统健康:
    • 服务状态监控
    • 系统事件统计
    • 错误/警告分布

6. 数据导出功能

  • CSV 导出:
    • 导出全部数据
    • 导出搜索结果
    • 导出高级搜索结果
    • 自定义字段选择
  • JSON 导出: 完整事件数据导出
  • 告警规则导出: JSON 格式,方便团队共享

7. 高级特性

  • 字段元数据: 100+ 字段的中文描述和说明
  • 事件描述库: 1000+ 事件 ID 的详细说明
  • 内存管理: 智能内存释放,支持大文件分析
  • 进度追踪: 实时显示解析/扫描进度
  • 错误处理: 完善的错误提示和恢复机制
  • 列设置: 自定义显示列,保存用户偏好

未来规划

扩展支持(规划中)

  • 所有 Windows 日志: 支持所有 Windows 事件日志类型
  • Sysmon 日志: 深度集成 Sysmon 高级监控

快速开始

环境要求

  • 操作系统: Windows 10/11 或 Windows Server 2016+
  • Python: 3.8+ (开发环境需要)
  • 内存: 建议 4GB 以上
  • 磁盘: 至少 500MB 可用空间

安装方式

方式一:直接下载可执行文件(推荐)

  1. 访问 Releases 页面
  2. 下载最新版本的 FastWinLog-v1.0.0.exe
  3. 双击运行即可使用

方式二:从源码运行

# 克隆仓库
git clone https://github.com/vam876/FastWinLog.git
cd FastWinLog

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

# 运行程序
python main.py

或者直接双击 start.bat 启动

基本使用

  1. 加载日志文件

    • 点击"选择文件"按钮
    • 选择 .evtx 格式的 Windows 事件日志文件
    • 等待解析完成(首次解析会创建缓存)
  2. 搜索日志

    • 使用顶部搜索框进行关键词搜索
    • 点击"高级搜索"进行多条件过滤
    • 支持按 EventID、Level、时间范围等筛选
  3. 查看统计

    • 切换到"统计"标签页
    • 查看登录分析、进程监控、账户管理等统计图表
  4. 配置告警

    • 切换到"告警"标签页
    • 启用内置规则或创建自定义规则
    • 点击"扫描"开始检测
  5. AI 分析(可选)

    • 在设置中配置 AI API
    • 选中日志事件后点击 AI 按钮
    • 获取智能分析和建议

详细使用说明请参考 快速开始指南


性能指标

  • 解析速度: 14,767 事件/秒(使用 pyevtx)
  • 缓存机制: SQLite 持久化,重启后秒开
  • 内存优化: 智能管理,最多保留 2 个文件在内存
  • 搜索响应: 基于 FTS5 全文索引,毫秒级响应
  • 支持规模: 单文件支持百万级事件

AI 功能

AI 对话助手

1. 启用 AI 功能

设置 → AI 设置 → 配置 API

支持的 AI 服务:

  • OpenAI (GPT-4, GPT-3.5-turbo)
  • Azure OpenAI
  • 自定义 API 端点(兼容 OpenAI 格式)

2. 使用 AI 分析日志

选中日志事件 → 点击 AI 按钮 → 自动分析

AI 会自动:

  • 识别事件类型和严重性
  • 分析潜在的安全威胁
  • 提供修复建议
  • 关联相关事件

3. 知识库管理

AI 面板 → 知识库图标 → 管理知识条目

功能:

  • 添加自定义知识条目
  • 从日志创建知识
  • 启用/禁用知识库
  • 控制上下文长度

AI 配置示例

{
  "provider": "openai",
  "apiKey": "sk-...",
  "model": "gpt-4",
  "temperature": 0.7,
  "maxTokens": 2000
}

开发指南

构建可执行文件

# 安装 PyInstaller
pip install pyinstaller

# 使用配置文件构建
pyinstaller build-windows.spec

# 生成的可执行文件位于 dist/ 目录

开发环境设置

# 克隆仓库
git clone https://github.com/vam876/FastWinLog.git
cd FastWinLog

# 创建虚拟环境(推荐)
python -m venv venv
venv\Scripts\activate

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

# 运行开发服务器
python main.py

技术架构

  • 前端: React 18 + TypeScript + Vite
  • 后端: Python 3.12 + FastAPI 风格架构
  • 解析引擎: libevtx-python (pyevtx)
  • 数据库: SQLite (缓存) + 内存数据库
  • UI 容器: pywebview

详细架构说明请参考 架构文档


文档


贡献指南

欢迎贡献代码、报告问题或提出建议!

如何贡献

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 提交 Pull Request

报告问题

如果发现 Bug 或有功能建议,请在 Issues 页面提交。


许可证

本项目采用 Apache License 2.0 开源协议 - 详见 LICENSE 文件。


致谢

  • pywebview - 提供桌面应用容器
  • libevtx - 高性能 EVTX 解析库
  • React - 前端 UI 框架
  • 所有贡献者和使用者

联系方式


如果这个项目对你有帮助,请给个 Star!

Made with ❤️ by FastWinLog Team

About

一款集成AI辅助分析功能的Windows日志安全分析工具

Resources

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages