Прототип учебного стенда: автономная буровая установка (АБУ) как киберфизическая система, цифровой рудник (ЦР) как надсистема координации и Регулятор — служба сертификации поставки ПО АБУ. Проект ориентирован на требования ГОСТ Р 72118-2025 (цели и предположения безопасности, ДВБ, SBOM) и практики ISO/SAE 21434 (моделирование угроз, TARA).
Редакция документации и критериев: 1.7.7.
- docs/contest_task.md — формулировка задания, user story, что сдавать (читать первым).
- docs/contest_regulations.md — 22 критерия C01–C22, уровни 0–3 балла каждый, сумма raw до 66, нормализация итога в 10–20.
- docs/context.md и docs/architecture.md — предметная область и архитектура (после п. 1–2).
- docs/quality_requirements.md — окружение Python; затем
make install. make tests-all— проверка тестов.- docs/certification_process.md — сертификация:
make prepare-cert-bundle,make certify-abu. - Критерии с расшифровкой и ссылками на файлы: docs/criteria_rubric.md; индекс всей документации — docs/README.md.
Имена тестов в pytest и комментарии в коде не являются строками таблицы баллов: итог по критериям даёт make evaluate-score (scripts/evaluate_contest_score.py) и шаблон docs/templates/evaluation_report.md.
Эталонная среда для проверки жюри и команд Makefile — Linux (bash, POSIX-пути). На Windows без WSL2, Docker или GitHub Codespaces часто возникают ошибки (make, pipenv, разделители путей).
- GitHub Codespaces: откройте репозиторий на GitHub → Code → Codespaces → Create codespace on main → в терминале:
make install,make tests-all. - WSL2 (Windows): установите дистрибутив Linux, клонируйте репозиторий в файловую систему WSL и выполняйте те же команды, что в инструкции.
- Разработка на любой ОС допустима, если в сдаче воспроизводимо проходят тесты; официальная проверка выполняется в среде, согласованной с жюри (как правило Linux).
При наличии .devcontainer/devcontainer.json можно открыть репозиторий в контейнере (VS Code / Codespaces) с предустановленными зависимостями.
| Компонент | Роль |
|---|---|
| ЦР | Регистрация установок, миссии, политика сертификатов (CR_CERT_POLICY), проверка SGA (ЦПБ) через Регулятор, учёт стоимости поддержки. |
| АБУ | Исполнение миссий, телеметрия, псевдо-ИИ и проверки безопасности; в заготовке — намеренный технический долг (ДВБ не отделена от остального кода). |
| Регулятор | Приём сертификационного пакета (исходники, SGA, SBOM_TCB / SBOM_OTHER), песочница с pytest и покрытием, в т.ч. отдельный прогон тестов безопасности, выдача сертификата (хэш пакета) и оценки стоимости. |
В коде и API используется термин SGA (security goals and assumptions); в текстах регламента допустимо ЦПБ.
| Каталог / файл | Назначение |
|---|---|
| src_starting_point/ | Заготовка АБУ (отправная точка для конкурсантов; намеренно неоптимальна как образец архитектуры). |
| src_solution/ | Рабочая зона решения: abu/tcb (ДВБ), abu/other, sbom/SBOM_*.cdx.json (не изменяется организаторами без отдельной договорённости). |
| external_systems/digital_mine/ | Прототип ЦР. |
| external_systems/regulator/ | Прототип Регулятора. |
| tests/ | Интеграционные и прочие тесты репозитория. |
| docs/ | Архитектура, сценарии, процесс сертификации, регламент, TARA. |
| Makefile | install, tests-all, подготовка пакета, сертификация, оценка, Docker. |
| Документ | Содержание |
|---|---|
| docs/contest_task.md | Задание и user story (начать отсюда). |
| docs/criteria_rubric.md | C01–C22, уровни 0–3, пути к файлам. |
| docs/quality_requirements.md | Окружение Python, тесты, changelog, git. |
| docs/certification_process.md | Пошаговая сертификация и примеры. |
| docs/sbom_guide.md | SBOM_TCB / SBOM_OTHER, манифест, генерация CycloneDX. |
| docs/security_tests.md | Связь целей безопасности (SG) и тестов. |
| docs/tara_abu.md | TARA, диаграммы угроз. |
| docs/contest_regulations.md | Регламент, tie-break, формат сдачи. |
| docs/operational_scenario_v1.md | Сценарий эксплуатации. |
| docs/scope_two_day.md | Ограничение по времени на задачу. |
| docs/slides/README.md | Презентация Beamer, сборка PDF (build_pdf.sh). |
| requests.rest | Примеры HTTP (REST Client). |
- Python 3.12+, зависимости из Pipfile / Pipfile.lock; команды через
makeиpipenv run …. - Установка:
make install. - Все тесты:
make tests-all. - Оценка по критериям:
make evaluate-score(сумма raw до 66, итог 10 + (raw/66)×10). - Docker (опционально):
make docker-build,make docker-up— см. скрипты в scripts/.
Не устанавливайте пакеты в системный интерпретатор: см. раздел «Окружение» в docs/quality_requirements.md.
По регламенту и скрипту scripts/evaluate_contest_score.py наибольший вес дают:
- Стабильное прохождение тестов (
make tests-all) и осмысленные тесты безопасности с покрытием критичного кода. - Сертификация через Регулятор: корректный пакет с SGA и раздельным SBOM (TCB / OTHER), осмысленная модель стоимости и зависимостей ДВБ.
- Архитектура и ДВБ: разделение доверенного кода, обоснование в документации, TARA и сопоставление целей с тестами.
- Отчёт о решении docs/solution.md (C17), структура ДВБ (
src_solution/abu/tcb), SBOM решения (src_solution/sbom/), и таблица баллов по docs/templates/evaluation_report.md (пример). - Решение в
src_solution/: по регламенту оцениваются в т.ч. security_monitor, policies, изоляция доменов и контроль запросов/ответов (C18–C19); ориентир — пример с изоляцией в учебном ноутбуке (см. также docs/architecture.md).
В репозитории хранятся исходный код, документация и скрипты; временные артефакты (например artifacts/, локальные логи) не коммитятся — см. .gitignore.