themodernhacker/avars-purpleteam-ai-soc-lab
GitHub: themodernhacker/avars-purpleteam-ai-soc-lab
一个融合了攻击模拟、SIEM 检测、AI 驱动分析和 SOAR 自动响应的 Azure 紫队实验室,展示了从基础设施即代码到智能事件处置的完整安全运营流水线。
Stars: 0 | Forks: 0
# Project A.V.A.R.S
## AI 验证自动化响应系统
一个全面的基于云的网络安全实验室,展示了企业级威胁检测、AI 驱动的事件分析和自动响应能力。
## 开源状态(2026 年 3 月)
- ✅ MIT 许可,可随时克隆
- ✅ 本地验证流水线通过 (`scripts/run_all_checks.ps1 -IncludeRiskRun`)
- ✅ Terraform 根模块验证成功
- ℹ️ 完整的云行为(Sentinel 事件、Logic Apps、OpenAI、实时攻击)需要具有受支持配额的 Azure 订阅
若要获取从克隆到首次运行的清晰路径,请使用此指南:`docs/DEPLOYMENT.md`。
### 📊 项目影响力
- **通过基础设施即代码 展示 DevSecOps 卓越实践**
- **结合进攻与防御** 安全运营
- **利用真实的 ML/AI** 进行威胁检测和分析(不仅仅是 prompt)
- **利用 SOAR 能力自动化事件响应**
- **在 Microsoft Azure 上的生产就绪架构**
## 🏗️ 架构概览
### 第一阶段:云基架构 (基础设施即代码)
**技术:** Terraform
**架构模式:** Hub-and-Spoke(中心-辐射)
```
┌─────────────────────────────────────────────┐
│ Azure Hub (Security Core) │
│ ├─ Azure Firewall │
│ ├─ Log Analytics Workspace │
│ ├─ Microsoft Sentinel │
│ └─ Key Vault (Secrets Management) │
└─────────────────────────────────────────────┘
↓ ↓
┌──────────────┐ ┌──────────────┐
│ Spoke 1 │ │ Spoke 2 │
│ Honey-Net │ │ Management │
├─ ACI │ ├─ Kali Linux │
│ (OWASP JuiceShop) │ (Attack VM) │
│ (SSH Honeypot) │ │
└──────────────┘ └──────────────┘
```
### 第二阶段:攻击与摄入 (检测层)
**技术:** Azure Monitor Agent, KQL, MITRE ATT&CK
**攻击:** 凭据填充, SQL 注入
**检测:** 带有 MITRE 映射的实时日志流
### 第三阶段:硕士“X-Factor” (AI/ML 集成)
**生成式 AI:** Azure OpenAI (GPT-4o) 用于事件分析
**预测式 AI:** Random Forest/Isolation Forest 用于异常检测
**部署:** Azure ML, Azure Logic Apps
### 第四阶段:自动化熔断开关 (SOAR)
**技术:** Azure Logic Apps
**能力:**
- 关键防火墙阻止前的人工参与 (HITL) 批准(批准/忽略)
- 防火墙 IP 封锁
- 容器隔离
- 自动创建 Jira/GitHub issue
- 通过 AI 生成的执行摘要
## 🚀 快速开始
### 法律与安全使用声明
本项目包含 offensive security 工具和模拟利用代码,仅供在授权环境中测试使用。请**不要**针对您不拥有或未获得明确书面测试许可的系统运行渗透或 C2 模拟脚本。作者和维护者不对滥用行为负责。请获取明确授权并遵循您组织的交战规则。
### 前置条件
- Azure 订阅(带有额度)
- 本地安装 Terraform (>= 1.0)
- 已配置并登录 Azure CLI
- Git
- Python 3.10+ 和 `pip`
- 用于 Linux VM 配置的 SSH 密钥(用于 OpenVAS/Metasploit)
### 克隆与验证(建议首次运行)
```
git clone https://github.com/themodernhacker/avars-purpleteam-ai-soc-lab
cd "Project A.V.A.R.S"
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/run_all_checks.ps1 -Quick
```
如需完整的本地验证(包括脚本冒烟测试和风险量化):
```
powershell -NoProfile -ExecutionPolicy Bypass -File scripts/run_all_checks.ps1 -IncludeRiskRun
```
此存储库中的 GitHub Actions 已配置为部署作业仅通过手动工作流调度输入 (`run_deploy=true`) **选择性启用**。
### 5 分钟入门路径
1. 运行上面的快速验证命令。
2. 将 `terraform/terraform.tfvars.example` 复制到 `terraform/terraform.tfvars` 并添加您的 Azure 订阅/租户 ID。
3. 在 `terraform/` 目录下运行 `terraform init` 和 `terraform plan -var-file="terraform.tfvars"`。
4. 按照 `docs/DEPLOYMENT.md` 中的浏览器优先部署阶段操作。
### 部署 - 高层、按组件命令
注意:这些是示例命令;请根据需要调整 `terraform/*.tfvars` 和环境变量。
1. 部署核心基础设施(Hub & Spokes, Sentinel, Key Vault):
```
cd terraform
terraform init
terraform plan -out=tfplan -var-file="terraform.tfvars"
terraform apply tfplan
```
2. 配置漏洞扫描和红队 VM(Nessus, OpenVAS, Metasploit, Burp):
```
# 重新集成 Provider 兼容的漏洞模块
cd terraform
terraform apply -target=azurerm_storage_account.vuln_scan_reports[0] -var-file="terraform.tfvars"
```
3. Python 工具(渗透测试自动化、漏洞利用 PoC、风险量化):
```
py -3.13 -m venv .venv
.\.venv\Scripts\Activate.ps1 # Windows PowerShell
source .venv/bin/activate # Linux/macOS
pip install -r ml-notebooks/requirements.txt
python scripts/penetration-test-automation.py --target http:// --all
python scripts/exploit-poc-c2.py --scenario full --duration 300
python scripts/risk-quantification.py --report outputs/risk_report.json
```
4. 在本地或 Azure ML 上训练 ML 模型:
```
python ml-notebooks/transformer-nlp-threat-hunting.py
python ml-notebooks/reinforcement-learning-adaptive-defense.py
python ml-notebooks/gan-detection-spoofed-logs.py
```
5. 部署 Logic Apps (SOAR) 并链接到 Sentinel:
```
# 使用 Azure CLI 或仓库中的 `logic-apps` ARM/JSON 模板
az login
az deployment group create --resource-group --template-file logic-apps/incident_response_workflow.json
```
## 📁 项目结构
```
Project A.V.A.R.S/
├── terraform/ # Phase 1: IaC
│ ├── main.tf
│ ├── variables.tf
│ ├── outputs.tf
│ ├── network.tf
│ ├── honeypot.tf
│ ├── monitoring.tf
│ ├── vulnerability-scanning.tf
│ ├── physical-security-system.tf
│ ├── aks.tf
│ ├── defender-for-cloud-cspm.tf
│ ├── defender-for-endpoint-mde.tf
│ └── entra-id-pim.tf
├── scripts/
│ ├── attacks/ # Phase 2: Attack scripts
│ │ ├── credential_stuffing.py
│ │ └── sql_injection.py
│ ├── penetration-test-automation.py # Automated pentest framework
│ ├── exploit-poc-c2.py # C2 simulation & PoCs
│ ├── risk-quantification.py # ALE / Monte Carlo / sensitivity
│ └── kql/ # Phase 2: Detection queries
│ ├── mitre_mapping.kql
│ ├── false_positive_whitelist.kql
│ ├── ip_whitelist_watchlist.csv
│ ├── false_positive_whitelist_analytics_rule.md
│ ├── deploy_sentinel_whitelist_controls.ps1
│ └── deploy_sentinel_whitelist_controls.sh
├── ml-notebooks/ # Phase 3: ML models
│ ├── anomaly_detection.ipynb
│ ├── transformer-nlp-threat-hunting.py
│ ├── reinforcement-learning-adaptive-defense.py
│ └── gan-detection-spoofed-logs.py
├── logic-apps/ # Phase 4: Automation
│ ├── incident_response_workflow.json
│ ├── defender-cloud-remediation.json
│ ├── incident-response-with-lstm-identity.json
│ └── lstm-to-endpoint-isolation.json
├── config/ # Configuration files
│ └── variables.env
├── docs/ # Documentation
│ ├── ARCHITECTURE.md
│ ├── DEPLOYMENT.md
│ ├── THREAT_MODEL_STRIDE_DFD.md
│ ├── ATTACK_TREE_ANALYSIS.md
│ ├── PROJECT_COMPLETION_SUMMARY.md
│ ├── CASE_STUDY_SOC_INCIDENT_STEALTHY_C2_CONTAINMENT.md
│ ├── CASE_STUDY_FALSE_POSITIVE_GOVERNANCE.md
│ ├── CASE_STUDY_AI_INTEGRITY_ASSURANCE.md
│ ├── CASE_STUDY_QUANTITATIVE_RISK_BOARD_COMMUNICATION.md
│ └── CASE_STUDY_INFRASTRUCTURE_SECURITY_SECURE_BY_DESIGN.md
├── Case_Studies/ # Interview-ready scenario narratives
│ ├── 01_The_Stealthy_C2_Containment.md
│ └── 02_Operational_Noise_Reduction.md
├── README.md
```
## 🎯 核心技术
| 组件 | 技术 | 用途 |
|-----------|-----------|---------|
| **基础设施** | Terraform | 用于可复现性的 IaC |
| **云平台** | Microsoft Azure | 企业云 |
| **蜜罐** | OWASP Juice Shop | Web 漏洞 |
| **蜜罐** | SSH Honeypot | 暴力破解检测 |
| **监控** | Azure Monitor Agent | 日志收集 |
| **SIEM** | Microsoft Sentinel | 告警管理 |
| **误报控制** | Sentinel Watchlists | 白名单已知安全 IP |
| **查询** | KQL (Kusto Query Lang) | 日志分析 |
| **生成式 AI** | Azure OpenAI (GPT-4o) | 事件摘要 |
| **预测式 AI** | Random Forest/Isolation Forest | 异常检测 |
| **ML 平台** | Azure ML | 模型托管 |
| **自动化** | Azure Logic Apps | SOAR/编排 |
## 🔐 安全特性
✅ **纵深防御**:多层安全防护
✅ **日志集中化**:所有事件流式传输到 Sentinel
✅ **实时告警**:自动化事件检测
✅ **AI 驱动分析**:专业事件报告
✅ **人工参与控制**:关键操作需要分析师做出批准/忽略决定
✅ **自动响应**:防火墙 + 容器隔离
✅ **误报抑制**:基于 Sentinel watchlist 的 KQL 过滤
✅ **审计追踪**:完整的合规性日志记录
✅ **日志完整性**:Key Vault 存储 GAN 验证的金标准哈希引用
✅ **MITRE 框架**:行业标准攻击映射
## 📈 学习成果
完成此项目后,您将展示以下能力:
1. ✅ **DevSecOps 工程**:基础设施即代码最佳实践
2. ✅ **云安全架构**:Azure hub-and-spoke 设计
3. ✅ **进攻性安全**:真实攻击执行(eJPT/Sec+ 级别)
4. ✅ **防御性运营**:SIEM 配置和调优
5. ✅ **KQL 专业知识**:带有 MITRE 映射的复杂日志查询
6. ✅ **生成式 AI 集成**:LLM 驱动的事件分析
7. ✅ **预测式 ML**:基于真实安全数据的异常检测
8. ✅ **SOAR 自动化**:基于逻辑的事件响应
## 🛠️ 开发状态
- [x] 第一阶段:基础设施部署(Terraform 清单已就绪)
- [x] 第二阶段:攻击执行与检测(攻击脚本、扫描器)
- [x] 第三阶段:ML/AI 集成(transformer, RL, GAN notebooks/scripts)
- [x] 第四阶段:自动响应(Logic Apps + SOAR playbooks)
- [x] 文档与案例研究(核心文档 + 面试案例研究已就绪)
## 📞 支持与说明
- **Azure CLI**:用于高级配置
- **Terraform State**:本地存储(生产环境建议使用 Azure 后端)
- **成本**:约 $50-100/月,具体取决于资源使用情况
- **部署时间**:使用预构建脚本约 30 分钟
### 维护与运营说明
- **Terraform state:** 生产环境中请使用 Azure Storage 后端以实现共享状态和锁定:建议使用 `azurerm` 后端。
- **Secrets:** 将 API 密钥、管理员密码和证书存储在 `Key Vault` 中;切勿将 secrets 提交到 Git。
- **HITL 治理:** 对于关键告警,保留 Logic App 审批流程,以便分析师在遏制前明确选择阻止或忽略。
- **误报:** 维护一个 Sentinel watchlist(例如 `ip_whitelist`)并在 KQL 中引用它,以抑制已知安全的基础设施。
- **日志完整性:** 将金标准日志哈希值或签名哈希清单存储在 Key Vault 中,并在 ML 评分前与流水线输出进行比对。
- **CI 质量门:** GitHub Actions 会在推送/PR 时验证 PowerShell 和 Bash Sentinel 自动化脚本 (`.github/workflows/validate-automation-scripts.yml`)。
- **一键本地验证:** 运行 `powershell -NoProfile -ExecutionPolicy Bypass -File scripts/run_all_checks.ps1 -IncludeRiskRun` 以在 `reports/` 下生成带时间戳的报告。
- **快速本地验证:** 运行 `powershell -NoProfile -ExecutionPolicy Bypass -File scripts/run_all_checks.ps1 -Quick` 进行快速预提交检查。
- **成本:** 演示实验室包含多个 VM 和 Log Analytics 数据接入,这可能会增加成本;启用 Azure Advisor 建议并考虑为长期运行的 VM 使用预留实例。
- **备份与灾难恢复 (DR):** 关键资源应使用异地冗余存储 (RA-GRS),如果需要故障转移,应使用 SQL 异地复制。
- **Terraform 状态:** 完整的根模块已通过验证 (`terraform validate`),所有模块均已重新集成。
## 📚 面试案例研究
- **选项 2(`/Case_Studies` 中以场景为先的叙述)**
- `Case_Studies/01_The_Stealthy_C2_Containment.md`
- `Case_Studies/02_Operational_Noise_Reduction.md`
- **选项 1(`/docs` 中正式的面试就绪文档)**
- `docs/CASE_STUDY_SOC_INCIDENT_STEALTHY_C2_CONTAINMENT.md`
- `docs/CASE_STUDY_FALSE_POSITIVE_GOVERNANCE.md`
- `docs/CASE_STUDY_AI_INTEGRITY_ASSURANCE.md`
- `docs/CASE_STUDY_QUANTITATIVE_RISK_BOARD_COMMUNICATION.md`
- `docs/CASE_STUDY_INFRASTRUCTURE_SECURITY_SECURE_BY_DESIGN.md`
## 从哪里开始
- **如果您想走 SOC/Blue 路线:** 从 `terraform` 开始部署 Sentinel 和 Log Analytics,将 `scripts/kql/ip_whitelist_watchlist.csv` 导入为 `ip_whitelist` watchlist,然后使用 `scripts/kql/false_positive_whitelist_analytics_rule.md` + `scripts/kql/false_positive_whitelist.kql` 创建支持白名单的分析规则。随后运行 `scripts/risk-quantification.py`、可选的 transformer 训练,并启用带有 HITL 批准的 Logic Apps playbooks。
```
pwsh -File scripts/kql/deploy_sentinel_whitelist_controls.ps1 -ResourceGroupName -WorkspaceName -SubscriptionId
```
```
bash scripts/kql/deploy_sentinel_whitelist_controls.sh --resource-group --workspace-name --subscription-id
```
- **如果您想走 Red Team 路线:** 对受批准的测试目标运行 `scripts/penetration-test-automation.py`,并可选地仅在隔离的实验室中运行 `scripts/exploit-poc-c2.py`。从 `terraform/vulnerability-scanning.tf` 部署 IaC 红队遥测。
## 贡献、许可与联系方式
- **贡献:** 请阅读 `CONTRIBUTING.md`(欢迎补充)。提交 issue 反映 bug 或建议改进。
- **许可:** MIT 许可证包含在 `LICENSE` 中。
- **联系方式:** 维护者:Cloud Security Engineer —— 如有疑问请提交 issue 或发送邮件至 `security@example.com`。
**项目版本:** 1.0
**最后更新:** 2026 年 2 月
**作者:** Abhishek Kumar Sahu
标签:AI合规, AI安全, AMSI绕过, Azure, Azure Firewall, Chat Copilot, DevSecOps, ECS, FTP漏洞扫描, Key Vault, KQL, Microsoft Sentinel, MTTR, SOAR, Terraform, Web报告查看器, 上游代理, 企业架构, 威胁检测, 安全实验室, 安全编排, 平均响应时间, 底层分析, 开源, 持续监控, 智能分析, 模拟攻击, 紫队, 自动化响应, 蜜罐, 蜜网, 证书利用, 逆向工具, 逻辑应用