🚀 モデル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
📚 ドキュメント
モデルの説明
- 開発者: cssupport (support@cloudsummary.com)
- モデルの種類: 言語モデル
- 言語 (NLP): 英語
- ライセンス: Apache 2.0
- ファインチューニング元のモデル: google/mobilebert-uncased
モデルのソース
モデルのソースについては、google/mobilebert-uncasedを参照してください。
🚀 クイックスタート
以下のコードを使用して、モデルを使い始めましょう。
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}")
💻 使用例
基本的な使用法
上記のコードは、モデルを使って入力文字列内のSQLインジェクション攻撃を検出する基本的な方法を示しています。
高度な使用法
高度なシナリオでは、コードを拡張して、大量のデータを処理したり、リアルタイムでの検出を行ったりすることができます。ただし、具体的なコードは省略します。
🔧 技術詳細
モデルのアーキテクチャと目的
google/mobilebert-uncased
コンピュートインフラストラクチャ
ハードウェア
1台のP6000 GPU
ソフトウェア
PytorchとHuggingFace
📄 ライセンス
このモデルは、Apache 2.0ライセンスの下で提供されています。
⚠️ 免責事項
教育/情報目的のみ
このモデルは、教育または情報目的のみで提供されています。悪意のある活動やその他の違法行為に使用することを意図していません。
保証無し
このモデルは「現状のまま」提供されており、明示または黙示を問わず、いかなる保証または条件も付与されていません。その正確性、信頼性、またはパフォーマンスに関する保証は一切行いません。このモデルの使用は、自己責任で行ってください。
責任の制限
いかなる場合も、このモデルの作成者、メンテナー、または貢献者は、このモデルの使用または使用不能に起因する直接的、間接的、偶発的、特別な、懲罰的、または結果的な損害(代替商品またはサービスの調達、使用の喪失、データの喪失、利益の喪失、または事業の中断を含むが、これらに限定されません)に対して責任を負いません。
結果に対する責任の免除
このモデルを使用することによって生じる損害、セキュリティ侵害、またはその他の問題について、当方は一切の責任を負いません。このモデルが特定のSQLインジェクション攻撃を検出できなかったり、誤検知を生じた場合でも、その結果に起因する損害に対して当方は責任を負いません。
ユーザーの責任
このモデルを使用またはダウンロードすることにより、すべての適用される法律および規制の遵守について独自に責任を負うことに同意するものとします。このモデルの誤用、悪意のある活動の助長や実行への使用などは、すべてユーザーの責任となります。