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分析, 云计算安全, 人工智能安全, 代理系统, 决策融合, 凭据扫描, 动态编排, 双路径分析, 可解释性人工智能, 合规性, 后端开发, 启发式引擎, 图注意力网络, 多模态安全, 大语言模型, 威胁情报, 威胁检测, 开发者工具, 数据可视化, 深度学习安全, 自动取证, 自愈系统, 认知代理, 迁移学习, 逆向工具, 零日威胁