ruhelamahi7-code/cyber-resilience-ai
GitHub: ruhelamahi7-code/cyber-resilience-ai
该平台通过多 Agent 架构实现从威胁检测、MITRE ATT&CK 映射、自主 IP 封禁到独立验证的全自动化事件响应,专为国家关键基础设施的网络韧性而构建。
Stars: 0 | Forks: 0
# 🛡️ CyberShield AI — 自主网络韧性平台
## 📌 问题陈述
印度关键国家基础设施面临日益严重的网络威胁。CERT-In 报告称,2023 年发生了超过 159 万起网络安全事件。大多数组织在遭到初始入侵数周后才发现漏洞——因为它们依赖于基于特征的检测,而这种检测在面对新攻击模式时会失效。
**CyberShield AI** 通过构建一个行为智能层来解决此问题,该层能够自主检测异常,将其映射到已知的威胁框架,并执行遏制——将响应时间从数小时压缩至数秒。
## 🎯 解决方案概述
一个 AI 驱动的自主事件响应 pipeline,包含 5 个专门的 Agent,负责检测、分析、遏制、验证和升级网络攻击——配备完整的审计日志,并且在处理标准威胁时无需任何人工干预。
## 🤖 5 个 Agent
| Agent | 角色 | 功能 |
|-------|------|-------------|
| 👁 **Watcher** | 检测 | 监控 honeypot 日志,按 IP 对尝试进行分组,标记可疑活动 |
| ⚖ **Judge** | 分析 | 将模式映射到 MITRE ATT&CK 框架,分配置信度分数和严重性 |
| 🔒 **Doer** | 遏制 | 执行自主封禁——将 IP 写入黑名单,由 honeypot 强制执行 |
| ✓ **Checker** | 验证 | 通过发送真实 HTTP 请求并确认 403 响应来独立验证遏制情况 |
| 🔧 **Fixer** | 升级 | 如果验证失败,发送带有完整推理过程的格式化 Slack 警报 |
## 🎯 检测到的攻击模式
### T1110 — Brute Force(HIGH 严重性)
检测来自同一 IP 地址的重复失败登录尝试。阈值:5 次以上的尝试触发自主封禁。
### T1078 — Valid Accounts(CRITICAL 严重性)
检测使用被盗凭证的成功登录。即使是使用已知被盗凭证的一次成功登录也会触发立即遏制。
## ✅ 关键差异化优势
**真正的独立验证**
大多数系统会相信自己的 API 返回的“已封禁”状态。我们的 Checker Agent 会独立地从被封禁 IP 发送一个新的 HTTP 请求,并确认其收到了 403 REFUSED 响应——而不仅仅是读取它写入的文件。
**无附带损害检查**
在封禁攻击者 IP 后,Checker 还会从一个无辜的 IP 发送请求,并确认它仍然可以正常访问——证明该封禁是针对特定目标的,而不是全面封禁。
**完整的推理审计跟踪**
每个 Agent 的决策都会记录时间戳、技术 ID、置信度分数和人类可读的推理过程——使系统完全可审计。
**双重 MITRE ATT&CK 技术**
检测失败的暴力破解(T1110)和成功的被盗凭证攻击(T1078),并具有不同的严重性级别和置信度评分。
## 📊 基准测试结果
根据基于 CICIDS2017 星期二统计数据建模的合成数据集(13.7% 攻击比例)进行评估:
| 指标 | 结果 |
|--------|--------|
| 检测率 | 100% |
| 误报率 | 0% |
| 精确率 | 100% |
| 准确率 | 100% |
| 测试总流量 | 1,000 |
| 攻击流量 | 137 |
| 良性流量 | 863 |
完整结果见 `benchmark_results.json`
## 🏗️ 架构
**攻击流程:**
攻击者 → Honeypot Server(端口 5001)→ attack_logs.json → Detector Pipeline → 审计日志 + Dashboard(端口 5002)
**检测 Pipeline:**
- Agent 1 — Watcher:读取日志,检测可疑 IP
- Agent 2 — Judge:MITRE ATT&CK 映射,置信度评分
- Agent 3 — Doer:将 IP 写入黑名单,由 honeypot 强制执行
- Agent 4 — Checker:发送真实 HTTP 请求,确认 403 响应
- Agent 5 — Fixer:如果验证失败则在 Slack 上进行升级
**关键设计决策:**
Honeypot 在处理每个请求之前都会检查黑名单。这意味着封禁是真实有效的——而不是装饰性的。Checker 通过从被封禁的 IP 发送实时 HTTP 请求并确认其被拒绝,来进行独立验证。
## 🛠️ 技术栈
| 组件 | 技术 |
|-----------|-----------|
| 编程语言 | Python 3.9 |
| Web 框架 | Flask |
| 数据库 | SQLite |
| 警报 | Slack SDK + Incoming Webhooks |
| 前端 | HTML/CSS/JavaScript |
| 基准测试 | 自定义合成数据集(CICIDS2017 方法论) |
## 🚀 运行方式
### 前置条件
```
pip3 install flask requests slack-sdk python-dotenv
```
### 设置
在项目根目录中创建一个 `.env` 文件:
SLACK_WEBHOOK_URL=https://hooks.slack.com/services/YOUR/WEBHOOK/URL
### 运行演示
**终端 1 — 启动 honeypot:**
```
python3 honeypot.py
```
**终端 2 — 模拟暴力破解攻击:**
```
python3 attacker.py
```
**终端 2 — 模拟被盗凭证攻击:**
```
python3 attacker.py t1078
```
**终端 3 — 运行检测 pipeline:**
```
python3 detector.py
```
**终端 4 — 启动 dashboard:**
```
python3 dashboard.py
```
在浏览器中打开 `http://127.0.0.1:5002`
### 运行基准测试
```
python3 benchmark.py
```
## 📁 文件结构
- `honeypot.py` — 虚假登录服务器,攻击者的陷阱
- `attacker.py` — 攻击模拟器(T1110 暴力破解 + T1078 被盗凭证)
- `detector.py` — 5 Agent 自主检测 pipeline
- `dashboard.py` — 实时 Web dashboard(端口 5002)
- `benchmark.py` — 检测准确率评估脚本
- `benchmark_results.json` — 基准测试输出(100% 检测率)
- `.gitignore` — 排除 .env 和敏感文件
- `README.md` — 本文件
## 🔒 安全说明
该系统完全运行在沙盒化的基础设施上。所有攻击流量都是由我们针对自己的 honeypot 自行生成的。没有针对或扫描任何外部系统。在生产部署中,相同的 Agent pipeline 会通过安全的 API 集成连接到真实的 SCADA/ICS 环境。
## 📋 评审标准覆盖情况
| 标准 | 我们的应对方式 |
|----------|------------------|
| 异常检测率 | 在基于 CICIDS2017 建模的基准测试中达到 100% |
| 误报率 | 0% — 基于阈值的检测非常精准 |
| MITRE ATT&CK 归因 | 正确识别 T1110 和 T1078 并附带置信度分数 |
| 自主响应比例 | 100% — 标准遏制无需人工干预 |
| 检测/响应时间 | 亚秒级检测,即时遏制 |
| 完全可审计性 | 每个 Agent 的决策均记录有时间戳和推理过程 |
## 👥 团队
**Mahi Ruhela** — 全栈开发与 AI Pipeline 设计
**Ity Shree** — 架构与系统设计
为 ET AI Hackathon 2.0 — Phase 2 Build Sprint 而构建
问题陈述 7:针对关键国家基础设施的 AI 驱动网络韧性
标签:AI自主响应, 关键基础设施, 多智能体, 红队行动, 蜜罐, 证书利用, 逆向工具