Senaraufi/Security-Log-Analyser

GitHub: Senaraufi/Security-Log-Analyser

基于 Rust 构建的生产级安全日志分析平台,结合规则匹配与多提供商 LLM,对 Apache 日志中的安全威胁进行检测、评分和可读性解读。

Stars: 3 | Forks: 1

# 安全日志分析器 [![Rust](https://img.shields.io/badge/rust-1.70%2B-orange.svg)](https://www.rust-lang.org/) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) [![CVSS](https://img.shields.io/badge/CVSS-3.1-green.svg)](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 ``` ## 架构可视化 ![项目架构图](https://static.pigsec.cn/wp-content/uploads/repos/cas/bb/bbc37fcc692c2408aad74bb815445285812eddcb032d00bf09ac6e54159fd1b5.svg) *交互式知识图谱展示了 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仪表盘, 可视化界面, 后端开发, 威胁检测, 安全日志分析, 插件系统, 数据可视化, 网络流量审计