Описание форматов
Как устроен профиль и почему он публикуется в нескольких форматах, производных от единого источника.
Один источник, множество представлений
Каждый профиль имеет единственный источник истины, валидируемый по схеме. Все публикуемые форматы (Machine, Human, AI/RAG, YAML) — воспроизводимые представления этого источника, никогда не создаваемые вручную. Это гарантирует отсутствие расхождений («zero drift»): исправление источника перегенерирует все представления.
Публикуемые форматы
machine.json · Для инструментов и конвейеров Machine (JSON)
Полное структурированное представление профиля, точно соответствующее схеме. Предназначено для автоматизации и программного приёма.
human.md · Для читателей Human (Markdown)
Читаемое представление (таблицы правил, модель угроз, источники) на выбранном языке. Именно это отображается на странице профиля.
rag.md · Для LLM AI / RAG (Markdown)
Вариант, оптимизированный для генерации с расширенным извлечением (RAG): компактное повествование, MITRE и модель угроз вынесены для заземления.
fiche.yaml · Для архивирования и проверки YAML
Канонический экспорт источника в YAML, под лицензией CC-BY-4.0. Читаем, поддерживает diff, верифицируем.
Анатомия профиля
Идентификаторы и перечисления являются кодом (snake_case, не переводятся). Только проза (title, description, rationale) является многоязычной.
| Поле | Назначение |
|---|---|
| schema_version | Версия контракта приёма (схемы). Отличается от версии содержимого. |
| id | Стабильный идентификатор профиля (snake_case). |
| version | Семантическая версия содержимого профиля. |
| trust_tier | Уровень доверия: community | reviewed | verified. |
| title / description | Многоязычная проза ({fr, en}) — что и зачем. |
| mitre_attack[] | Авторские техники MITRE ATT&CK (не выводятся автоматически). |
| threat_model | Сводка, цель атакующего, ключевые меры защиты — экспертиза человека. |
| rules[] | Правила: приложение (L7), зоны, действие, профили безопасности, дешифрование, журналирование. |
| references[] | Провенанс: единственное место, где может фигурировать поставщик/продукт и его официальный URL. |
Уровни доверия
Каждый профиль имеет уровень доверия, который взвешивается при приёме нижестоящими системами. Это первая линия защиты от отравления данных.
Принципы
- ▸Vendor-agnostic: нормативное содержимое не называет никакого бренда (мы идентифицируем приложение уровня L7, а не продукт).
- ▸Перечисления в snake_case, не переводятся; только проза является многоязычной.
- ▸Перечисления принадлежат общей таксономии контролей.
- ▸Содержимое под лицензией CC-BY-4.0; вклад подтверждается через DCO (git commit -s).