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自主响应, 关键基础设施, 多智能体, 红队行动, 蜜罐, 证书利用, 逆向工具