Spaces:
Runtime error
Runtime error
File size: 2,009 Bytes
b54e71a 93e018c a87481b 309d442 e385089 309d442 92fdd7f 309d442 92fdd7f bb27896 0e7f3ec a8afce4 b2d6b51 93e018c 92fdd7f 309d442 92fdd7f 6ef3ddb 92fdd7f c5cc59e 78871dc b54e71a 269fec5 282d4bf 269fec5 6ef3ddb f875dc5 a87481b 6ef3ddb 269fec5 92fdd7f 6ef3ddb 93b0079 6ef3ddb |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
import gradio as gr
import json
# import tensorflow as tf
# from transformers import AutoTokenizer
# from transformers import TFAutoModelForSequenceClassification
# Load model directly
# from transformers import AutoTokenizer, TFAutoModelForSequenceClassification
# # tokenizer = AutoTokenizer.from_pretrained("ankush-003/nosqli_identifier")
# tokenizer = AutoTokenizer.from_pretrained("distilbert-base-uncased")
# model = TFAutoModelForSequenceClassification.from_pretrained("ankush-003/nosqli_identifier")
from transformers import pipeline
classifier = pipeline("sentiment-analysis", model="ankush-003/nosqli_identifier")
# classifier(payload)
def predict(username, pwd, label, payload_text = None):
if(payload_text is None or payload_text is ""):
payload = {
"username": username,
"password": pwd
}
payload_text = json.dumps(payload)
# inputs = tokenizer(payload_text, return_tensors="tf")
# model = TFAutoModelForSequenceClassification.from_pretrained("ankush-003/nosqli_identifier")
# logits = model(**inputs).logits
# predicted_class_id = int(tf.math.argmax(logits, axis=-1)[0])
# print(model.config.id2label[predicted_class_id])
prediction = classifier(payload_text)
return payload_text, prediction[0]['label'], prediction[0]['score'] * 100
input_elements = [gr.Textbox(label="Enter Username"), gr.Textbox(label="Enter Password"), gr.Dropdown(["Malitious", "Benign"], label="Expected", info="Enter expected value"),
gr.Textbox(label="Enter Payload", info="Optional if username and password entered already")]
demo = gr.Interface(
title="NoSQLi Detector",
description="DistilBERT-based NoSQL Injection Payload Detection Model",
fn=predict,
inputs=input_elements,
outputs=[gr.Textbox(label="Generated Payload"), gr.Textbox(label="Model Prediction"), gr.Slider(0, 100, label="Score")]
)
demo.launch(debug=True)
# gr.Interface.load("models/ankush-003/nosqli_identifier").launch() |