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, 威胁情报, 开发者工具, 本地大模型, 本地安全检测, 自动化响应, 逆向工具, 钓鱼检测