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

Позиция по OpenSSF Scorecard

Целевой показатель OpenSSF Scorecard для Apothem и поверхности доказательств, используемые для непрерывного улучшения оценки.

Apothem стремится к максимальной оценке OpenSSF Scorecard, сохраняя при этом честность публичного фасада относительно того, что Scorecard может и не может вывести из нового репозитория с единственным сопровождающим. Этот документ перечисляет каждую проверку, поверхность доказательств, которая её подкрепляет, и контроль, поддерживающий позицию в актуальном состоянии.

Текущая оценка доступна в просмотрщике Scorecard; значок находится в заголовке README.

Матрица доказательств по проверкам

ПроверкаПоверхность доказательствПримечания
Binary-Artifactsbinary-artifacts-sweep.mdВ исходниках не отслеживается ни одного исполняемого бинарного файла; сгенерированные дистрибутивные архивы остаются в dist/.
Branch-Protectionbranch-protection-ruleset.mdmain защищена до продвижения к публичному выпуску; форс-пуши и удаления блокируются после того, как коммит нового выпуска приземлился.
CI-Tests.github/workflows/ci.ymlМатрица Pytest, ruff, mypy, CodeQL, Trivy, сборка документации и дымовые проверки упаковки.
CII-Best-PracticesРегистрация в OpenSSF Best PracticesТребует регистрации со стороны сопровождающего на сайте OpenSSF Best Practices; это нельзя выполнить только файлами репозитория.
Code-ReviewЗащита веток + CODEOWNERSПрименяется к будущим pull request'ам; история Scorecard остаётся ограниченной, пока не появятся отрецензированные PR.
ContributorsAUTHORSНовый проект с единственным сопровождающим не может сфабриковать историю вкладов от множества организаций; это улучшается естественно по мере присоединения участников.
Dangerous-WorkflowАудит рабочих процессовНет pull_request_target; Actions закреплены по SHA и ограничены явными разрешениями.
Dependency-Update-Toolrenovate.jsonRenovate охватывает GitHub Actions, Python-манифесты, требования выпуска с захэшированной блокировкой и поверхности npm, сохраняя при этом доступными сгруппированные PR зависимостей.
Fuzzingtests/property/Тесты свойств Hypothesis проверяют инварианты парсера и frontmatter; вышестоящий Scorecard может не засчитать Hypothesis как интеграцию фаззинга.
LicenseLICENSEЛицензия MIT в корне репозитория.
MaintainedИстория GitКоммит текущего выпуска и активная частота рабочих процессов демонстрируют сопровождение; очень новые репозитории могут получить предупреждение о возрасте.
Packaging.github/workflows/Рабочие процессы Release, Pages и npmjs.com, производящие sdist, wheel, SBOM, происхождение SLSA и подписи Sigstore.
Pinned-DependenciesАудит рабочих процессов + требования с захэшированной блокировкойActions закреплены по SHA; установки инструментов выпуска используют --require-hashes; pip-инструменты только для рабочих процессов используют точные закрепления.
SAST.github/workflows/codeql.ymlЗапросы security-extended CodeQL по Python и Actions.
Security-PolicySECURITY.mdПолитика координированного раскрытия, матрица поддерживаемых версий и временная шкала реагирования.
Signed-Releases.github/workflows/release.ymlБесключевые подписи Sigstore, происхождение SLSA, SBOM, контрольные суммы и артефакты выпуска.
Token-PermissionsАудит рабочих процессовРабочие процессы по умолчанию используют разрешения только для чтения; области записи локальны для задания и привязаны к операциям развёртывания/упаковки.
Vulnerabilities.github/workflows/pip-audit.yml + .github/workflows/dependency-review.ymlЕженедельное сканирование уязвимостей и сканирование CI с загрузкой SARIF; гейт dependency-review блокирует pull request'ы, вводящие уязвимые или зависимости с недопустимыми лицензиями.

Интерпретация оценки

Scorecard оценивает каждую проверку по шкале от 0 до 10, а общая оценка — это взвешенное среднее. Контроли, зависящие от истории репозитория, сторонней регистрации или разнообразия участников, отслеживаются явно, а не завышаются. Дрейф по любой проверке, контролируемой файлами, запускает немедленное исправление.

Частота обновления

  • При каждом push: рабочий процесс Scorecard перезапускается при каждом push в main.
  • Еженедельно: по понедельникам в 02:30 UTC — улавливает изменения в вышестоящей методологии оценки + новые уязвимости, раскрытые против существующих закреплённых зависимостей.
  • При каждом выпуске: перед публичным продвижением сопровождающий проверяет поверхность текущего просмотрщика Scorecard и фиксирует любые ограничения состояния платформы.

Ссылки

On this page