Skip to main content

efs — Easy FSTEC SBOMs

CI PyPI License: Apache 2.0 Python 3.12+

CLI-приложение для подготовки перечня заимствованных программных компонентов под требования ФСТЭК России и ГОСТ Р 56939-2024: генерация SBOM, валидация, обогащение ссылками на исходный код и ГОСТ-свойствами, объединение и экспорт в CSV/ODT.

Формат — CycloneDX 1.6 (JSON) с расширениями ГОСТ (GOST:attack_surface, GOST:security_function, GOST:source_langs, GOST:provided_by).

Требования

  • Python 3.12 или выше
  • cdxgen или trivy — для генерации SBOM
  • git, subversion, mercurial — опционально, для проверки ссылок на репозитории

Установка

uv tool install efs-sbom     # или: pip install efs-sbom

Из исходников:

git clone https://github.com/happykust/efs.git
cd efs
uv sync

Быстрый старт

efs scan                                  # сгенерировать SBOM (cdxgen или trivy)
efs config init bom.json                  # создать конфиг из SBOM
                                          # отредактировать .efs-config.json
efs postprocess bom.json result.json \
  --app-name "МойПродукт" --app-version "1.0.0" --manufacturer "ООО МояКомпания"
efs check result.json                     # проверить схему и заполненность
efs export odt result.json perechen.odt   # выгрузить документ

Или пройти всё через интерактивный мастер:

efs init

efs check возвращает 0, если перечень готов, 1 при ошибках схемы и 3, если перечень не заполнен, — команда годится для проверки в CI.

Документация

Документ О чём
Подготовка перечня под ФСТЭК Путь от исходников до готового документа: что требуется, что заполняется автоматически, а что руками
Справочник команд Все команды с аргументами и примерами
Конфиг .efs-config.json Структура конфига, ГОСТ-свойства, исключения, pedigree, языки

Пример заполненного перечня — examples/example-sbom.json; он проходит efs check и годится как образец.

Разработка

uv sync              # зависимости, включая dev-группу
uv run pytest        # тесты
uv run ruff check .  # линтер
uv run ruff format . # форматирование

Как оформлять изменения и выпускать релизы — в CONTRIBUTING.md. Об уязвимостях сообщайте по процедуре из SECURITY.md, не через публичный issue. Правила общения — в CODE_OF_CONDUCT.md.

Происхождение

Проект является производной работой от sbom-checker, разработанного в Институте системного программирования РАН (ИСП РАН) и распространяемого на условиях Apache License 2.0. Атрибуция приведена в файле NOTICE.

Лицензия

Apache-2.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

efs_sbom-1.0.0.tar.gz (259.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

efs_sbom-1.0.0-py3-none-any.whl (188.3 kB view details)

Uploaded Python 3

File details

Details for the file efs_sbom-1.0.0.tar.gz.

File metadata

  • Download URL: efs_sbom-1.0.0.tar.gz
  • Upload date:
  • Size: 259.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for efs_sbom-1.0.0.tar.gz
Algorithm Hash digest
SHA256 b5e7c51fdadcd33de61f6c33db56b8e8696fbf26e91cc7d167b3b3f38218d49c
MD5 340b5dfa6df6f28eea387ec3f0e56848
BLAKE2b-256 8e34cca2131c35f3fda9d6186c211eef03400f713453d68c16017c0c1425a432

See more details on using hashes here.

Provenance

The following attestation bundles were made for efs_sbom-1.0.0.tar.gz:

Publisher: release.yml on happykust/efs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file efs_sbom-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: efs_sbom-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 188.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for efs_sbom-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 08f5591218524847a9eb61d6f203c87f9ae30b81e7d447a03aefb9b1765f7aba
MD5 18928d4d5c94e7fad8f5c2797bc12025
BLAKE2b-256 49510de7ea5517ce71fcf50ffa8f0c80632fe15c015dde0759833da1cf912695

See more details on using hashes here.

Provenance

The following attestation bundles were made for efs_sbom-1.0.0-py3-none-any.whl:

Publisher: release.yml on happykust/efs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

1.0.5

2 files

1.0.4

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

This release

1.0.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page