Skip to content
Apothem
Безопасность

Проверка бинарных артефактов

Проверка бинарных артефактов Apothem — ноль скомпилированных / упакованных бинарников, отслеживаемых в исходном коде. Доказательство для проверки Binary-Artifacts в OpenSSF Scorecard.

Проверка Binary-Artifacts в OpenSSF Scorecard подтверждает, что дерево исходного кода не содержит ни одного скомпилированного / упакованного / непрозрачного бинарного артефакта. Бинарники в исходном коде не поддаются аудиту и дают точку опоры для атак на цепочку поставок: бинарник встраивает код, который дерево исходного кода не раскрывает, поэтому рецензенты не могут проверить его перед слиянием.

Позиция Apothem по бинарным артефактам

Apothem — это дерево исходного кода на чистом Python без каких-либо скомпилированных, упакованных или непрозрачных бинарных артефактов, отслеживаемых в системе контроля версий. Репозиторий поддаётся сквозному аудиту из исходного кода.

Методология проверки

Проверка перечисляет типы файлов, которые Scorecard считает бинарными, а затем убеждается, что каждый из них отсутствует в системе контроля версий:

Семейство расширенийОписаниеСтатус Apothem
.exe, .dll, .so, .dylibСкомпилированные нативные бинарники✅ Ноль отслеживаемых
.bin, .o, .a, .libОбъектные файлы / статические библиотеки✅ Ноль отслеживаемых
.jar, .war, .earПакеты Java✅ Ноль отслеживаемых
.whl, .eggДистрибутивы Python✅ Ноль отслеживаемых (собираются в dist/; исключены через gitignore)
.tar.gz, .zip (собранный дистрибутив)Сжатые архивы, содержащие собранные артефакты✅ Ноль отслеживаемых
.class, .pyc, .pyoСкомпилированный байт-код✅ Ноль отслеживаемых (__pycache__/ исключён через gitignore)
.crt, .pem, .key, .p12, .pfxКриптографический материал✅ Ноль отслеживаемых (запрещён в .gitignore)

Разрешённые классы бинарников

В исходном коде ДОПУСКАЮТСЯ два узких класса бинарных артефактов:

  1. Брендовые ресурсыassets/*.png, assets/*.ico, assets/favicon.*. Они детерминированно регенерируются из SVG-мастеров в assets/src/ через scripts/dev/rebuild-assets.{sh,ps1}. Scorecard считает их легитимными согласно исключению image/png.
  2. Файлы шрифтовassets/fonts/*.ttf, assets/fonts/*.woff2. Поставляемые в комплекте файлы шрифтов с документированными лицензиями; согласно исключению font/* Scorecard.

Оба класса задокументированы в site/content/docs/brand/index.mdx, а их происхождение зафиксировано в рецепте пересборки ресурсов.

Команда проверки

# Из корня репозитория apothem:
git ls-files | grep -E '\\.(exe|dll|so|dylib|bin|o|a|lib|jar|war|ear|whl|egg|class|pyc|pyo|crt|pem|key|p12|pfx)$'

Этот вызов должен вернуть ноль строк. Непустой результат указывает, что бинарный артефакт был отслежен в исходном коде — находка ВЫСОКОЙ серьёзности, блокирующая следующий релиз.

Периодичность аудита

Проверка входит в состав:

  • CI на каждый PR.github/workflows/ci.yml включает шаг grep по бинарным артефактам.
  • Контрольная точка на каждый релиз — ранбук релиз-инжиниринга проверяет проверку перед установкой тега.
  • Еженедельный запуск Scorecard — рабочий процесс OpenSSF Scorecard повторно подтверждает прохождение проверки.

Ссылки

On this page