shaunakmirajgaonkar/cybershield-ai

GitHub: shaunakmirajgaonkar/cybershield-ai

一个完全本地运行的 AI 网络安全威胁检测平台,提供入侵检测、恶意软件与钓鱼识别及可解释的自动化事件响应,无需任何云 API。

Stars: 0 | Forks: 0

# CyberShield AI — 100% 本地化网络安全威胁检测平台 在本地运行此平台无需云 API、外部 SIEM 或 Kafka 集群。 | 功能 | 本地实现 | |---|---| | 网络入侵 / 异常检测 | `scikit-learn` `IsolationForest`,使用 `joblib` 进行训练和持久化 | | 恶意软件分类 | 基于静态文件启发式规则的可解释加权规则引擎 | | 钓鱼 / 恶意 URL 检测 | 本地 URL + 邮件启发式规则(IP 主机、可疑 TLD、品牌伪造、诱导性语言) | | 可解释 AI 威胁评分 | 每次检测都会存储其评分、严重程度、置信度以及确切的贡献因素 | | 自动化事件响应 | 基于规则的 playbook + 本地 LLM 生成的额外遏制步骤 | | 威胁情报 | 可供查询和扩充的本地 IOC 数据库(IP/域名/哈希值) | | LLM(解释、playbook) | 在本地运行 `phi3` 的 `Ollama` | | 数据库 | 通过 SQLAlchemy 使用 SQLite(通过 `DATABASE_URL` 可切换为 Postgres) | | API | FastAPI | | 仪表板 | Streamlit,暗色 SOC 风格主题 | ## 1. 前置条件 ``` ollama pull phi3 ollama serve ``` ## 2. 设置 ``` python -m venv venv source venv/bin/activate pip install -r requirements.txt cp .env.example .env ``` ## 3. 运行 ``` # Terminal 1 uvicorn app.main:app --reload # Terminal 2 streamlit run streamlit_app.py ``` - API 文档:http://localhost:8000/docs - 仪表板:http://localhost:8501 ## 4. 试用心得 1. **网络入侵** (Network Intrusion) 标签页 → 提交网络事件 → 获取带有可解释性的实时异常评分。 2. **恶意软件扫描** (Malware Scan) 标签页 → 输入文件启发式特征(熵、加壳签名等) → 获取加权威胁评分。 3. **钓鱼检测** (Phishing Detection) 标签页 → 粘贴可疑的 URL/邮件 → 获取风险因素和通俗易懂的解释。 4. 高/严重等级的检测会自动创建一个**事件** (Incident),并附带建议的响应 playbook。 5. **威胁情报** (Threat Intel) 标签页 → 添加/查询本地失陷标示器。 6. **分析** (Analytics) 标签页 → 查看检测量、严重程度分布、事件漏斗。 ## 5. 可解释性 每次检测都会返回: - `threat_score` (0-100) - `severity` (Low/Medium/High/Critical) - `confidence` - `contributing_factors` — 推动评分的确切规则/特征 - `explanation` — 来自本地 LLM 的通俗语言解释(如果 Ollama 未运行,则回退 到确定性的摘要) ## 6. 项目布局 ``` app/ core/ intrusion_detection.py # IsolationForest anomaly model malware_classifier.py # weighted rule engine phishing_detector.py # URL/email heuristics threat_scorer.py # unifies + explains detections incident_response.py # playbook generation llm_client.py # local Ollama wrapper routers/ # FastAPI endpoints models.py, schemas.py, database.py, config.py, main.py streamlit_app.py # SOC dashboard requirements.txt .env.example ``` 如果 Ollama 未运行,所有由 LLM 提供支持的解释都会回退到 确定性的基于规则的摘要——平台的正常运行绝不会中断。
标签:AI安全, AI风险缓解, Chat Copilot, Kubernetes, 威胁情报, 开发者工具, 本地大模型, 本地安全检测, 自动化响应, 逆向工具, 钓鱼检测