Senaraufi/Security-Log-Analyser
GitHub: Senaraufi/Security-Log-Analyser
基于 Rust 构建的生产级安全日志分析平台,结合规则匹配与多提供商 LLM,对 Apache 日志中的安全威胁进行检测、评分和可读性解读。
Stars: 3 | Forks: 1
# 安全日志分析器
[](https://www.rust-lang.org/)
[](LICENSE)
[](https://www.first.org/cvss/)
生产级安全日志分析平台,具有双模式操作:面向初学者的简易模式和面向安全专业人员的高级模式。使用 Rust 构建,确保高性能和可靠性。
**开发者:** [Sena Raufi](https://github.com/Senaraufi)
## 功能
### 分析模式
**简易模式** - 面向初学者、学生和小型企业
- 直接将日志粘贴到界面中
- 用通俗易懂的语言解释安全威胁
- 带有颜色编码严重程度的风险评分(0-10 分制)
- 包含命令的可操作修复步骤
- 无需专业技术知识
**高级模式** - 面向安全专业人员
- 文件上传与批量处理
- 为所有威胁提供 CVSS 3.1 评分
- 详细的威胁统计和 IP 分析
- MITRE ATT&CK 框架映射
- 用于审计追踪的数据库集成
### 核心能力
- 多提供商 LLM 支持(OpenAI、Anthropic、Groq、Gemini)
- Apache Combined Log Format 解析
- 10+ 种威胁检测模式(SQL 注入、XSS、恶意软件等)
- 攻击链检测和时间线分析
- 具有响应式设计的实时 Web 仪表板
### 技术栈
- **后端:** Rust, Axum, Tokio, SQLx, rig-core
- **前端:** Vanilla JavaScript, HTML5, CSS3
- **安全:** CVSS 3.1, MITRE ATT&CK
- **架构:** 包含 4 个独立 crate 的 Cargo workspace
## 项目结构
```
security_api/
├── crates/
│ ├── common/ # Shared types, parsers, CVSS scoring
│ ├── analyzer-basic/ # Pattern-based threat detection
│ ├── analyzer-llm/ # Multi-provider LLM analysis
│ └── api/ # Web server and frontend
├── .env # Configuration (gitignored)
└── test_logs/ # Sample log files
```
## 架构可视化

*交互式知识图谱展示了 15 个社区中的 292 个代码实体和 574 个关系。使用 [Graphify](https://github.com/safishamsi/graphify) 生成。*
**关键组件:**
- **核心节点:** `LlmAnalyzer`, `AnalyzerError`, `ApacheLog`, `parse_apache_combined()`
- **15 个社区:** 相关功能的逻辑分组
- **跨模块桥梁:** 连接系统不同部分的高介数中心性节点
[查看交互式图谱](graphify-out/graph.html) | [完整分析报告](graphify-out/GRAPH_REPORT.md)
## 安装说明
### 前置条件
- Rust 1.70+
- MySQL(可选,用于数据库功能)
- LLM API 密钥(推荐使用 Groq 免费层级)
### 设置
```
# 导航到 project
cd security_api
# 配置 environment
cp .env.example .env
# 添加你的 API key: GROQ_API_KEY=your_key_here
# Build 并运行
cargo run -p security-api --release
# 访问 http://localhost:3000
```
## 配置
### LLM 提供商设置
使用您首选的提供商创建一个 `.env` 文件:
```
# Groq (提供 Free tier)
LLM_PROVIDER=groq
LLM_MODEL=llama-3.3-70b-versatile
GROQ_API_KEY=your_key_here
# 或使用 Gemini
LLM_PROVIDER=gemini
LLM_MODEL=gemini-1.5-flash
GEMINI_API_KEY=your_key_here
```
有关详细的配置选项,请参阅 `crates/analyzer-llm/LLM_CONFIG.md`。
## 使用说明
### 简易模式
1. 打开 http://localhost:3000
2. 将您的 Apache 日志粘贴到文本区域
3. 点击“分析日志”
4. 查看通俗易懂的解释和建议的修复方法
### 高级模式
1. 在页眉处切换到“高级模式”
2. 选择分析类型(标准或 AI 驱动)
3. 上传日志文件
4. 查看详细的 CVSS 评分和威胁分析
## 开发说明
```
# Build workspace
cargo build --workspace
# 运行 tests
cargo test --workspace
# Build 特定 crate
cargo build -p security-analyzer-llm
```
## 许可证
MIT License - 详情请参阅 LICENSE 文件
## 项目信息
**状态:** 生产就绪
**语言:** Rust
**架构:** Cargo Workspace(4 个 crate)
**开发者:** [Sena Raufi](https://github.com/Senaraufi)
标签:AMSI绕过, CISA项目, CVSS评分, IP 地址批量处理, LLM集成, Rust, Web仪表盘, 可视化界面, 后端开发, 威胁检测, 安全日志分析, 插件系统, 数据可视化, 网络流量审计