2025-02-06 02:43:26 +08:00
|
|
|
from transformers import AutoModelForSequenceClassification, AutoTokenizer
|
|
|
|
from flask import Flask, request, jsonify
|
2025-02-06 01:28:40 +08:00
|
|
|
|
2025-02-06 02:43:26 +08:00
|
|
|
ACCESS_TOKEN = "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"
|
2025-02-06 01:28:40 +08:00
|
|
|
|
2025-02-06 02:43:26 +08:00
|
|
|
app = Flask(__name__)
|
2025-02-06 01:28:40 +08:00
|
|
|
|
2025-02-06 02:43:26 +08:00
|
|
|
model_path = "maheshj01/sql-injection-classifier"
|
|
|
|
model = AutoModelForSequenceClassification.from_pretrained(model_path, token=ACCESS_TOKEN)
|
|
|
|
tokenizer = AutoTokenizer.from_pretrained(model_path, token=ACCESS_TOKEN)
|
2025-02-06 01:28:40 +08:00
|
|
|
|
2025-02-06 02:43:26 +08:00
|
|
|
# Function to classify a SQL query
|
|
|
|
def classify_query(query):
|
|
|
|
inputs = tokenizer(query, return_tensors="pt", truncation=True, padding=True)
|
|
|
|
outputs = model(**inputs)
|
|
|
|
prediction = outputs.logits.argmax(-1).item()
|
|
|
|
return "Vulnerable" if prediction == 1 else "Secure"
|
2025-02-06 01:28:40 +08:00
|
|
|
|
|
|
|
# Example usage
|
2025-02-06 02:43:26 +08:00
|
|
|
query = "SELECT Column"
|
|
|
|
result = classify_query(query)
|
|
|
|
print(f"The query is classified as: {result}")
|