该项目旨在使用机器学习检测API请求/参数中的SQL注入和XSS攻击。
该项目旨在通过机器学习技术检测API请求和参数中的SQL和XSS注入。
目标是创建一个简单的流水线,实现:
benign、sql_injection或xss的模型,准备数据集
data/文件夹中的generated_payloads.csv文件包含带有标签(sql_injection、xss、benign)的API请求示例,这些示例来自Kaggle等外部来源或本地生成。
清洗并划分数据集
python scripts/clean_and_split.py
该脚本:
并生成:
data/combined.csv:清洗后的完整数据集,data/train.csv:训练数据(80%),data/test.csv:测试数据(20%)。python scripts/train_model.py
该模型使用ML流水线:
TF-IDF向量化器(TfidfVectorizer):将请求文本转换为数值向量,捕捉可疑词语或符号的重要性。
逻辑回归(LogisticRegression):监督分类器,学习将TF-IDF向量与sql_injection、xss或benign类别关联。
训练完成后,模型保存在models文件夹中,随后可用于预测新请求的类别。
pytest -v -s tests/test_pipeline.py
测试验证:
pip3 install -r requirements.txt
库