KGaurav1207/Fraud_pay_detection
GitHub: KGaurav1207/Fraud_pay_detection
基于 TF-IDF 与 XGBoost 结合规则引擎的机器学习系统,用于检测印度数字支付场景中的 SMS 钓鱼与欺诈消息。
Stars: 1 | Forks: 0
# 🛡️ FraudPayGuard – 印度 SMS 欺诈检测系统
这是一个基于机器学习的 SMS 欺诈检测系统,旨在识别印度数字支付生态系统中常见的欺诈和可疑 SMS 消息。
该项目结合了基于 TF-IDF 的文本分类模型和手工设计的基于规则的欺诈信号,以提高对银行诈骗、钓鱼攻击、KYC 欺诈、UPI 诈骗和冒充攻击的检测能力。
## 📌 功能
- 将 SMS 检测为 **FRAUD**(欺诈)、**SUSPICIOUS**(可疑)或 **SAFE**(安全)
- 基于公开垃圾短信数据集训练的机器学习分类器
- 针对印度特定欺诈模式的基于规则的引擎
- TF-IDF 文本向量化与工程化的数值特征
- 为每次预测提供置信度分数和解释
- 专为使用 FastAPI 轻松部署而设计
# 🏗️ 项目 Pipeline
```
SMS Message
│
▼
Text Preprocessing
│
▼
Feature Extraction
(TF-IDF + Numerical Features)
│
▼
Machine Learning Model
│
▼
Fraud Signal Extraction
(Rule Engine)
│
▼
Decision Engine
│
▼
SAFE / SUSPICIOUS / FRAUD
```
# 📊 机器学习模型
训练并比较了以下模型:
| 模型 | 用途 |
|--------|----------|
| Logistic Regression | 基线文本分类器 |
| Random Forest | 非线性分类 |
| XGBoost | 梯度提升模型 |
最终模型是根据验证集表现选出的。
# 🔍 特征工程
### 文本特征
- TF-IDF 向量
- Unigrams
- Bigrams
- Trigrams
### 数值特征
- 消息长度
- 单词计数
- 数字计数
- 大写字符计数
- 特殊字符计数
- 是否包含 URL
- 是否包含与金钱相关的词汇
- 是否包含与紧急性相关的词汇
# 🛡️ 基于规则的欺诈检测
除了 ML 模型外,该项目还使用手工设计的规则来检测常见的欺诈模式,包括:
- OTP 诈骗
- KYC 欺诈
- 银行账户冻结诈骗
- 钓鱼链接
- 中奖和彩票诈骗
- RBI/TRAI 冒充
- Aadhaar 和 PAN 欺诈
- UPI 支付诈骗
- 求职和投资诈骗
- 基于紧迫感的社会工程学
这种混合方法提高了可解释性,并有助于检测在训练数据集中可能代表性不足的欺诈模式。
# 📈 模型性能
在留出测试集上进行评估。
| 指标 | 分数 |
|---------|--------|
| Accuracy | XX.XX% |
| Precision | XX.XX% |
| Recall | XX.XX% |
| F1 Score | XX.XX% |
| ROC-AUC | XX.XX |
*(请用您的准确结果替换这些值。)*
# 📂 项目结构
```
fraudpayguard/
│
├── fraud_pay_fixed.ipynb
├── fraud_model.pkl
├── fraud_vectorizer.pkl
├── final.pkl
├── SMSSpamCollection
├── spam.csv
├── README.md
```
# ⚙️ 安装说明
```
pip install pandas numpy scikit-learn xgboost matplotlib scipy
```
# ▶️ 使用说明
运行 notebook:
```
jupyter notebook fraud_pay_fixed.ipynb
```
预测示例:
```
message = "Your SBI account has been blocked. Verify immediately."
result = analyze_message(message)
print(result)
```
输出
```
Classification : FRAUD
Confidence : 97%
Detected Signals
✓ Account Threat
✓ Suspicious Link
✓ Phishing Attempt
```
# 🇮🇳 印度特定检测
该项目旨在识别印度常见的欺诈模式,包括:
- UPI 欺诈
- Google Pay
- PhonePe
- Paytm
- SBI
- HDFC
- ICICI
- RBI 冒充
- TRAI 诈骗
- Aadhaar 欺诈
- PAN 欺诈
- KYC 诈骗
# 🚀 未来改进
- FastAPI 部署
- Streamlit Web 界面
- 多语言 SMS 支持
- 集成 IndicBERT / mBERT
- 持续的模型重训练
- Docker 部署
# 📚 数据集
- SMS Spam Collection (UCI)
- Kaggle Spam Dataset
- 自定义的印度欺诈 SMS 样本
# 📝 许可证
本项目出于教育目的和作品集展示而开发。
标签:Apex, AV绕过, FastAPI, NoSQL, TF-IDF, XGBoost, 反钓鱼, 文本分类, 机器学习, 欺诈检测, 逆向工具