/ Модель

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

Контекст
32 768 токенов
Параметры
1,5 млрд
Размер весов
3,1 ГБ
Лицензия
Apache 2.0
Архитектура
qwen2 · dense
Базовая модель
Qwen2.5-1.5B-Instruct
Библиотека
mlx
Опубликована
27 апр 2026

PWNISMS-Threat-Model-Structured

Генерация текстаТекст → текст3 профессии

Дообученная Qwen2.5-1.5B модель для создания структурированных JSON-моделей угроз PWNISMS по описанию системы.

80скачиваний за 30 дней2лайкавеса обновлены27 апр 2026

Бенчмарки

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

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

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

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

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

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

PWNISMS-Threat-Model-Structured — дообученная на LoRA модель на основе Qwen/Qwen2.5-1.5B-Instruct, разработанная для создания структурированных моделей угроз по описанию системы. Она генерирует JSON по схеме PWNISMS, охватывающей семь областей: продукт, рабочая нагрузка, сеть, управление идентификацией и доступом, секреты, мониторинг и цепочка поставок; также может добавлять метки STRIDE и конкретные меры защиты. Модель имеет плотную архитектуру Qwen2, 1,5 млрд параметров и контекст до 32 768 токенов. Выпущены веса в формате safetensors и варианты GGUF F16 и Q4_K_M; лицензия — Apache-2.0.

Модель предназначена для архитекторов приложений и специалистов по безопасности, которым нужно подготовить черновик модели угроз по описанию системы. В небольшом внутреннем тесте README 16 из 20 ответов разбирались как JSON, а 12 из 20 проходили полную проверку схемы; длинные сценарии могут требовать большого лимита на генерацию. Результаты следует проверять по JSON Schema или Pydantic и перед применением в обеспечении безопасности, аудите или комплаенсе передавать на экспертную проверку.

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

  • Составление черновика модели угроз приложения по его архитектурному описанию
  • Выявление угроз в сетевой архитектуре и рабочих нагрузках
  • Анализ рисков управления идентификацией, доступом и секретами
  • Подготовка мер защиты для мониторинга и цепочки поставок
  • Формирование модели угроз в JSON для последующей проверки схемой

Ограничения

В тесте из 20 примеров только 12 ответов прошли полную проверку Pydantic, поэтому JSON и покрытие всех доменов нужно проверять автоматически. Для длинных сценариев может потребоваться до примерно 12 000 выходных токенов; модель не заменяет экспертную оценку.

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

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

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

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

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

Открыть на Hugging Face

PWNISMS-Threat-Model-Structured

Fused MLX and GGUF releases of Qwen2.5-1.5B-Instruct fine-tuned to emit valid JSON matching a PWNISMS structured threat model (seven domains: Product, Workload, Network, IAM, Secrets, Monitoring, SupplyChain), with optional STRIDE cross-tags and concrete mitigations.

Base Model And License

  • Base: Qwen/Qwen2.5-1.5B-Instruct (Apache-2.0).
  • This release is a derivative work of the base model. The base license applies; retain notices and state modifications as required by Apache-2.0. See LICENSE.

Training Summary

  • Method: LoRA fine-tuning on MLX (mlx_lm), then fused into a single checkpoint.
  • Base: Qwen/Qwen2.5-1.5B-Instruct
  • LoRA: rank 8, scale 20, 16 layers, max sequence length 10240, 1200 iterations.
  • GGUF conversion: llama.cpp convert_hf_to_gguf.py, plus Q4_K_M quantization with llama-quantize.

Output Contract

The model is trained to answer with JSON only for a chat shaped as:

  • System: PWNISMS architect instructions requiring all seven domains, concrete mitigations, and scenario-grounded components.
  • User: Markdown system description.

The expected object is defined by the included threat_model_schema.json.

Minimum bar: at least 5 threats, exactly 7 pwnisms_coverage entries, and each threat id must appear under its domain’s threat_ids.

Limitations And Evaluation

Internal pulse check (n=20 held-out style samples, local script): 16/20 parse as JSON, 12/20 pass full Pydantic validation, and 12/20 cover all seven domains with the schema. Real deployments should validate outputs with Pydantic or JSON Schema and never treat this model as a substitute for expert review.

Long scenarios can need up to ~12k output tokens; lower caps may truncate JSON.

Load And Generate (MLX)

from mlx_lm import load, generate

model, tokenizer = load("abhaybhargav/PWNISMS-Threat-Model-Structured")

system = """You are a senior security architect. Produce a PWNISMS threat model for the described system.
Address all seven PWNISMS domains: Product, Workload, Network, IAM, Secrets, Monitoring, SupplyChain.
Mitigations must reference concrete technologies, configurations, or processes.
Return only valid JSON matching the required schema."""

user = open("scenario.md").read()
messages = [{"role": "system", "content": system}, {"role": "user", "content": user}]
prompt = tokenizer.apply_chat_template(messages, add_generation_prompt=True, tokenize=False)
text = generate(model, tokenizer, prompt=prompt, max_tokens=12000, verbose=False)
print(text)

Load And Generate (GGUF / llama.cpp)

Recommended default:

  • PWNISMS-Threat-Model-Structured-Q4_K_M.gguf (~940MB): broad local compatibility, much smaller than F16.

Reference precision:

  • PWNISMS-Threat-Model-Structured-F16.gguf (~2.9GB): F16 GGUF export.

Example with llama.cpp:

llama-cli \
  -m PWNISMS-Threat-Model-Structured-Q4_K_M.gguf \
  --ctx-size 12000 \
  --temp 0.2 \
  -p '<|im_start|>system
You are a senior security architect. Produce a PWNISMS threat model for the described system.
Address all seven PWNISMS domains: Product, Workload, Network, IAM, Secrets, Monitoring, SupplyChain.
Mitigations must reference concrete technologies, configurations, or processes.
Return only valid JSON matching the required schema.<|im_end|>
<|im_start|>user
<paste the system scenario markdown here><|im_end|>
<|im_start|>assistant
'

Ollama

Create a Modelfile next to the downloaded GGUF:

FROM ./PWNISMS-Threat-Model-Structured-Q4_K_M.gguf
PARAMETER temperature 0.2
PARAMETER num_ctx 12000
TEMPLATE """{{ .Prompt }}"""

Then run:

ollama create pwnisms-threat-model-structured -f Modelfile
ollama run pwnisms-threat-model-structured

Files

FilePurpose
model.safetensorsFused MLX/HF-format weights
PWNISMS-Threat-Model-Structured-Q4_K_M.ggufQuantized GGUF for llama.cpp/Ollama/local tools
PWNISMS-Threat-Model-Structured-F16.ggufF16 GGUF reference export
config.json, tokenizer.json, tokenizer_config.json, chat_template.jinjaModel + tokenizer
threat_model_schema.jsonJSON Schema for outputs
examples/sample_scenario.mdTiny example input shape

Intended Use

This model is intended to assist application and security architects in drafting structured PWNISMS threat models from system descriptions. It is not a formal risk decision engine and should be reviewed by humans before use in production assurance, audit, or compliance workflows.

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

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

GPU в ailist

Универсальный рантайм · mlx

Нельзя запустить

MLX-модели работают только на Apple Silicon.

Класс архитектуры
Qwen2ForCausalLM
Ревизия весов
87f372b

0 моделей