/ Модель

Характеристики

Контекст
514 токенов
Параметры
152 млн
Архитектура
roberta · dense
Базовая модель
codebert-base
Библиотека
transformers
Опубликована
13 июн 2024

SQLQueryShield

Классификация текстаТекст → label7 профессий

Модель на базе CodeBERT классифицирует SQL-запросы как потенциально уязвимые или безопасные для фильтрации перед выполнением.

22скачиваний за 30 дней1лайквеса обновлены10 июл 2025

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

SQLQueryShield — модель классификации SQL-запросов, разработанная salmane11 на основе microsoft/codebert-base и дообученная на SQLShield. Она относит запрос к потенциально уязвимым или безопасным; при обучении использовались SQL-запросы из пар естественно-языковых запросов и SQL, а на вход подавались строки SQL.

Модель предназначена для фильтрации запросов после генерации в системах Text-to-SQL и для проверки пользовательских запросов перед выполнением. Архитектура — RoBERTa для классификации последовательностей, около 151,8 млн параметров; максимальная длина контекста по метаданным — 514 токенов. В карточке указаны английский язык и лицензия Apache-2.0.

Результат классификации может помочь выявлять шаблоны SQL-инъекций, небезопасную конкатенацию строк и другие потенциально опасные выражения. Модель анализирует текст запроса и сама по себе не гарантирует безопасность выполнения SQL; обучающая обработка ограничивала последовательности 128 токенами. Лицензия — Apache-2.0.

Сценарии применения

  • проверка сгенерированных Text-to-SQL запросов на уязвимости
  • фильтрация пользовательских SQL-запросов перед выполнением
  • выявление потенциальных SQL-инъекций в запросах
  • анализ SQL на небезопасную конкатенацию строк

Ограничения

Модель оценивает текст SQL и не гарантирует безопасность запроса при выполнении; описание обучения указывает на ограничение длины 128 токенов, хотя нативный контекст в метаданных составляет 514 токенов.

Для каких профессий подходит7

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

SQLQueryShield

Model Description

SQLQueryShield is a vulnerable SQL query detection model. It classifies SQL queries as either vulnerable (e.g., prone to SQL injection or unsafe execution) or benign (safe to execute).

The checkpoint included in this repository is based on microsoft/codebert-base and further finetuned on SQLShield, a dataset dedicated to text-to-SQL vulnerability detection composed of vulnerable and safe NLQs and their related SQL queries.

Finetuning Procedure

The model was fine-tuned using the Hugging Face Transformers library. The following steps were used:

  1. Dataset: SSQLShield, only the SQL queries from the (NLQ, SQL) pairs were used for training.

  2. Preprocessing:

    • Input Format: Raw SQL query strings.

    • Tokenization: Tokenized using microsoft/codebert-base.

    • Max Length: 128 tokens.

    • Padding and truncation applied.

Intended Use and Limitations

SQLQueryShield is intended for use as a post-generation filter or analysis tool in any system that executes or generates SQL queries. Its main role is to detect whether a SQL query is potentially harmful due to vulnerability patterns such as SQL injection, improper string concatenation, or unsafe expressions.

Ideal use cases:

- Filtering SQL queries in Text-to-SQL applications

- Post-processing or validating user-generated SQL before execution

How to Use

Example 1: Malicious

from transformers import pipeline

sql_query_shield = pipeline("text-classification", model="salmane11/SQLQueryShield")

# For the following Table schema
# CREATE TABLE campuses
#   (
#      campus   VARCHAR,
#      location VARCHAR
#   )

query = "SELECT campus FROM campuses WHERE location = '' UNION SELECT database() --"

prediction = sql_query_shield(query)
print(prediction)
#[{'label': 'MALICIOUS', 'score': 0.9995294809341431}]

Example 2: Safe

from transformers import pipeline

sql_query_shield = pipeline("text-classification", model="salmane11/SQLQueryShield")

# For the following Table schema
# CREATE TABLE tv_channel
#   (
#      package_option VARCHAR,
#      series_name    VARCHAR
#   ) 

query = "SELECT package_option FROM tv_channel WHERE series_name = 'Sky Radio'"


prediction = sql_query_shield(query)
print(prediction)
#[{'label': 'SAFE', 'score': 0.999503493309021}]

Cite our work

Citation

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers · text-classification

Можно запустить

Подбираем GPU…

Класс архитектуры
RobertaForSequenceClassification
Ревизия весов
ca4118e

0 моделей