🚀 模型 ID 的模型卡片
本模型基于 google/mobilebert-uncased(MobileBERT 是 BERT_LARGE 的精简版本,具备瓶颈结构,并在自注意力机制和前馈网络之间进行了精心设计的平衡)。该模型可检测输入字符串中的 SQL 注入攻击(具体操作请见下方“如何开始使用模型”部分)。这是一个非常轻量级的模型(仅 100MB),可用于边缘计算场景。使用的数据集来自 Kaggle 上名为 SQl_Injection 的数据集。
请在将模型部署到任何环境之前进行测试。
如需更多信息,请联系:support@cloudsummary.com
代码仓库
代码仓库地址:https://github.com/cssupport23/AI-Model---SQL-Injection-Attack-Detector
🚀 快速开始
使用以下代码开始使用该模型:
import torch
from transformers import MobileBertTokenizer, MobileBertForSequenceClassification
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
tokenizer = MobileBertTokenizer.from_pretrained('google/mobilebert-uncased')
model = MobileBertForSequenceClassification.from_pretrained('cssupport/mobilebert-sql-injection-detect')
model.to(device)
model.eval()
def predict(text):
inputs = tokenizer(text, padding=False, truncation=True, return_tensors='pt', max_length=512)
input_ids = inputs['input_ids'].to(device)
attention_mask = inputs['attention_mask'].to(device)
with torch.no_grad():
outputs = model(input_ids=input_ids, attention_mask=attention_mask)
logits = outputs.logits
probabilities = torch.softmax(logits, dim=1)
predicted_class = torch.argmax(probabilities, dim=1).item()
return predicted_class, probabilities[0][predicted_class].item()
text ="select * from users where id = 1 or 1#\"? = 1 or 1 = 1 -- 1"
predicted_class, confidence = predict(text)
if predicted_class > 0.7:
print("Prediction: SQL Injection Detected")
else:
print("Prediction: No SQL Injection Detected")
print(f"Confidence: {confidence:.2f}")
✨ 主要特性
- 基于 MobileBert 模型,轻量级(100MB),适合边缘计算。
- 可检测输入字符串中的 SQL 注入攻击。
📚 详细文档
模型详情
模型描述
模型来源
模型来源请参考 google/mobilebert-uncased。
使用方式
直接使用
可用于将自然语言转换为 SQL 查询的应用程序。
超出适用范围的使用
[需要更多信息]
偏差、风险和局限性
[需要更多信息]
建议
用户(直接用户和下游用户)应了解模型的风险、偏差和局限性。如需进一步建议,还需更多信息。
技术规格
模型架构和目标
google/mobilebert-uncased
计算基础设施
- 硬件:一块 P6000 GPU
- 软件:Pytorch 和 HuggingFace
免责声明
仅用于教育/信息目的
本模型仅用于教育或信息目的,不应用于恶意活动或任何非法行为。
无担保
本模型按“原样”提供,不提供任何形式的保证或条件,无论是明示的还是暗示的。我们不保证其准确性、可靠性或性能。使用本模型由用户自行承担风险。
责任限制
在任何情况下,本模型的创建者、维护者或贡献者均不对因使用或无法使用本模型而产生的任何直接、间接、偶然、特殊、惩戒性或后果性损害(包括但不限于替代商品或服务的采购;使用、数据或利润的损失;或业务中断)承担责任,即使已被告知可能发生此类损害。
对结果不承担责任
我们不对因使用本模型而可能导致的任何损害、安全漏洞或其他问题负责。如果模型未能检测到某些 SQL 注入攻击或产生误报,我们不对由此产生的任何后果负责。
用户责任
通过使用或下载本模型,您同意独自承担遵守所有适用法律法规的责任。任何对本模型的滥用,包括使用它来促成或实施恶意活动,均由用户独自承担责任。
📄 许可证
本模型采用 Apache 2.0 许可证。