akash02062005/CYBER-THREAT-ANALYZER

GitHub: akash02062005/CYBER-THREAT-ANALYZER

一款基于规则推理引擎的实时网络安全威胁检测与情报分析专家系统,通过评估遥测数据自动计算威胁置信度并提供缓解建议。

Stars: 0 | Forks: 0

# 🛡️ 网络威胁分析器 ### 基于 AI 的实时网络安全威胁检测与情报专家系统 [![React](https://img.shields.io/badge/React-18.x-61DAFB?style=for-the-badge&logo=react&logoColor=white)](https://reactjs.org/) [![TypeScript](https://img.shields.io/badge/TypeScript-5.x-3178C6?style=for-the-badge&logo=typescript&logoColor=white)](https://www.typescriptlang.org/) [![Vite](https://img.shields.io/badge/Vite-5.x-646CFF?style=for-the-badge&logo=vite&logoColor=white)](https://vitejs.dev/) [![TailwindCSS](https://img.shields.io/badge/Tailwind_CSS-3.x-06B6D4?style=for-the-badge&logo=tailwindcss&logoColor=white)](https://tailwindcss.com/) [![License](https://img.shields.io/badge/License-MIT-green?style=for-the-badge)](LICENSE)

一个基于规则的智能推理系统,分析网络安全遥测数据
以检测威胁、评估严重等级,并提供可操作的建议。


[概述](#-overview) • [功能](#-key-features) • [架构](#%EF%B8%8F-system-architecture) • [技术栈](#%EF%B8%8F-tech-stack) • [快速开始](#-getting-started) • [许可证](#-license)

## 🔍 概述 **Cyber Threat Analyzer** 是一个全面的、AI 增强的专家系统,专为实时网络安全威胁检测和情报而设计。它将**基于规则的推理引擎**与**基于 AI 的安全工具**相结合,为安全专业人员和分析师提供一个集威胁监控与分析于一体的平台。 该系统根据可自定义的安全规则评估网络遥测数据,计算威胁置信度得分,按严重程度对威胁进行分类,并在现代响应式 Web 界面中提供可操作的缓解建议。

## ✨ 核心功能
🔧 核心专家系统
📋 规则管理 创建、编辑、删除、启用/禁用具有多条件逻辑的自定义安全检测规则
🔨 条件构建器 支持 7 种遥测事实类型和 6 种比较运算符的动态条件创建
📡 遥测输入 实时输入安全指标 —— 登录失败、网络流量、端口扫描、系统异常
📊 威胁分析 自动规则评估,包含置信度评分、严重性评估和可操作的建议
💾 数据持久化 基于 LocalStorage 的自动保存,支持会话连续性和 7 条预配置默认规则
🤖 基于 AI 的工具
🧠 AI 安全顾问 经过网络安全知识训练的交互式 AI 聊天机器人,用于实时威胁咨询
🔎 威胁情报 CVE 查找、漏洞研究和攻击模式分析,由 AI 驱动的网络搜索提供支持
📰 安全新闻推送 实时网络安全新闻聚合,包含违规通知、漏洞警报和行业动态


## 🏗️ 系统架构 ``` ┌──────────────────────────────────────────────────────────────┐ │ PRESENTATION LAYER │ │ │ │ ┌───────────┐ ┌──────────┐ ┌───────────┐ ┌──────────┐ │ │ │ Dashboard │ │ Rules │ │ Telemetry │ │ Results │ │ │ │ Page │ │ Page │ │ Page │ │ Page │ │ │ └───────────┘ └──────────┘ └───────────┘ └──────────┘ │ │ │ │ ┌───────────┐ ┌──────────┐ ┌───────────────────────────┐ │ │ │ AI Advisor│ │ Threat │ │ Security News Feed │ │ │ │ (Chat) │ │ Search │ │ (Live Updates) │ │ │ └───────────┘ └──────────┘ └───────────────────────────┘ │ ├──────────────────────────────────────────────────────────────┤ │ COMPONENT LAYER │ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────────┐ │ │ │ RuleCard │ │ ResultCard │ │ ConditionBuilder │ │ │ │ SeverityBadge│ │ Dropzone │ │ shadcn/ui │ │ │ └──────────────┘ └──────────────┘ └──────────────────┘ │ ├──────────────────────────────────────────────────────────────┤ │ LOGIC LAYER │ │ │ │ ┌──────────────────────────────────────────────────────┐ │ │ │ INFERENCE ENGINE (TypeScript) │ │ │ │ │ │ │ │ • evaluateCondition() → Condition matching │ │ │ │ • evaluateRule() → Rule-level evaluation │ │ │ │ • runInference() → Full telemetry scan │ │ │ │ • calculateThreatSummary() → Severity rollup │ │ │ └──────────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────────┐ │ │ │ useRules() │ │ useToast() │ │ API Service │ │ │ │ useDebounce()│ │ useMobile() │ │ (AI Queries) │ │ │ └──────────────┘ └──────────────┘ └──────────────────┘ │ ├──────────────────────────────────────────────────────────────┤ │ DATA LAYER │ │ │ │ ┌────────────────────────┐ ┌───────────────────────────┐ │ │ │ Browser localStorage │ │ External API Services │ │ │ │ (Rules & Telemetry) │ │ (AI, News, CVE Data) │ │ │ └────────────────────────┘ └───────────────────────────┘ │ └──────────────────────────────────────────────────────────────┘ ```

## 🛠️ 技术栈
层级 技术
前端框架React 18 与 TypeScript
构建工具Vite 5
样式Tailwind CSS 3 与自定义主题
UI 组件shadcn/ui (Radix UI primitives)
路由React Router v7
状态管理React Hooks + Context API
图表Recharts
表单处理React Hook Form + Zod 验证
数据存储浏览器 LocalStorage
图标Lucide React
通知Sonner Toast
后端Supabase(可选)


## ⚙️ 推理引擎 该系统的核心是一个**前向链式基于规则的推理引擎**,它根据用户定义的规则评估安全遥测数据。
### 📡 遥测事实类型 | 事实 Key | 类型 | 描述 | |:---------|:----:|:------------| | `failedLogins` | `number` | 认证失败次数 | | `distinctIPs` | `number` | 唯一源 IP 地址数量 | | `portScans` | `number` | 检测到的端口扫描事件 | | `c2Connections` | `number` | 命令与控制 (C&C) 服务器连接数 | | `trafficSpike` | `number` | 流量增长百分比 | | `processAnomaly` | `boolean` | 检测到可疑的进程行为 | | `highCPU` | `boolean` | 异常 CPU 使用率标志 |
### 🔣 支持的运算符
`>=`    `<=`    `>`    `<`    `==`    `!=`

### 📈 置信度评分 | 置信度 | 分类 | 操作 | |:----------:|:---------------|:-------| | **100%** | 确定威胁 | 需要立即响应 | | **75 – 99%** | 极有可能威胁 | 紧急调查 | | **50 – 74%** | 可能威胁 | 尽快调查 | | **1 – 49%** | 监控中 | 继续观察 | | **0%** | 无威胁 | 无需操作 |
### 🚨 严重等级 | 等级 | 颜色 | 优先级 | |:------|:-----:|:---------| | 🔴 **严重** | `#FF4444` | 最高 — 需要立即采取行动 | | 🟠 **高** | `#FF9800` | 需要紧急调查 | | 🟡 **中** | `#FFC107` | 计划性调查 | | 🟢 **低** | `#4CAF50` | 常规监控 |

## 🚀 快速开始 ### 前置条件
### 安装 ``` # 克隆仓库 git clone https://github.com/akash02062005/CYBER-THREAT-ANALYZER.git cd CYBER-THREAT-ANALYZER # 安装依赖 pnpm install # 或 npm install # 创建环境文件(可选) cp .env.example .env # 启动开发服务器 npx vite --host 127.0.0.1 # 在浏览器中打开 # 导航至 http://127.0.0.1:5173 ```
### 环境变量 | 变量 | 描述 | 必需 | |:---------|:------------|:--------:| | `VITE_APP_ID` | 应用标识符 | 可选 |

## 📁 项目结构 ``` CYBER-THREAT-ANALYZER/ │ ├── public/ # Static assets │ └── favicon.png │ ├── src/ │ ├── components/ │ │ ├── common/ # Shared components (Header, Footer) │ │ ├── threat/ # Threat-specific components │ │ │ ├── ConditionBuilder.tsx # ↳ Dynamic rule condition builder │ │ │ ├── ResultCard.tsx # ↳ Threat result display card │ │ │ ├── RuleCard.tsx # ↳ Security rule card component │ │ │ └── SeverityBadge.tsx # ↳ Severity level indicator │ │ └── ui/ # shadcn/ui base components │ │ │ ├── hooks/ │ │ ├── use-debounce.ts # Input debouncing │ │ ├── use-mobile.ts # Responsive breakpoint detection │ │ ├── use-rules.ts # Rules state management │ │ └── use-toast.tsx # Toast notifications │ │ │ ├── lib/ │ │ ├── inference-engine.ts # ⭐ Core threat inference engine │ │ └── utils.ts # Utility helpers │ │ │ ├── pages/ │ │ ├── Dashboard.tsx # Main landing dashboard │ │ ├── RulesPage.tsx # Rule management interface │ │ ├── TelemetryPage.tsx # Telemetry data input │ │ ├── ResultsPage.tsx # Threat analysis results │ │ ├── SecurityAdvisorPage.tsx # AI chatbot advisor │ │ ├── ThreatSearchPage.tsx # CVE & threat search │ │ └── SecurityNewsPage.tsx # Live security news feed │ │ │ ├── services/ │ │ └── api-service.ts # API integration layer │ │ │ ├── types/ │ │ └── threat.ts # TypeScript type definitions │ │ │ ├── App.tsx # Root application component │ ├── routes.tsx # Route configuration │ ├── main.tsx # Application entry point │ └── index.css # Global styles │ ├── .gitignore ├── biome.json # Biome linter config ├── components.json # shadcn/ui config ├── index.html # HTML entry point ├── package.json ├── postcss.config.js ├── tailwind.config.js # Tailwind CSS config ├── tsconfig.json # TypeScript config └── vite.config.ts # Vite build config ```

## 🔐 默认安全规则 系统附带 **7 条预配置的检测规则**: | # | 规则名称 | 严重性 | 检测逻辑 | |:-:|:----------|:--------:|:----------------| | 1 | **暴力破解攻击检测** | 🟠 高 | `failedLogins >= 10` | | 2 | **分布式攻击模式** | 🔴 严重 | `distinctIPs >= 50` AND `failedLogins >= 5` | | 3 | **端口扫描活动** | 🟡 中 | `portScans >= 20` | | 4 | **命令与控制通信** | 🔴 严重 | `c2Connections > 0` | | 5 | **异常流量激增** | 🟡 中 | `trafficSpike >= 200` | | 6 | **系统异常检测** | 🟠 高 | `processAnomaly == true` AND `highCPU == true` | | 7 | **低级别威胁指标** | 🟢 低 | `failedLogins >= 3` AND `failedLogins < 10` |

## 🔒 安全与隐私
🖥️ 客户端处理 所有遥测数据完全在浏览器内处理
🚫 无外部存储 安全数据绝不会离开用户的设备
💾 仅使用 LocalStorage 规则和遥测数据保存在浏览器 LocalStorage 中
输入验证 所有用户输入均通过 Zod schema 进行验证
🛡️ XSS 防护 内置的 React 净化功能可防止注入攻击


## 📄 许可证 本项目基于 **MIT License** 授权 —— 详见 [LICENSE](LICENSE) 文件。


[⬆ 返回顶部](#%EF%B8%8F-cyber-threat-analyzer)
标签:AMSI绕过, React, shadcn/ui, Syscalls, TypeScript, Vite, 专家系统, 威胁检测, 安全, 安全插件, 自动化攻击, 超时处理