sachinn2210/aria
GitHub: sachinn2210/aria
ARIA 是一个基于 AI 的自主日志取证与事件响应系统,集成了机器学习异常检测、MITRE ATT&CK 关联分析和大语言模型摘要生成,帮助安全团队实时监控和分析系统日志中的威胁行为。
Stars: 0 | Forks: 1
# ARIA – 自主实时事件分析与响应 Agent
## 快速开始(3 条命令)
```
pip install -r requirements.txt
python app.py # Terminal 1 — Flask server
python demo_log_gen.py # Terminal 2 — synthetic log traffic
```
打开 **http://localhost:5000** 查看仪表板。
## 项目结构
```
aria/
├── app.py ← Flask app + SSE + route wiring
├── demo_log_gen.py ← Generates fake logs for testing
├── requirements.txt
├── modules/
│ ├── database.py ← SQLite persistence layer
│ ├── parser.py ← Log parsing (auth.log, Apache, Windows)
│ ├── log_watcher.py ← File tail watcher (Watchdog-style)
│ ├── ml_detector.py ← Isolation Forest anomaly scoring
│ ├── correlator.py ← Rule engine + MITRE ATT&CK tagging
│ ├── alerter.py ← Email + Telegram notifications
│ └── llm_summarizer.py ← Gemini API / template summaries
└── templates/
└── index.html ← Full dashboard (Chart.js + SSE)
```
## 配置(环境变量)
| 变量 | 默认值 | 描述 |
|-----------------------|-------------------|------------------------------------------|
| `ARIA_LOG_PATHS` | `logs/demo.log` | 以逗号分隔的监控路径 |
| `ARIA_DB_PATH` | `aria.db` | SQLite 数据库文件 |
| `ARIA_MODEL_PATH` | `aria_model.pkl` | Isolation Forest 模型文件 |
| `GEMINI_API_KEY` | *(空)* | 用于 LLM 摘要的 Gemini API 密钥 |
| `ARIA_SMTP_HOST` | `smtp.gmail.com` | 用于邮件告警的 SMTP 服务器 |
| `ARIA_SMTP_PORT` | `587` | SMTP 端口 |
| `ARIA_SMTP_USER` | *(空)* | 你的 Gmail 地址 |
| `ARIA_SMTP_PASSWORD` | *(空)* | Gmail 应用密码 |
| `ARIA_ALERT_TO` | *(空)* | 收件人邮箱地址 |
| `ARIA_TELEGRAM_TOKEN` | *(空)* | Telegram Bot token |
| `ARIA_TELEGRAM_CHAT` | *(空)* | Telegram 聊天 ID |
| `ARIA_DASHBOARD_URL` | `http://localhost:5000` | 告警消息中的链接 |
在 `.env` 文件中设置这些变量,并通过以下方式加载:
```
export $(cat .env | xargs) && python app.py
```
## 监控真实日志
将 `ARIA_LOG_PATHS` 指向你的实际日志文件:
```
# Linux auth log + Apache
ARIA_LOG_PATHS=/var/log/auth.log,/var/log/apache2/access.log python app.py
# 多个 paths
ARIA_LOG_PATHS=/var/log/auth.log,/var/log/nginx/access.log,/var/log/syslog python app.py
```
## 已完成开发 (75%)
### ✅ 已完成
- **Log Watcher** — 带多线程的文件追踪功能,自动等待文件创建
- **Log Parser** — 基于 regex 的解析器,适用于 auth.log、Apache/Nginx、Windows Event Logs
- **SQLite Database** — 完整模式,支持所有查询,采用 WAL 模式以处理并发
- **ML Detector** — 带特征工程 + 基线拟合的 Isolation Forest
- **Event Correlator** — 突发检测,阈值规则,MITRE ATT&CK 标签
- **LLM Summarizer** — Gemini API 集成,支持模板回退
- **Alerter** — Email (smtplib) + Telegram Bot API
- **Flask API** — `/api/stats`, `/api/alerts`, `/api/timeline`, `/api/severity_breakdown`, `/api/top_ips`, `/stream` (SSE)
- **Dashboard** — 实时事件流,异常仪表,时间线图表,严重程度甜甜圈图,Top IPs 表格,带搜索/过滤功能的告警表,AI 摘要弹窗
### 🔧 留给你完成的 25%
1. **Gemini API Key** — 将你的免费密钥添加到 `.env` 并测试 LLM 摘要
2. **Email/Telegram 配置** — 在 `.env` 中填入凭据以启用真实告警
3. **真实日志路径** — 将 `ARIA_LOG_PATHS` 指向 `/var/log/auth.log` 等路径
4. **可选的语音 Agent** — 在 `alerter.py` 中加入 Twilio 集成以实现紧急告警(Twilio 免费试用)
5. **调整 ML 模型** — 将 `fit_baseline()` 的合成数据替换为你服务器的真实基线日志,以提高准确性
6. **部署** — 托管在 VPS 或云 VM 上;添加 `gunicorn` 以用于生产环境服务
## MITRE ATT&CK 覆盖范围
| 技术 ID | 名称 | 触发条件 |
|-----------------|-----------------------------------|----------------------------|
| T1110 | 暴力破解 | ≥10 次认证失败 / 5 分钟 |
| T1110.001 | 密码猜测 | 无效用户事件 |
| T1548 | 滥用提权控制 | sudo / 提权 |
| T1083 | 文件和目录发现 | 路径遍历 / 枚举 |
| T1078 | 有效账户 | 未经授权 / 异常登录 |
| T1499 | 终端拒绝服务 | HTTP 5xx 激增 |
| T1558.003 | Kerberoasting | Kerberos TGT 请求 |
## 仪表板功能
| 组件 | 描述 |
|-----------------------|----------------------------------------------------------|
| 统计卡片 | 实时计数:严重、高、最近一小时、总计 |
| 时间线图表 | 过去 60 分钟内每分钟的事件数 (Chart.js) |
| 异常仪表 | 带颜色编码指针的平均异常分数 |
| 严重程度甜甜圈图 | LOW / MEDIUM / HIGH / CRITICAL 分解 |
| 高危 IP 排名 | 按命中次数排名,并带有最高严重程度标志 |
| 实时事件流 | 基于 SSE 的实时日志滚动条 |
| 告警表 | 可搜索、可过滤、可按风险分数排序 |
| AI 摘要弹窗 | Gemini 生成的通俗英语事件解释 |
标签:AI, Alerter, Anomaly Detection, Apex, Autonomous Agent, Chart.js, Cloudflare, Correlation, Dashboard, DLL 劫持, DNS枚举, Email通知, Flask, Gemini, Incident Response, IP 地址批量处理, Isolation Forest, LLM, Log Forensics, Log Parsing, Machine Learning, MITRE ATT&CK, Python, Real-time Analysis, SecOps, Server-Sent Events, SOAR, SQLite, SSE, Telegram通知, Threat Intelligence, Unmanaged PE, Watchdog, Web仪表盘, 云安全架构, 人工智能, 关联分析, 告警通知, 大语言模型, 威胁情报, 子域名变形, 孤立森林, 安全运营, 开发者工具, 异常检测, 扫描框架, 文件监控, 无后门, 日志取证, 机器学习, 用户模式Hook绕过, 网络安全, 网络安全工具, 自动化代码审查, 自动化响应, 自治代理, 逆向工具, 隐私保护, 黑客防御