Decision-WAF-V1.1-0.8B
компактный WAF-классификатор HTTP-запросов
Модель от icodediac на базе Qwen3.5-0.8B-Base: около 0,85 млрд параметров, задача text-classification. Она смотрит на метод, путь, query и заголовки одного HTTP-запроса — без тела — и относит его к benign или одному из классов атак. Ответ — один буквенный токен, который ingress decision-waf превращает в распределение вероятностей по категориям.
🔥 Ключевые особенности
- 🔥 Вердикт по одному запросу за один forward pass; порог по attack score = 1 − p(benign) настраивается.
- 📚 8 категорий: benign, auth_abuse, file_access, injection, other_attack, recon, ssrf_redirect, xss.
- 💻 Сервинг через llama.cpp llama-server build ≥ 11822, метаданные decision в GGUF, endpoint /v1/systemone.
- 🩹 Задумана как один слой защиты вместе с TLS, аутентификацией и бэкапами, а не единственная защита.
- ⏰ Q8_0 ≈ 812 МБ; задержка ~0,68 с медиана на Apple M4 и ~30–70 мс на класс на RTX 4000 SFF Ada.
😎 Пример
Сценарий из карточки: на вход подаётся HTTP-запрос с методом, путём, query и заголовками; модель возвращает буквенный токен категории. Например, запрос с полезной нагрузкой Log4Shell/Shellshock в заголовке должен получить класс атаки, а обычный запрос от не-браузерного клиента — benign. Тело запроса в текущем режиме не инспектируется.
Подробнее
Бенчмарк: best F1 0,967; при пороге 0,05 recall 0,916 и FPR 0,014; при 0,1 — recall 0,916 и FPR 0,007.Обучение: LoRA r=64, α=128, ~43M обучаемых параметров, 4591 шаг (~14,9 ч) на одной RTX 4000 SFF Ada; ~150k размеченных HTTP-запросов.
Ограничения: только заголовки и request line, без тела; возможны пропуски на редких probe-путях и ложные срабатывания на похожих на атаки фразах; распределение может дрейфовать — нужен мониторинг и переобучение.








Комментарии