这个项目能做什么
# ASGARD
**蓝队安全套件——9个模块,一个原则:未经测试的功能不存在。**
Asgard是一套防御性安全(蓝队)工具套件,专为无法承担商业SOC平台、但仍需检测、调查、编排并证明其合规性的中小企业和独立分析师设计。
每个模块只做**一件事**,并做到极致:没有单体架构,不强制依赖云提供商,README中描述的功能在代码中真实存在。整个套件经过了全面的技术审计,修复了实际的安全漏洞,包括两处软件声称成功但实际从未发生的情况。
## 架构
三个功能组:
- **检测**——传感器:Heimdall监控日志,Bifrost监控网络,Yggdrasil监控Active Directory。
- **响应与情报**——告警后的处理:Mjolnir执行主机取证分类,Fenrir利用公开威胁情报进行丰富,Sleipnir通过YAML剧本编排所有操作。
- **治理**——纯技术安全组合中通常缺失的部分:Forseti将安全态势转化为GDPR/NIS2合规评分,Gjallarhorn集中通知。
**Ragnarök**是指挥中心:一个桌面应用(Tauri + FastAPI),内置对话式助手,可对底层模块提出操作建议——但未经明确确认绝不执行。
## 模块
| 模块 | 功能 | 技术栈 | 测试 |
|---|---|---|---|
| **Heimdall** | 轻量级HIDS和Windows代理:检测SSH/Windows事件日志中的暴力破解,通过可配置TTL在防火墙层面封禁IP,通过Telegram/Gjallarhorn通知 | Python, PowerShell, FastAPI, SQLite | 38 ✅ |
| **Mjolnir** | 受感染主机的自动取证分类:进程/网络快照,VirusTotal哈希验证(带缓存和限速),真实YARA扫描(yara-python),Markdown/HTML报告 | Python, psutil, yara-python | 49 ✅ |
| **Bifrost** | 多线程网络扫描器,支持横幅抓取、GeoIP/WHOIS丰富、局域网发现、加密报告(PBKDF2 + Fernet) | Python, FastAPI | 46 ✅ |
| **Yggdrasil** | Active Directory(LDAP/LDAPS)和Microsoft 365/Entra ID云安全审计(MFA态势、全局管理员、旧版认证),通过真实Microsoft Graph API(应用专用OAuth2)或JSON导出 | Python, ldap3, msal | 54 ✅ |
| **Fenrir** | 公共威胁情报聚合器:CISA KEV始终启用,OTX可选,STIX 2.1导出,带锁保护的SQLite | Python | 48 ✅ |
| **Sleipnir** | SOAR引擎:执行编排其他模块的YAML剧本,带持久状态和事件审计追踪 | Python, PyYAML | 32 ✅ |
| **Forseti** | 面向中小企业的GDPR/NIS2/DORA/ISO27001合规检查器:41项真实检查(13项GDPR + 12项NIS2 + 8项DORA + 8项ISO27001),评分,带差距和具体修复措施的报告 | Python | 44 ✅ |
| **Gjallarhorn** | 集中告警中心(Telegram/webhook/SMTP/Teams/Jira/ServiceNow),带去重和限流,供Heimdall和Sleipnir使用 | Python, FastAPI | 63 ✅ |
| **Ragnarök** | 桌面和Web编排器(Tauri + FastAPI),带AI助手(FastEmbed + ChromaDB)、多用户RBAC、安全加固和审计日志 | Tauri, Rust, Python | 264 ✅ |
## 快速开始(Docker——完整套件)
9个模块是git子模块,而非简单文件夹——请使用`--recursive`克隆,否则模块目录将为空,Docker构建和`install.sh`/`install.ps1`都会失败。
```bash
git clone --recursive https://github.com/Fioru12/Asgard.git
cd Asgard
./install.sh # Linux / macOS / Git Bash
.\install.ps1 # Windows PowerShell
```
然后打开**http://localhost:8080/dashboard**——首次启动向导将引导您创建管理员账户。
在localhost上暴露的服务:
| 服务 | URL |
|---------|-----|
| Ragnarök(仪表板 + API) | http://localhost:8080 |
| Heimdall | http://localhost:18000 |
| Gjallarhorn | http://localhost:8090 |
| Forseti | http://localhost:8091 |
| Bifrost | http://localhost:8092 |
## 快速开始(手动——单个模块)
每个模块都是独立的:克隆、安装、单独使用。
```bash
git clone https://github.com/Fioru12/<模块名>.git
cd <模块名>
pip install -r requirements.txt
pytest -v # 验证一切在您的环境中正常工作
python main.py --help
```
每个模块都有自己的`README.md`,包含特定的快速开始指南、用于配置的`.env.example`,以及解释其解决的实际问题的“构建原因”部分。
## 项目原则
- **零理想化功能。** 如果模块的README描述了某项功能,该功能必须有测试证明。如果模块支持演示/模拟模式,会明确声明,绝不冒充真实数据。
- **响亮地失败,而非静默。** 失败的安全操作会明确说明——绝不假装成功。
- **每个暴露的API默认启用身份验证**,若未显式配置则自动生成密钥。
- **每个具有实际后果的操作都保留人工参与**(IP封禁、剧本执行、Ragnarök中AI建议的操作)。
**由[Fioru12](https://github.com/Fioru12)开发**
评论
0 评分人数达到10人后显示
登录后参与讨论。