dedunufernando/ARIA

GitHub: dedunufernando/ARIA

ARIA 是一款 SOC 级 Python 安全工具,集成多源日志解析、MITRE ATT&CK 威胁检测、跨日志关联、自动响应剧本和实时可视化仪表板,帮助安全团队高效发现并处置安全事件。

Stars: 0 | Forks: 0

# ARIA v2.0 — 自动化响应与事件分析器 [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/6e041c9553051507.svg)](https://github.com/dedunufernando/ARIA/actions/workflows/ci.yml) [![Python](https://img.shields.io/badge/python-3.11%20%7C%203.12%20%7C%203.13-blue)](https://www.python.org/) [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) 一款达到 SOC 级别的 Python 安全工具,能够解析日志、检测威胁、自动响应,并通过实时的深色主题 Web dashboard 展示所有信息 —— 还提供由 Claude 或本地 Ollama 驱动的可选 AI 分析师聊天功能。 ## 功能 | 类别 | 能力 | |---|---| | **日志解析** | Linux auth/syslog、nginx/Apache、UFW 防火墙、Windows Event Log、AWS CloudTrail、GCP Cloud Audit | | **威胁检测** | 65 条 MITRE ATT&CK 规则引擎、YAML 自定义规则、Z-score 异常检测 | | **关联分析** | 多源 IP 关联、攻击链检测、横向移动 | | **响应** | 封禁 IP、锁定用户、隔离文件、结束进程 —— 全部支持安全试运行 | | **剧本** | 基于 YAML 定义的多步响应剧本,支持遇错即停 | | **信息丰富** | GeoIP 查询(免费,无需密钥)、AbuseIPDB、VirusTotal、Shodan、AlienVault OTX | | **通知** | Slack webhook、SMTP 邮件、通用 webhook | | **导出** | CEF (ArcSight/QRadar)、NDJSON (Elastic/Splunk HEC)、Jira 工单 | | **监控** | 实时日志追踪、文件系统完整性监控器 (FSIM)、Windows 注册表 | | **仪表板** | 实时深色主题 Flask UI —— 严重程度卡片、 top 攻击者、MITRE 热力图、时间轴、AI 聊天 | | **AI 聊天** | Claude (Anthropic API) 或 Ollama(本地免费)—— 自动检测 | | **审计** | SHA-256 哈希链不可变审计日志 | ## 快速开始 ``` git clone https://github.com/dedunufernando/ARIA.git cd ARIA pip install -r requirements.txt # 分析日志文件 python aria.py --mode=analyze --log-file /var/log/auth.log # 启动 dashboard python aria.py --mode=dashboard # → http://127.0.0.1:5000 ``` ### Windows —— 双击启动器 双击 **`start_aria.bat`**(或桌面上的 **ARIA Dashboard** 快捷方式)即可启动服务器并自动打开浏览器。 ## 模式 ``` python aria.py --mode=analyze --log-file auth.log [--respond] [--playbook] [--geoip] [--report] python aria.py --mode=monitor --log-file auth.log,access.log # real-time tail python aria.py --mode=dashboard # web UI python aria.py --mode=fsim --watch-path /etc --baseline # file integrity python aria.py --mode=registry --baseline # Windows registry python aria.py --mode=status # DB summary ``` ### 关键标志 | 标志 | 描述 | |---|---| | `--respond` | 执行响应操作(默认为 dry-run —— 添加 `--no-dry-run` 执行真实操作) | | `--playbook [FILE]` | 运行 YAML 剧本(默认:`config/playbooks.yaml`) | | `--notify` | 针对 HIGH 及以上级别的威胁发送 Slack/邮件警报 | | `--geoip` | 使用 GeoIP 数据丰富威胁 IP | | `--report [FILE]` | 保存 JSON 事件报告(如未指定路径则自动命名) | | `--correlate` | 运行跨日志关联引擎 | | `--enrich` | 通过 Claude 进行 AI 驱动的威胁信息丰富 | | `--reputation` | 针对 AbuseIPDB / VirusTotal 检查 IP | | `--anomaly` | 对事件量进行 Z-score 异常检测 | | `--log-type` | 强制指定日志类型:`auth`、`nginx`、`ufw`、`windows_event`、`cloudtrail`、`gcp_audit`、`auto` | ## 配置 将 `.env.example` 复制到 `.env` 并填写您需要的值: ``` cp .env.example .env ``` ``` # AI chat(可选 — Ollama 无需此项即可运行) ANTHROPIC_API_KEY=sk-ant-... # IP reputation(提供免费 key) ABUSEIPDB_KEY=... VIRUSTOTAL_KEY=... # Alerts SLACK_WEBHOOK_URL=https://hooks.slack.com/services/... SMTP_HOST=smtp.gmail.com SMTP_USER=you@gmail.com SMTP_PASS=your-app-password ALERT_EMAIL_FROM=aria@yourdomain.com ALERT_EMAIL_TO=soc@yourdomain.com ``` 密钥的加载顺序为:**OS 密钥环 → `.env` 文件 → 环境变量**。 ## 仪表板 ``` python aria.py --mode=dashboard ``` 打开 `http://127.0.0.1:5000` | 面板 | 描述 | |---|---| | 严重程度卡片 | 实时统计 CRITICAL / HIGH / MEDIUM / LOW / INFO 数量 | | Top 攻击者 | 按事件数量统计的 top IP —— 点击以过滤表格 | | MITRE 战术 | MITRE ATT&CK 战术分布的柱状图 | | 事件量 (24h) | 堆叠柱状时间轴图表 —— 过去 24 小时按小时统计 | | 事件报告 | 列出已保存的 `--report` JSON 文件 —— 点击查看摘要 | | 事件表格 | 所有近期事件 —— 点击任意行查看完整详情模态框 | | 过滤栏 | 按严重程度、事件类型或 IP 进行过滤 | | ⬇ CSV | 将所有事件下载为 CSV 文件 | | AI 分析师 | 与 Claude 或 Ollama 聊天以分析当前威胁 | ### 无需 API 密钥的 AI 聊天(免费) ``` # 从 https://ollama.com/download 安装 Ollama,然后: ollama pull llama3 # 重启 ARIA — 它会自动检测 localhost:11434 上的 Ollama ``` 或者将您的 `ANTHROPIC_API_KEY` 粘贴到仪表板的琥珀色横幅中。 ## Docker ``` # 启动 dashboard docker compose up # 对主机日志文件运行分析 docker compose run --rm aria --mode=analyze --log-file /host_logs/auth.log ``` 环境变量将自动从您的 shell 或 `.env` 文件中读取。 ## 构建 Windows 可执行文件 ``` build_windows.bat # 输出:dist\aria\aria.exe dist\aria\aria.exe --mode=dashboard ``` 需要 `pyinstaller`(如果缺失,脚本会自动安装)。 ## 剧本 在 `config/playbooks.yaml` 中定义自动化的多步响应: ``` playbooks: - id: brute_force_response name: SSH Brute Force Response trigger: event_types: [BRUTE_FORCE, PASSWORD_SPRAY] min_severity: HIGH requires_ip: true steps: - action: block_ip - action: notify channel: slack message: "Brute force from {ip} — auto-blocked" - action: tag value: auto-responded ``` 运行方式:`python aria.py --mode=analyze --log-file auth.log --playbook` ## YAML 自定义规则 在 `config/response_rules.yaml` 中添加针对特定事件类型的响应规则: ``` rules: BRUTE_FORCE: - block_ip - lockout_user AWS_IAM_CHANGE: - block_ip ``` ## 测试 ``` pytest tests/ -v # 444+ 项测试 — 运行时间约 6 秒 ``` CI 通过 GitHub Actions 在每次推送时自动运行(支持 Python 3.11、3.12、3.13)。 ## 项目结构 ``` ARIA/ ├── aria.py # CLI entry point ├── aria/ │ ├── models.py # AriaEvent, SEVERITY_ORDER, MITRE_MAPPING │ ├── parsers/ # Log parsers (auth, nginx, ufw, windows, cloudtrail, gcp) │ ├── detectors/ # Rule engine, correlation, anomaly detection │ ├── responders/ # Response engine, playbook engine, incident report │ ├── notifications/ # Alert notifier (Slack, email) │ ├── reputation/ # GeoIP, AbuseIPDB, VirusTotal, Shodan, OTX │ ├── ai/ # Claude AI enrichment │ ├── monitors/ # Log monitor, FSIM, registry monitor │ ├── exporters/ # SIEM export (CEF, NDJSON) │ ├── integrations/ # Jira client │ ├── storage/ # SQLite DB, hash-chained audit log │ └── dashboard/ # Flask app, templates, static ├── config/ │ ├── playbooks.yaml # Response playbooks │ ├── response_rules.yaml # Custom YAML rules │ └── secrets.py # Secrets vault ├── rules/ # Detection rule definitions ├── tests/ # 444+ pytest tests ├── Dockerfile ├── docker-compose.yml ├── aria.spec # PyInstaller build spec └── build_windows.bat # Windows build script ``` ## 许可证 MIT —— 详见 [LICENSE](LICENSE)。
标签:AI风险缓解, AMSI绕过, Cloudflare, MITRE ATT&CK, PE 加载器, PKI安全, Python, x64dbg, 威胁检测, 安全运营(SOC), 无后门, 漏洞挖掘, 自动化响应, 请求拦截, 逆向工具