Sushanth-Banuka/acspm-cloud-security

GitHub: Sushanth-Banuka/acspm-cloud-security

基于 Python 和 Streamlit 构建的自动化云安全态势管理工具,通过集成 AbuseIPDB 实时威胁情报实现服务器日志的 IP 风险分析、自动告警和事件报告生成。

Stars: 0 | Forks: 0

![License](https://img.shields.io/badge/License-MIT-blue.svg) ![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg) ![Azure SDK](https://img.shields.io/badge/Azure_SDK-Powered-0089D6?logo=microsoft-azure) ![AbuseIPDB](https://img.shields.io/badge/AbuseIPDB-Threat_Intel-FF6600?logo=shield) ![Streamlit](https://img.shields.io/badge/Streamlit-Dashboard-FF4B4B?logo=streamlit) # 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://img.shields.io/badge/▶_Watch_Demo-YouTube-FF0000?style=for-the-badge&logo=youtube)](https://youtu.be/edIdzt58nY0) # 架构图 ![Architecture Diagram](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/3526abd22e062544.svg) *系统流程:Tier-1 分析师 → Web 浏览器 → Streamlit HUD(认证门户 · 指挥中心 · 威胁搜寻 · 战略档案)→ Python 逻辑引擎(正则解析器 · 风险评分器 · AbuseIPDB 处理器)→ SQLite 数据库(持久审计追踪)+ AbuseIPDB API(实时威胁情报)→ PDF 事件报告 + SMTP 电子邮件警报 + CSV/JSON 导出* # 仪表板界面 **图 1 — 安全访问门户** ![Secure Login](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/745f268e22062546.png) *ACSPM 的入口点。“RESTRICTED ACCESS SYSTEM v3.0 [ENCRYPTED]”。SHA-256 密码哈希保护分析师凭据。Glassmorphism 深色模式界面(虚空黑底上的霓虹青色网格)旨在减少 24/7 安全运维期间的屏幕眩光。默认凭据:`admin` / `admin123`。* **图 2 — 威胁搜寻界面** ![Threat Hunting](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/dfbc1ed2c3062547.png) *核心分析师工作区。模式:AUTONOMOUS(自主)· 状态:ACTIVE PROTECTION(主动防护)。分析师粘贴原始日志数据或上传 .log/.txt 文件。ACSPM 的正则引擎可立即从异构服务器记录中提取所有 IPv4 地址和电子邮件字符串。每个指标都排队等待实时 AbuseIPDB 验证。版本:v3.0.1-CYBER。* **图 3 — 威胁情报分析与响应动作** ![Threat Intelligence](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/124bc8f542062549.png) *AbuseIPDB 验证后,威胁情报匹配表显示 IP、恶意标志、风险等级和详细信息。IP 192.168.1.105 被归类为 CRITICAL(严重)。响应动作面板自动触发:“CRITICAL THREAT DETECTED”(检测到严重威胁)横幅、BLOCK FIREWALL (EXECUTE)(执行防火墙封锁)命令以及 SMTP 电子邮件警报 —— 确认“Alert Sent: Email sent successfully”(警报已发送:电子邮件发送成功)。* **图 4 — 自动化 PDF 事件报告** ![PDF Report](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/9fb6861e23062550.png) *检测到严重事件时自动生成的 FPDF 报告。报告 ID:INC-1771506997。执行摘要:发现 1 个恶意 IP,建议立即遏制。技术分析:`[MALICIOUS] 192.168.1.105 - Match found in Local Blacklist DB (SIMULATION)`。报告可直接从 DOCUMENTATION(文档)面板下载。* **图 5 — 战略档案(事件历史)** ![Strategic Archives](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/d6c5a9a145062552.png) *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安全, 云安全态势管理, 前端应用, 威胁情报, 安全仪表盘, 安全运营中心, 开发者工具, 开源安全工具, 态势感知, 无后门, 结构化查询, 网络映射, 自动化安全, 蓝队分析, 访问控制, 逆向工具, 逆向工程平台