Sushanth-Banuka/acspm-cloud-security
GitHub: Sushanth-Banuka/acspm-cloud-security
基于 Python 和 Streamlit 构建的自动化云安全态势管理工具,通过集成 AbuseIPDB 实时威胁情报实现服务器日志的 IP 风险分析、自动告警和事件报告生成。
Stars: 0 | Forks: 0





# ACSPM — Autonomous Cloud Security Posture Management 🛡️
# 项目描述与目的
ACSPM 是一款基于 Python 的自动化云安全工具,旨在消除 SOC(Security Operations Center,安全运营中心)日志分析中的人工瓶颈。现代网络攻击的速度远超 Tier-1 分析师手动审计 Apache 和 Syslog 记录的速度 —— 传统工作流程迫使分析师采用缓慢且容易出错的“盯着看和比对”(stare-and-compare)方法,随着云架构的扩展,这种方法无法扩展。
ACSPM 通过自动摄取原始服务器日志条目并立即根据 **AbuseIPDB**(一个全球实时的威胁情报源)验证每个提取的 IP 来解决这一问题。这将识别恶意 IP 行为的时间从数小时缩短至数秒。该平台提供了一个未来感的 **Glassmorphism(毛玻璃)深色模式 HUD**、即时风险评分、PDF/电子邮件警报和持久的审计历史记录 —— 所有这些都无需昂贵的企业级 SOAR 工具。
本项目是以下已发表研究论文的技术实现,也是更广泛的 Azure Cloud Security 作品集的一部分。
# 演示视频
*观看 ACSPM Cloud Security HUD 的完整演示操作:*
[](https://youtu.be/edIdzt58nY0)
# 架构图

*系统流程:Tier-1 分析师 → Web 浏览器 → Streamlit HUD(认证门户 · 指挥中心 · 威胁搜寻 · 战略档案)→ Python 逻辑引擎(正则解析器 · 风险评分器 · AbuseIPDB 处理器)→ SQLite 数据库(持久审计追踪)+ AbuseIPDB API(实时威胁情报)→ PDF 事件报告 + SMTP 电子邮件警报 + CSV/JSON 导出*
# 仪表板界面
**图 1 — 安全访问门户**

*ACSPM 的入口点。“RESTRICTED ACCESS SYSTEM v3.0 [ENCRYPTED]”。SHA-256 密码哈希保护分析师凭据。Glassmorphism 深色模式界面(虚空黑底上的霓虹青色网格)旨在减少 24/7 安全运维期间的屏幕眩光。默认凭据:`admin` / `admin123`。*
**图 2 — 威胁搜寻界面**

*核心分析师工作区。模式:AUTONOMOUS(自主)· 状态:ACTIVE PROTECTION(主动防护)。分析师粘贴原始日志数据或上传 .log/.txt 文件。ACSPM 的正则引擎可立即从异构服务器记录中提取所有 IPv4 地址和电子邮件字符串。每个指标都排队等待实时 AbuseIPDB 验证。版本:v3.0.1-CYBER。*
**图 3 — 威胁情报分析与响应动作**

*AbuseIPDB 验证后,威胁情报匹配表显示 IP、恶意标志、风险等级和详细信息。IP 192.168.1.105 被归类为 CRITICAL(严重)。响应动作面板自动触发:“CRITICAL THREAT DETECTED”(检测到严重威胁)横幅、BLOCK FIREWALL (EXECUTE)(执行防火墙封锁)命令以及 SMTP 电子邮件警报 —— 确认“Alert Sent: Email sent successfully”(警报已发送:电子邮件发送成功)。*
**图 4 — 自动化 PDF 事件报告**

*检测到严重事件时自动生成的 FPDF 报告。报告 ID:INC-1771506997。执行摘要:发现 1 个恶意 IP,建议立即遏制。技术分析:`[MALICIOUS] 192.168.1.105 - Match found in Local Blacklist DB (SIMULATION)`。报告可直接从 DOCUMENTATION(文档)面板下载。*
**图 5 — 战略档案(事件历史)**

*CLASSIFIED AUDIT LOGS [SQLITE ENCRYPTED](机密审计日志 [SQLITE 加密])。跨所有调查的持久跨会话事件追踪。显示 INC ID、时间戳、发现的 IP、状态(CRITICAL / LOW RISK)和完整摘要。能够检测规避单会话分析的“低速慢速”攻击模式。*
# 检测到的威胁与影响
| 威胁类型 | 检测方法 | 重要性 | 响应 |
|---|---|---|---|
| 恶意 IP 地址 | 正则 IPv4 提取 + AbuseIPDB 置信度分数 | 已知恶意 IP 执行撞库、暴力破解、C2 回调 | 自动触发 PDF 报告 + SMTP 警报 |
| 可疑电子邮件地址 | 从日志条目中正则提取电子邮件 | 钓鱼源追踪、内部威胁识别 | 记录到事件数据库 |
| 高置信度滥用 (分数 > 50) | AbuseIPDB 置信度分数阈值 | 根据全球社区数据识别具有已证实滥用历史的 IP | 归类为严重 — 立即警报 |
| 中风险指标 (分数 20–50) | AbuseIPDB 部分匹配 | 可疑但未确认的威胁来源 | 归类为高 — 标记供分析师审查 |
| 低速慢速探测 | 跨会话的持久 SQLite 关联 | 规避单会话检测的分布式攻击 | 通过战略档案进行历史趋势分析 |
| Apache / Syslog 异常 | 带有预处理层的异构日志解析 | 格式错误的头部和异常请求模式 | 正则预处理层捕获边缘情况 |
# 使用的技术
**Python:** 核心自动化引擎,用于正则解析、API 集成、风险评分逻辑和报告生成。通过健壮的预处理层处理格式错误的服务器头部。
**Streamlit:** 渲染具有 Glassmorphism 美学(霓虹青色 + 虚空黑)的交互式深色模式 Security HUD。提供实时仪表板更新、文件上传界面和多页导航。
**AbuseIPDB API:** 实时外部威胁情报源,提供动态置信度分数(0–100)、滥用类别、ISP 元数据和国家数据。因其实时的、社区维护的数据而被选用于替代静态黑名单。
**SQLite3:** 无服务器本地数据库,存储用户、事件和设置。零设置要求 —— 支持加密审计追踪和持久的跨会话事件关联。
**Pandas:** 深度数据操作、日志过滤、异常表渲染以及用于导出的快速 CSV/JSON 序列化。
**FPDF:** 在检测到严重事件时自动生成结构化的 PDF 事件报告,包括执行摘要、技术分析和 IP 详情。
**SMTP (smtplib):** 当风险等级超过严重阈值时,向安全团队发送即时电子邮件警报。经验证可在亚秒级响应时间内触发。
# 安装与使用
### 1. 前置条件
Python 3.11+。AbuseIPDB 免费 API 密钥(在 [abuseipdb.com](https://www.abuseipdb.com) 注册)。可选:用于电子邮件警报的 Gmail SMTP 凭据。
### 2. 克隆仓库
```
git clone https://github.com/Sushanth-Banuka/acspm-cloud-security.git
cd acspm-cloud-security
```
### 3. 设置虚拟环境
**Windows (PowerShell):**
```
python -m venv venv
.\venv\Scripts\Activate.ps1
```
**macOS/Linux:**
```
python3 -m venv venv
source venv/bin/activate
```
### 4. 安装依赖项
```
pip install -r requirements.txt
```
### 5. 配置凭据
复制 `.env.template` 文件为 `.env`:
```
cp .env.template .env
```
填写您的凭据:
```
# AbuseIPDB Threat Intelligence
ABUSEIPDB_API_KEY="your-abuseipdb-api-key"
# Azure Credentials(用于云资源扫描)
AZURE_SUBSCRIPTION_ID="your-subscription-id"
AZURE_TENANT_ID="your-tenant-id"
AZURE_CLIENT_ID="your-client-id"
AZURE_CLIENT_SECRET="your-client-secret"
# SMTP Email Alerts(可选)
SMTP_EMAIL="your-gmail@gmail.com"
SMTP_PASSWORD="your-app-password"
SMTP_RECEIVER="receiver@email.com"
```
### 6. 启动 Security HUD
```
streamlit run dashboard/app.py
```
**默认操作员 ID:** `admin`
**默认密码:** `cybersecurity`
# 展示的关键安全概念
- **警报疲劳缓解** — 自动化日志分类取代了手动“盯着看和比对”的 SOC 方法论
- **威胁情报集成** — 实时 AbuseIPDB 置信度分数取代静态黑名单
- **事件响应自动化** — 检测到严重事件时的亚秒级 SMTP 警报和自动生成的 PDF 报告
- **审计追踪持久化** — SQLite 跨会话关联能够检测“低速慢速”攻击模式
- **安全凭据处理** — SHA-256 密码哈希、环境变量 API 密钥存储
- **优雅的 API 回退** — 如果 AbuseIPDB 无法访问,系统回退到本地模拟模式
# 学术出版物
本工具是以下同行评审研究论文的技术实现:
*免责声明:本工具仅用于教育和授权审计目的。请确保您拥有扫描目标 Azure 环境以及通过外部 API 处理任何日志数据的明确许可。*
标签:AbuseIPDB, Azure SDK, CISA项目, CSPM, HTTP/HTTPS抓包, IP信誉检测, IP 地址批量处理, Kubernetes, Python, Streamlit, Syslog分析, TinkerPop, Web安全, 云安全态势管理, 前端应用, 威胁情报, 安全仪表盘, 安全运营中心, 开发者工具, 开源安全工具, 态势感知, 无后门, 结构化查询, 网络映射, 自动化安全, 蓝队分析, 访问控制, 逆向工具, 逆向工程平台