Alam1n/Intelligent-Fraud-Ingestion-Phishing-Cyber-Security-Infrastructure-Pipeline
GitHub: Alam1n/Intelligent-Fraud-Ingestion-Phishing-Cyber-Security-Infrastructure-Pipeline
一个端到端的双引擎机器学习框架,同时处理金融交易欺诈检测和钓鱼URL分类,提供从特征工程、模型训练到Flask部署的完整pipeline。
Stars: 0 | Forks: 0
# 智能欺诈接入钓鱼网络安全基础设施 Pipeline
一个端到端的机器学习和深度学习智能框架,旨在同时识别并隔离金融欺诈威胁和恶意网络操作。
本仓库包含一个双引擎架构:
行为欺诈检测引擎:通过自定义特征工程、行为分组和序列建模,分析高吞吐量的金融交易。
构建了一个钓鱼检测引擎,结合了传统机器学习(LightGBM, CatBoost)与深度学习模型(LSTM, BiLSTM, Transformer 和图神经网络),用于对恶意 URL 进行分类。
## 🛠️ 架构概述
📁 深度智能 Pipeline
├── 💳 行为欺诈检测 (Bank_Transaction_Fraud_Detection.csv)
│ ├── 设计了客户速度和设备行为漂移指标
│ └── 通过双层 LSTM 和 Self-Attention Transformer 进行序列建模
│
└── 🌐 钓鱼 URL 智能 (phishing_binary_cleaned.csv)
```
├── Feature Engine: Regular expression vector extraction
├── Ensembled Classifiers: LightGBM + CatBoost + Deep Tokenizers
└── Spatial Graph Topology: Approximate Nearest Neighbor (ANN) Graph Convolutional Networks
```
## 🚀 技术深入剖析与工程重点
1. 高级特征工程与数据清洗
行为分位数:通过动态计算 95 位数的滚动速度阈值,建立交易基准方差标志。
客户状态分组:实现滚动转换聚合,以映射标准 24 小时窗口内的交易速度计数,并追踪相对于用户历史职业平均值的偏差指标。
结构不平衡 remediation:通过目标分层拆分结合合成少数类过采样技术(SMOTE)和平衡损失矩阵,解决极端的少数类样本特征。
2. 多模型网络套件
梯度提升树堆栈:经过高度调优的 LightGBM 和 CatBoost 分类器,管理稳健的类别特征编码。
序列与注意力网络:自定义文本处理循环,将字符串域名转换为离散的标记化字符索引。通过深度 BiLSTM 评估序列追踪,并使用多头 Self-Attention Transformer 评估空间序列关系。
集成投票机制:利用调整后的软投票概率截断值来分离假阴性,在多样化的网络类别(神经 + 经典)中实现概率加权平均布局。
图卷积网络(GCN):通过快速的近似最近邻(pynndescent),从数百万行高维数据中构建几何图,扩展传统的深度空间卷积(GCNConv)以确定基础设施的局部性。
模型架构,准确率,精确率,召回率,F1分数,检测率 (TPR),假阳性率,CPU 使用率,延迟 (s/URL),内存 (MB),能量 (kWh)
Random Forest,99.87%,99.87%,99.87%,99.87%,99.88%,0.25%,43.4%,1.35×10−10,0.0898,1.59×10−8
LightGBM,99.85%,99.85%,99.85%,99.85%,99.85%,0.15%,57.2%,1.16×10−10,0.4000,1.48×10−8
CatBoost,99.82%,99.82%,99.82%,99.82%,99.89%,0.82%,47.4%,1.50×10−10,0.4100,1.71×10−8
GBM,99.84%,99.84%,99.84%,99.85%,99.86%,0.31%,26.7%,6.03×10−6,0.5000,9.24×10−8
LSTM,99.86%,99.86%,99.86%,99.86%,99.91%,0.50%,93.1%,5.56×10−11,28.6484,8.52×10−9
BiLSTM,99.68%,99.68%,99.68%,99.68%,99.78%,1.17%,95.2%,5.26×10−11,2.5585,5.60×10−11
Transformer,98.38%,98.49%,98.38%,98.41%,98.52%,2.72%,85.7%,6.28×10−11,9.7460,6.14×10−11
Ensemble 1 (LSTM + LGBM + Cat),99.89%,99.88%,99.89%,99.87%,99.91%,0.26%,87.3%,3.78×10−08,29.5084,6.42×10−10
Ensemble 2 (Trans + LGBM + Cat),99.88%,99.87%,99.88%,99.80%,99.80%,1.40%,35.2%,2.18×10−08,10.6060,3.89×10−10
MEGA Ensemble 3 (All Stacked),99.90%,99.90%,99.90%,99.90%,99.90%,1.24%,29.4%,2.22×10−08,39.2544,3.92×10−10
## ⚙️ 技术栈与依赖
数据清洗:pandas, numpy, scipy
机器学习引擎:scikit-learn, lightgbm, catboost, imbalanced-learn
深度学习框架:tensorflow / keras
几何深度学习:torch (PyTorch), torch_geometric (PyG), pynndescent
模型序列化:joblib, pickle
## 🔧 安装与本地设置
前置条件
确保您的本地环境使用 Python 3.9+,如果在本地运行图或 transformer 训练块,请启用 CUDA。
1. 环境设置
Bash
git clone [https://github.com/your-username/your-repo-name.git](https://github.com/Alam1n/Intelligent-Fraud-Ingestion-Phishing-Cyber-Security-Infrastructure-Pipeline)
cd your-repo-name
pip install -r requirements.txt
2. Pipeline 接入
确保您的本地项目工作区包含必要的源文件:
Bank_Transaction_Fraud_Detection.csv
phishing_binary_cleaned.csv
3. 执行运行
要启动完整的特征提取,执行交叉验证训练循环,打印模型分类边界性能摘要,并输出二进制序列化转储:
Bash
python train_pipeline.py
## 💾 导出的 Artifact 布局
在完成验证循环后,系统会将所有功能处理器序列化到磁盘,以便在 Web 界面(例如,微服务)中进行流畅部署:
`lgbm_model.pkl` & `cat_model.pkl` — 生产级经典提升变体。
`random_forest_model.pkl` & `gbm_model.pkl` — 补充机器学习基线评估器。
`tokenizer_1.pkl` — 用于实时输入接入的序列化字符标记映射。
`*.keras` — 原生编译的深度序列格式(`lstm_model_phishing`, `transformer_model_phishing`, `bilstm_model`)。
## 🌐 生产接口与部署层
接口层利用轻量级的 Flask Web 应用程序,结合同步多模型执行循环。该服务器处理实时的入站字符串操作、实时计算监控和动态指标计算。
## ⚡ 实时特征提取 Pipeline
当提交 URL 时,后端通过 extract_all_features 方法在两个不同的维度路径上并行处理它:
- 非结构化标记化向量:通过两个独立的 tokenizer(final_tokenizer.pkl 和 tokenizer_1.pkl)馈送字符级数组,应用严格的序列截断阈值(maxlen=200, padding="post")以及数值截断块,以丢弃词汇表外的 artifact。
- 词法分析引擎:自动构建包含字符串属性、特殊字符密度(., -, @, /, ?, =)、循环检查活动 IPv4 字符串结构以及 HTTPS 协议握手的统计结构数组。
## 计算延迟追踪器
系统不仅仅提供原始的评估概率,还使用高精度单调时钟(time.perf_counter())将推理效率分析精确到微秒。
碳足迹模拟:实施本地化的软件定义能量方程,追踪单个深度网络前向传播对环境的影响。
## 🎨 界面 UI 引擎 (index.html & result.html)
前端仪表板使用简洁、响应式的 HTML5 样式,并由深色主题样式参数支持。
- 非阻塞处理反馈:应用程序表单使用 JavaScript 监听器捕获提交事件,立即将主提交按钮替换为活动的 CSS 无限旋转加载轮动画,以确保在繁重的集成计算期间提供流畅的交互反馈。
- 动态风险计可视化:利用 DOM 框架内的可变 Jinja2 样式宽度块(width: {{ e3 }}%),渲染出平滑的 CSS 线性颜色过渡光谱(从绿到黄再到红),直观地反映威胁概率百分比。
标签:凭据扫描, 逆向工具