monumental-archive-db

Проекты, которые следуют приведенным ниже лучшим практикам, могут добровольно и самостоятельно оценить себя и продемонстрировать, что они получили значок Open Source Security Foundation (OpenSSF).

Не существует набора практик, гарантирующего, что у программного обеспечения никогда не будет недостатков или уязвимостей; даже формальные методы могут не помочь, если спецификации или допущения ошибочны. Также не существует какой-либо практики, которая могла бы гарантировать, что проект будет поддерживать здоровое и хорошо функционирующее сообщество разработчиков. Однако следующие хорошие правила могут помочь улучшить результаты проектов. Например, некоторые правила описывают ревью несколькими участниками перед выпуском, что может помочь найти технические уязвимости, которые было бы сложно найти другим способом, и помочь построить доверие и желание дальнейшего взаимодействия между разработчиками из разных компаний. Чтобы получить значок, нужно выполнить все критерии с ключевыми словами "НЕОБХОДИМО"/"ОБЯЗАН"/"НЕДОПУСТИМО", все критерии со словом "СЛЕДУЕТ" либо должны удовлетворяться, либо должно быть приведено обоснование их невыполнения, и все критерии со словом "ЖЕЛАТЕЛЬНО" могут быть удовлетворены ИЛИ неудовлетворены (желательно, чтобы они были хотя бы рассмотрены). Если вы хотите ввести общий комментарий вместо объяснения, почему текущая ситуация приемлема, начните текст с '//' и пробела. Приветствуется обратная связь через сайт на GitHub в виде issues или pull requests. Существует также список рассылки для общих вопросов.

Мы с удовольствием предоставляем информацию на нескольких языках, однако, если есть какой-либо конфликт или несоответствие между переводами, английская версия является авторитетной.
Если это ваш проект, пожалуйста, отобразите статус вашего базового значка на странице проекта! Статус базового значка выглядит так: Базовый уровень значка для проекта 13998 - baseline-1 Вот как встроить базовый значок:
Вы можете показать статус базового значка, вставив это в ваш файл markdown:
[![OpenSSF Baseline](https://www.bestpractices.dev/projects/13998/baseline)](https://www.bestpractices.dev/projects/13998)
или вставив это в ваш HTML:
<a href="https://www.bestpractices.dev/projects/13998"><img src="https://www.bestpractices.dev/projects/13998/baseline"></a>


Это критерии Базового Уровня 1. Это критерии версии v2026.08.28.

Baseline Series: Базовый уровень 1 Базовый Уровень 2 Базовый Уровень 3

        

 Основы

  • Общая

    Обратите внимание, что другие проекты могут использовать то же имя.

    The Monumental Archive's PostgreSQL image: official postgres + PostGIS, pgaudit, edtf_postgres — native multi-arch, tested before published, cosign-signed

    Используйте формат выражения лицензии SPDX; примеры включают «Apache-2.0», «BSD-2-Clause», «BSD-3-Clause», «GPL-2.0+», «LGPL-3.0+», «MIT» и «(BSD-2-Clause OR Ruby)».
    Если используется более одного языка, перечислите их через запятую (пробелы необязательны), и отсортируйте их от наиболее до наименее используемого. Если список длинный, пожалуйста, перечислите по крайней мере три наиболее распространенных. Если языка нет (например, это проект только для документации или только для тестирования), используйте один символ «-» (минус). Для каждого языка используйте общепринятую капитализацию названия, например «JavaScript».
    Common Platform Enumeration (CPE) - это структурированная схема именования для информационных систем, программного обеспечения и пакетов. Она используется в ряде систем и баз данных для отчетов об уязвимостях.

 Элементы управления 24/24 ●

  • Элементы управления


    Когда пользователь пытается прочитать или изменить чувствительный ресурс в авторитетном репозитории проекта, система ДОЛЖНА требовать от пользователя прохождения процесса многофакторной аутентификации. [OSPS-AC-01.01]
    Обеспечьте многофакторную аутентификацию для системы контроля версий проекта, требуя от соавторов предоставления второй формы аутентификации при доступе к конфиденциальным данным или изменении настроек репозитория. Для этой меры приемлемы passkeys (ключи доступа).

    GitHub has required two-factor authentication for contributors since March 2023 and it is enabled on the maintainer account; the second factor is GitHub Mobile push approval, a challenge-response to a registered device rather than SMS. It gates repository settings changes and access to private vulnerability reports alike.



    При добавлении нового соавтора система контроля версий ДОЛЖНА требовать ручного назначения прав доступа или по умолчанию ограничивать права доступа соавтора до минимально доступных привилегий. [OSPS-AC-02.01]
    Большинство публичных систем контроля версий настроены таким образом. Убедитесь, что система контроля версий проекта всегда назначает минимально доступные права доступа соавторам по умолчанию при добавлении, предоставляя дополнительные права доступа только при необходимости.

    GitHub assigns the lowest available permissions to new collaborators by default and requires explicit assignment of anything more. The repository currently has no collaborators beyond the maintainer.



    При попытке прямого коммита в основную ветку проекта механизм принудительного исполнения ДОЛЖЕН предотвращать применение изменения. [OSPS-AC-03.01]
    Если VCS централизована, установите защиту ветки на основную ветку в VCS проекта. В качестве альтернативы используйте децентрализованный подход, как в ядре Linux, где изменения сначала предлагаются в другом репозитории, а слияние изменений в основной репозиторий требует специального отдельного действия.

    A main-protection repository ruleset blocks direct pushes to main. Every change — including the maintainer's own — lands through a pull request with the full gate green as a required status check. A require-signed-commits ruleset applies in addition.



    Когда предпринимается попытка удалить основную ветку проекта, система контроля версий ОБЯЗАНА рассматривать это как деликатное действие и требовать явного подтверждения намерения. [OSPS-AC-03.02]
    Установите защиту ветки на основную ветку в системе контроля версий проекта для предотвращения удаления.

    The main-protection ruleset blocks deletion of the primary branch outright, which is stricter than requiring confirmation of intent.



    Когда конвейер CI/CD оперирует ненадежными метаданными, эти параметры ОБЯЗАНЫ быть очищены и проверены перед использованием в конвейере. [OSPS-BR-01.01]
    Конвейеры CI/CD должны санировать (заключать в кавычки, экранировать или завершаться при ожидаемых значениях) все входные метаданные, соответствующие недоверенным источникам. Это включает такие данные, как имена веток, сообщения коммитов, теги, заголовки запросов на слияние и информацию об авторах.

    Workflows do not interpolate untrusted event metadata into shell steps. This is enforced rather than asserted: zizmor runs at --persona=pedantic on every commit and in CI, and CodeQL analyses the workflows as its actions language, both of which flag template injection from untrusted contexts. actionlint runs alongside them.



    Когда конвейер CI/CD работает с недоверенными снимками кода, он ДОЛЖЕН запрещать доступ к привилегированным учётным данным и ресурсам CI/CD. [OSPS-BR-01.03]
    Конвейеры CI/CD должны изолировать недоверенные снимки кода от привилегированных учётных данных и ресурсов. В частности, проекты должны следить за тем, чтобы рабочие процессы, выполняющие сборку или запуск кода до его проверки коллаборатором, не имели доступа к учётным данным CI/CD.

    Pull-request CI runs on the pull_request trigger rather than pull_request_target, so untrusted code never executes with access to the base repository's privileged context. Workflows default to contents: read with elevated scopes granted per job, every checkout sets persist-credentials: false, and the publish workflow — the only one holding packages: write and id-token: write — runs on push to main and on schedule, never on contributor code.



    Когда проект указывает URI как официальный канал проекта, этот URI ОБЯЗАН передаваться исключительно с использованием зашифрованных каналов. [OSPS-BR-03.01]
    Настройте веб-сайты и системы контроля версий проекта на использование зашифрованных каналов, таких как SSH или HTTPS для передачи данных. Убедитесь, что все инструменты и домены, на которые ссылается документация проекта, доступны только через зашифрованные каналы.

    Every official channel is HTTPS-only: the repository and issue tracker on GitHub, and the image at ghcr.io. No project channel is served over plain HTTP.



    Если проект указывает URI в качестве официального канала распространения, этот канал ОБЯЗАН быть защищен от атак «злоумышленник в канале связи» (adversary-in-the-middle) с использованием криптографически аутентифицированных каналов. [OSPS-BR-03.02]
    Артефакты, распространяемые проектом, следует распространять через каналы, обеспечивающие целостность и подлинность. Использование HTTPS для загрузок, подписанных релизов или распространения через доверенные менеджеры пакетов — все это приемлемые методы защиты от атак «злоумышленник в канале связи».

    Distribution is over HTTPS from GHCR, and authentication does not rest on transport alone: consumers pin immutable manifest digests, and every manifest is cosign-signed keylessly with this repository's publish workflow on main as the certificate identity, anchored through @refs/heads/main$ so a signature minted from any other ref does not verify. Verification command: https://github.com/CarlAllenn/monumental-archive-db/blob/main/SECURITY.md#verifying-what-you-pulled



    Проект ОБЯЗАН предотвращать непреднамеренное сохранение незашифрованных конфиденциальных данных, таких как секреты и учетные данные, в системе контроля версий. [OSPS-BR-07.01]
    Настройте .gitignore или эквивалент для исключения файлов, которые могут содержать конфиденциальную информацию. Используйте pre-commit хуки и автоматизированные инструменты сканирования для обнаружения и предотвращения включения конфиденциальных данных в коммиты.

    gitleaks runs on every commit through the lefthook hooks and over the full repository history in CI (task scan:secrets). Structurally there is also very little to leak: no long-lived registry or signing credential exists, because GHCR uses the workflow run's own token and signing is keyless.



    Когда проект сделал релиз, документация проекта ОБЯЗАНА включать руководства пользователя для всего базового функционала. [OSPS-DO-01.01]
    Создайте руководства пользователя или документацию для всего базового функционала проекта, объясняющие, как устанавливать, настраивать и использовать возможности проекта. Если есть какие-либо известные опасные или деструктивные действия, включите хорошо заметные предупреждения.

    The README documents everything needed to use the image: the reference to pull, the tag and digest policy, the baked server configuration (shared_preload_libraries and wal_level=logical), the non-root user, the emptied initdb directory, and the signature verification command. Runtime environment variables are the official postgres image's and are documented upstream. https://github.com/CarlAllenn/monumental-archive-db#readme



    Когда проект сделал релиз, документация проекта ОБЯЗАНА включать руководство по сообщению о дефектах. [OSPS-DO-02.01]
    Рекомендуется, чтобы проекты использовали трекер задач по умолчанию в их системе контроля версий. Если используется внешний источник, убедитесь, что документация проекта и руководство по внесению вклада четко и заметно объясняют, как использовать систему сообщения об ошибках. Рекомендуется, чтобы документация проекта также устанавливала ожидания относительно того, как дефекты будут сортироваться и решаться.

    Проект ОБЯЗАН иметь один или несколько механизмов для публичного обсуждения предлагаемых изменений и препятствий использования. [OSPS-GV-02.01]
    Создайте один или несколько механизмов для публичных обсуждений в рамках проекта, таких как списки рассылки, мгновенные сообщения или трекеры задач, чтобы облегчить открытое общение и обратную связь.

    The GitHub issue tracker is the public forum for proposed changes and usage obstacles, and pull requests carry design discussion. https://github.com/CarlAllenn/monumental-archive-db/issues



    Документация проекта ОБЯЗАНА включать объяснение процесса внесения вклада или четко указывать, что публичные вклады не принимаются [OSPS-GV-03.01]
    Создайте файл CONTRIBUTING.md или директорию CONTRIBUTING/ для описания процесса внесения вклада, включая шаги для отправки изменений и взаимодействия с сопровождающими проекта.

    https://github.com/CarlAllenn/monumental-archive-db/blob/main/CONTRIBUTING.md — quick start, the requirements for an acceptable contribution, the enforced coding standard, the review criteria, and scoped entry points for new contributors.



    Лицензия исходного кода ОБЯЗАНА соответствовать Определению Открытого ПО OSI или Определению Свободного Программного Обеспечения FSF. [OSPS-LE-02.01]
    Добавьте файл LICENSE в репозиторий проекта с лицензией, которая является одобренной лицензией Open Source Initiative (OSI), или свободной лицензией, одобренной Фондом свободного программного обеспечения (FSF). Примеры таких лицензий включают MIT, BSD 2-clause, BSD 3-clause revised, Apache 2.0, Lesser GNU General Public License (LGPL) и GNU General Public License (GPL). Выпуск в публичное достояние соответствует этому контролю, если нет других ограничений, таких как патенты.

    AGPL-3.0-only, which is both OSI-approved and an FSF free software licence.



    Лицензия выпускаемых программных активов ОБЯЗАНА соответствовать Определению Открытого ПО OSI или Определению Свободного Программного Обеспечения FSF. [OSPS-LE-02.02]
    Если с выпущенными программными активами включена другая лицензия, убедитесь, что это одобренная лицензия Open Source Initiative (OSI) или свободная лицензия, одобренная Free Software Foundation (FSF). Примеры таких лицензий включают MIT, BSD 2-clause, BSD 3-clause revised, Apache 2.0, Lesser GNU General Public License (LGPL) и GNU General Public License (GPL). Обратите внимание, что лицензия для выпущенных программных активов может отличаться от лицензии для исходного кода.

    The released asset is the container image. Its constituent software is licensed under the PostgreSQL licence (PostgreSQL, pgaudit), GPL-2.0 (PostGIS), MIT OR Apache-2.0 (edtf_postgres) and the various Debian package licences — all free software licences meeting the OSI and FSF definitions.



    Лицензия исходного кода ОБЯЗАНА поддерживаться в файле LICENSE, файле COPYING, каталоге LICENSES/ или каталоге LICENSE/ соответствующего репозитория. [OSPS-LE-03.01]
    Включите лицензию исходного кода проекта в файл LICENSE, файл COPYING, каталог LICENSES/ или каталог LICENSE/ проекта, чтобы обеспечить наглядность и ясность условий лицензирования. Имя файла МОЖЕТ иметь расширение. Если у проекта несколько репозиториев, убедитесь, что каждый репозиторий включает файл лицензии.

    https://github.com/CarlAllenn/monumental-archive-db/blob/main/LICENSE at the repository root. The repository is additionally REUSE 3.3 compliant, with full licence texts in https://github.com/CarlAllenn/monumental-archive-db/tree/main/LICENSES and SPDX headers throughout, verified by reuse lint as its own CI job.



    Лицензия выпускаемых программных активов ОБЯЗАНА быть включена в выпускаемый исходный код или в файл LICENSE, файл COPYING либо каталог LICENSE/ рядом с соответствующими активами релиза. [OSPS-LE-03.02]
    Включите лицензию выпущенных программных активов проекта в выпущенный исходный код или в файл LICENSE, файл COPYING или директорию LICENSE/ рядом с соответствующими выпущенными активами, чтобы обеспечить видимость и ясность условий лицензирования. Имя файла МОЖЕТ иметь расширение. Если у проекта несколько репозиториев, убедитесь, что каждый репозиторий включает файл лицензии.

    Licences ship inside the released image itself, under the Debian convention at /usr/share/doc/*/copyright for every installed package. The image additionally carries an SPDX SBOM attestation generated at build time. Worth stating precisely: no AGPL-covered material from this repository ships inside the image — what this project contributes is the assembly recipe (the Dockerfile and two scripts), which stays in the source repository under https://github.com/CarlAllenn/monumental-archive-db/blob/main/LICENSE



    Репозиторий исходного кода проекта ОБЯЗАН быть общедоступным для чтения по статическому URL. [OSPS-QA-01.01]
    Используйте общую систему контроля версий (VCS), такую как GitHub, GitLab или Bitbucket. Убедитесь, что репозиторий доступен для публичного чтения. Избегайте дублирования или зеркалирования репозиториев, если только хорошо видимая документация не разъясняет первичный источник. Избегайте частых изменений репозитория, которые могут повлиять на URL репозитория. Убедитесь, что репозиторий публичный.

    https://github.com/CarlAllenn/monumental-archive-db — publicly readable at a stable URL, no authentication required.



    Система контроля версий ОБЯЗАНА содержать общедоступную запись всех внесенных изменений, кто внес изменения и когда были внесены изменения. [OSPS-QA-01.02]
    Используйте общую VCS, такую как GitHub, GitLab или Bitbucket, для поддержания публично доступной истории коммитов. Избегайте сжатия или перезаписи коммитов таким образом, чтобы это скрывало автора любых коммитов.

    Full git history is public, with author and timestamp on every commit, and commits are signed under a require-signed-commits ruleset. Every change arrives through a pull request, so the review record is public alongside the diff.



    Когда система управления пакетами это поддерживает, репозиторий исходного кода ОБЯЗАН содержать список зависимостей, учитывающий прямые языковые зависимости. [OSPS-QA-02.01]
    Это может быть в виде файла менеджера пакетов или файла языковых зависимостей, перечисляющего все прямые зависимости, такие как package.json, Gemfile или go.mod.

    Direct dependencies are declared machine-readably and completely: two digest-pinned FROM lines and exact apt versions in ARG *_VERSION declarations in https://github.com/CarlAllenn/monumental-archive-db/blob/main/Dockerfile, each with a # renovate: comment above it so the pin cannot silently lose automated coverage. Development toolchain dependencies are pinned in mise.toml with mise.lock.



    Проекты с несколькими репозиториями ОБЯЗАНЫ документировать список кодовых баз, являющихся частью проекта. [OSPS-QA-04.01]
    Документируйте любые дополнительные репозитории кода подпроектов, создаваемые проектом и компилируемые в выпуск. Эта документация должна включать статус и назначение соответствующей кодовой базы.

    The project is a single repository. There is no second codebase to enumerate.



    Система управления версиями НЕ ДОЛЖНА содержать сгенерированные исполняемые артефакты. [OSPS-QA-05.01]
    Удалите сгенерированные исполняемые артефакты из системы контроля версий проекта. Рекомендуется, чтобы в любом сценарии, где сгенерированный исполняемый артефакт является критическим для процесса, такого как тестирование, он должен вместо этого генерироваться во время сборки или храниться отдельно и загружаться во время определенного хорошо задокументированного этапа конвейера.

    No generated executable artifacts are committed. The repository contains a Dockerfile, two shell scripts, configuration and documentation; everything executable in the published image is built or installed at build time and never checked in. Scorecard's Binary-Artifacts check scores 10.



    Система управления версиями НЕ ДОЛЖНА содержать нерецензируемые двоичные артефакты. [OSPS-QA-05.02]
    Не добавляйте никакие непроверяемые бинарные артефакты в систему контроля версий проекта. Это включает исполняемые бинарные файлы приложений, файлы библиотек и аналогичные артефакты. Это не включает такие активы, как графические изображения, звуковые или музыкальные файлы и подобный контент, обычно хранящийся в бинарном формате.

    No binary artifacts of any kind are in version control, reviewable or otherwise — confirmed continuously by Scorecard's Binary-Artifacts check at 10.



    Документация проекта ОБЯЗАНА содержать контакты по вопросам безопасности. [OSPS-VM-02.01]
    Создайте файл security.md (или с аналогичным именем), который содержит контакты по вопросам безопасности для проекта.

    https://github.com/CarlAllenn/monumental-archive-db/blob/main/SECURITY.md names the reporting route (GitHub private vulnerability reporting, with an email fallback to the maintainer address on the commits) and the response commitment: acknowledgement within 7 days, triage verdict within 14.



Вы можете использовать инструменты и системы ИИ для предложения изменений через простой URL, например https://www.bestpractices.dev/ru/projects/13998/choose/edit?osps_ac_01_01_status=Met&osps_ac_01_01_justification=GitHub+enforced. Смотрите нашу систему автоматизированных предложений о том, как это сделать. Эти данные доступны по лицензии Community Data License Agreement – Permissive, Version 2.0 (CDLA-Permissive-2.0). Это означает, что получатель данных может распространять данные с изменениями или без них, при условии, что получатель данных предоставляет текст данного соглашения вместе с распространяемыми данными. Пожалуйста, укажите в качестве источника Carl Allen и участников OpenSSF Best Practices badge.

Владелец анкеты на значок проекта: Carl Allen.
2026-08-09 00:45:46 UTC, последнее изменение сделано 2026-08-09 01:33:27 UTC. Последний раз условия для получения значка были выполнены 2026-08-09 00:58:03 UTC.