chandana022005/Detecting-Malicious-API-Requests-in-Cloud-Computing-Environment

GitHub: chandana022005/Detecting-Malicious-API-Requests-in-Cloud-Computing-Environment

这是一个混合式框架,利用启发式引擎和图注意力网络检测云计算环境中的恶意API请求,实现自动化威胁情报与模型自愈。

Stars: 0 | Forks: 0

# 云计算环境中恶意API请求检测 **Agentic-PACX** 是一个混合式、下一代威胁情报与可解释性生态系统。它无缝融合了基于规则的启发式方法与深度结构化图注意力网络,并由协作认知型LLM智能体动态编排,提供自动化取证推理与自愈式迁移学习循环。 ## 🌟 系统架构与动态流程 ``` +---------------------------------------+ | Uploaded Payload | +---------------------------------------+ | v +-------------------------------+ | Universal Input Adapter | +-------------------------------+ / \ / \ v v +--------------------+ +--------------------+ | PATH 1: PAC-X | | PATH 2: GNN | | Heuristic Engine | | Graph Attention | +--------------------+ +--------------------+ \ / \ / v v +-------------------------------+ | Decision Fusion Layer | +-------------------------------+ | v +-------------------------------+ | Agent 1: Forensic LLM | +-------------------------------+ / \ / \ (Confidence >= 60%) (Confidence < 60%) / \ v v +-------------------+ +-------------------------+ | System Safe / | | AGENT 2 ACTIVATED | | Threat Isolated | | Zero-Day Retrain Pool | +-------------------+ +-------------------------+ | v +-------------------------+ | Transfer Learning Loop | | Updates model.pt weights| +-------------------------+ | v +-------------------------+ | Active Memory Reload | +-------------------------+ ``` ## 📂 项目文件夹目录结构 ``` [Project Root] ├── agentic_pacx/ <-- Core GNN neural network implementation and training script. ├── agents/ <-- System Orchestration Agents (Agent 1 & Agent 2 trigger). ├── core/ <-- Core utility algorithms (Adapter, PAC-X, Graphs, Visualizer). │ └── utils/ <-- Environmental check, dataset audit, and forensic image generator. ├── data/ <-- Local databases: pyg datasets, training indices, retrain pools. ├── graph_output/ <-- Forensics image storage for dynamic behavior charts. ├── prospect/ <-- Threat intelligence consistency research and MMD scores. ├── web/ <-- Complete Frontend code (templates and static stylesheets/scripts). │ ├── templates/ <-- Server-served HTML dashboard layouts. │ └── static/ <-- Stylesheets, icons, and dynamic Plotly JS UI logic. ├── model.pt <-- Active compiled PyTorch weights file for the GNN. ├── app.py <-- Main Unified FastAPI entry point (combines backend API & UI templates). ├── run_frontend.py <-- Backup static simple HTTP server utility. ``` ### 文件夹作用与职责 * **`web/` (前端代码库):** 管理整个可视化仪表板层。 - `web/templates/` 存放服务器端布局:`index.html` (主评估仪表板)、`live_analysis.html` (实时上传与融合扫描页面)、`metrics_report.html` (ROC/混淆矩阵比较) 和 `visual_graphs.html` (交互式拓扑节点图)。 - `web/static/` 存放 `css/style.css` (自定义暗黑模式设计系统) 和 `js/script.js` (UI逻辑、表单提交及Plotly动态渲染)。 * **`agentic_pacx/` (GNN核心算法):** 包含GNN数学模型定义(`MalwareGAT` —— 一个更深层的3层GAT架构,含批量归一化和Dropout)以及执行GNN训练和阶段3迁移学习重训练循环的 `gnn_classification.py`。 * **`agents/` (编排智能体):** 包含 `analyst_agent.py`。它定义了**智能体1** (取证LLM威胁推理) 的逻辑以及**智能体2** (`trigger_agent_2_retraining()`) 的启动触发器。 * **`core/` (核心逻辑层):** - `core/input_adapter.py`:标准化输入日志,归一化向量特征,并处理格式转换。 - `core/pacx_analyzer.py`:执行Prospect-Aspect-Context启发式评估。 - `core/graph_constructor.py`:标准化结构化PE图节点并哈希特征列表。 - `core/utils/visualizer.py`:生成并保存取证行为图到磁盘。 * **`data/` (本地数据集):** 包含GNN数据集(`pyg_dataset.pt`, `pyg_dataset_norm.pt`)、NumPy评估分割(`test_indices.npy`)、干净标签(`cleaned_data.csv`)以及活动重训练池文件(`retrain_pool.pt`)。 * **`prospect/` (MMD鲁棒性与一致性):** 使用最大均值差异分数(`consistency.py`, `robustness.py` 及评分表)验证跨不同恶意软件变种的特征鲁棒性与结构一致性。 ## 🛠️ 技术栈详解 ### 前端: * **HTML5 & CSS3:** 响应式结构网格布局,基于Catppuccin风格的暗黑模式石板主题构建,采用优质玻璃拟态设计元素、悬停微动画和状态卡片进行样式化。 * **原生JavaScript:** 事件驱动的异步架构,管理动态API请求、解析响应并无页面刷新更新面板。 * **Plotly.js:** 为仪表板中的动态取证可视化提供支持: - **拓扑节点图:** 交互式显示4个核心节点(Header, Entropy, API, Network)之间的连接强度。 - **行为旭日图:** 在"深度分析"面板中分层映射复杂动态指标,便于取证分析。 ### 后端: * **FastAPI (ASGI Core):** 异步Python Web框架,提供API端点、健康检查、环境诊断和Jinja2渲染模板。 * **PyTorch & PyTorch Geometric (PyG):** 定义并运行神经引擎: - **MalwareGAT:** 一个3层**图注意力网络**堆栈(`gat1`, `gat2`, `gat3`),包含4个注意力头、隐藏维度64、批量归一化和Dropout(25%)。它卷积结构化语义关联并运行全局池化以输出跨11个类别的预测。 ## 🎯 通用输入适配器与下拉选择器 前端提供下拉菜单以指定格式结构,但后端设计为**对用户错误配置具有极强鲁棒性**: ### 支持的下拉菜单格式 1. **简单文本检查(API下拉菜单):** * **接受:** 原始逗号分隔命令、API跟踪或命令日志。 * **示例文件:** [zero_day_sample.txt](zero_day_sample.txt) (包含PE签名和API)。 2. **结构化JSON(JSON下拉菜单):** * **接受:** JSON遥测记录。 * **解析逻辑:** 将 `"api"`, `"api_calls"`, `"network"`, `"ip"` 键直接映射到相应的API和Network节点。 * **示例文件:** [sample_json.json](sample_json.json) 3. **CSV日志文件(CSV下拉菜单):** * **接受:** 表格化日志。 * **解析逻辑:** 搜索包含 `"api"`, `"network"` 或 `"ip"` 的列标题以提取值。 * **示例文件:** [sample_csv.csv](sample_csv.csv) ### 🛡️ 边角情况与故障安全机制 * **下拉菜单不匹配恢复:** 如果您上传了一个 `.csv` 日志但下拉菜单保持选择为 `"JSON"`,适配器会捕获解析错误,降级为全局正则提取,并仍能成功构建有效的4节点GNN图。 * **格式损坏回退:** 如果JSON或CSV文件格式错误,适配器会拦截异常并无缝地将负载作为标准原始文本处理。 * **混淆剥离:** 运行 `canonicalize_api()` 以移除常见的API包装器(例如剥离内核指示符如 `Nt`, `Zw` 以及Windows ABI标志如 `Ex`, `A`, `W`),从而将零日漏洞直接映射回GNN已知的行为映射。 ## 🧠 模型融合数学与编排智能体 ### 1. **决策融合层** 混合启发式规则输出与结构化GNN预测: $$\text{最终得分} = (\text{PAC-X 权重} \times \text{PAC-X 分数}) + (\text{GNN 权重} \times \text{GNN 分数})$$ * **基础设置:** GNN权重 0.60 + PAC-X权重 0.40。 * **动态校准:** 权重根据GNN结构完整性和预测确定性动态调整: $$\text{可靠性加成} = 0.20 \times \left( (0.50 \times \text{完整性}) + (0.50 \times \text{确定性}) \right)$$ * GNN权重被限制在 `[0.50, 0.80]` 之间,确保在任何时候都保持平衡共识。 ### 2. **智能体1 (比较对决)** 比较两种路径并生成自然、专家级的取证报告来解释诊断结果(使用Gemini 2.0 / 1.5 Flash)。它基于完整性、证据和模型置信度评估模型信任分数: * **PAC-X 信任度:** $(0.7 \times \text{PAC-X 置信度}) + (0.3 \times \text{PAC-X 证据})$ * **GNN 信任度:** $(0.35 \times \text{GNN 原始置信度}) + (0.10 \times \text{准确率}) + (0.15 \times \text{完整性}) + (0.25 \times \text{证据}) + (0.15 \times \text{家族置信度})$ ### 3. **智能体2 (自主重训练与自愈)** 为保持高速并避免冗余代码块,**智能体2没有独立文件**。它被分配在以下部分: * **触发编排器:** 位于 `agents/analyst_agent.py` (`trigger_agent_2_retraining()`)。 * **学习大脑:** 位于 `agentic_pacx/gnn_classification.py` (`--retrain`)。 * **触发条件:** 智能体2 **仅在**最终融合置信度低于 **60% (< 0.60)** 时触发。 * **重训练流程:** 将零日样本连同伪标签追加到 `data/retrain_pool.pt`,运行10个epoch的迁移学习循环以微调 `model.pt`,在活动内存中重新加载权重,并自动纠正实时诊断结果。 ## 📈 系统性能与健康检查 * **GNN分类准确率:** **95.55%** (宏F1分数: **0.9184**) * **PAC-X 启发式准确率:** **82.10%** ### 专业健康检查端点 * `/api/health` - FastAPI进程实时状态。 * `/api/audit/env` - 评估CUDA/CPU深度学习硬件加速。 * `/api/audit/dataset` - 验证表格与图数据库结构对齐。 ## 🚀 快速入门指南 ### 1. 设置与安装 ``` # 克隆仓库并安装依赖项 pip install -r requirements.txt ``` ### 2. 启动应用程序 运行FastAPI后端服务器(从根目录): ``` python app.py ``` 在浏览器中打开 **[http://localhost:8000/live_analysis.html](http://localhost:8000/live_analysis.html)**。 ### 3. 模拟零日攻击 * **测试文本日志:** 使用 **简单文本检查** 下拉菜单上传 `zero_day_sample.txt`。 * **测试JSON日志:** 使用 **结构化JSON** 下拉菜单上传 `sample_json.json`。 * **测试CSV日志:** 使用 **CSV日志文件** 下拉菜单上传 `sample_csv.csv`。 *要手动测试智能体2,请在实时上传页面左下角面板点击 **“强制模型演化”**。后端将立即运行微调,并在数秒内重新加载优化后的模型权重!*
标签:AMSI绕过, API安全, DLL 劫持, JSON输出, 主动学习, 云API分析, 云计算安全, 人工智能安全, 代理系统, 决策融合, 凭据扫描, 动态编排, 双路径分析, 可解释性人工智能, 合规性, 后端开发, 启发式引擎, 图注意力网络, 多模态安全, 大语言模型, 威胁情报, 威胁检测, 开发者工具, 数据可视化, 深度学习安全, 自动取证, 自愈系统, 认知代理, 迁移学习, 逆向工具, 零日威胁