ruview-home-sensing

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

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

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


Это критерии уровня Passing. Вы также можете просмотреть критерии уровня Silver или Gold.

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

        

 Основы 12/13 ●

  • Общая

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

    Reusable CSI sensing tools, bounded edge modules, inference experiments and parametric enclosures.

    Используйте формат выражения лицензии 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) - это структурированная схема именования для информационных систем, программного обеспечения и пакетов. Она используется в ряде систем и баз данных для отчетов об уязвимостях.

    The public source, LICENSE, NOTICE and project guidance are now on the default main branch: https://github.com/ha-homelab/ruview-home-sensing/tree/3afc395637abd854f7300e96d62512af7975ab0b. PR 1 merged at this commit: https://github.com/ha-homelab/ruview-home-sensing/pull/1. Main validation run 39081481179 completed successfully: https://github.com/ha-homelab/ruview-home-sensing/actions/runs/39081481179. The PR-only Dependency Review job was skipped on this push; this does not represent a new dependency-applicability assessment. The immutable prerelease v0.4.0-rc.1 still points to d71f09cdc6948fb131c247ae51a2ada1af27a942: https://github.com/ha-homelab/ruview-home-sensing/releases/tag/v0.4.0-rc.1. Its downloaded release checksums, archive manifest and wheel RECORD were verified against that tagged source; no identity with later main-branch artifacts is asserted. Detailed test and analysis criteria retain their reviewed tagged-source evidence unless explicitly updated. Full ESP-IDF target build, complete dependency and cryptographic assessment, and disposition of retained compiler/extractor warnings remain incomplete. Some activity/OTA paths use plaintext HTTP/MQTT; signed WASM integrity does not provide transport confidentiality. No stable release, achieved Passing/Silver badge, sensing-accuracy validation or physical-device acceptance is asserted.

  • Основная информация на веб-сайте проекта


    Веб-сайт проекта ОБЯЗАН кратко описывать, что делает программное обеспечение (какую проблему решает?). [description_good]
    Описание ОБЯЗАНО быть на языке, который могут понять потенциальные пользователи (например, с минимумом жаргона).

    The public prerelease README describes reusable CSI sensing, bounded modules, inference experiments and printable enclosures. It explicitly limits what software tests and experimental outputs establish. Evidence: https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/README.md



    Веб-сайт проекта ОБЯЗАН предоставлять информацию о том, как: получать и предоставлять обратную связь (например, отчеты об ошибках или улучшения) и вносить свой вклад в программное обеспечение. [interact]

    README documents development setup and links component, contribution and security guides. Contributions and feedback use public issues and pull requests. The reviewed source and guidance are now on the default main branch. Evidence: https://github.com/ha-homelab/ruview-home-sensing/blob/3afc395637abd854f7300e96d62512af7975ab0b/README.md ; https://github.com/ha-homelab/ruview-home-sensing/blob/3afc395637abd854f7300e96d62512af7975ab0b/CONTRIBUTING.md ; https://github.com/ha-homelab/ruview-home-sensing/issues ; https://github.com/ha-homelab/ruview-home-sensing/pull/1



    В описании того, как сделать вклад, НЕОБХОДИМО объяснить процесс внесения вклада (например, используются ли pull request'ы). (Требуется URL) [contribution]
    Мы предполагаем, что проекты на GitHub используют issues и pull requests, если не указано иное. Описание может быть кратким, например, указывать, что проект использует pull requests, issue tracker или сообщения в список рассылки (какой?).

    The public contribution guide describes issue reports, reviewed pull requests, regression coverage, documentation changes and required checks. Evidence: https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/CONTRIBUTING.md



    В информацию о том, как внести вклад, СЛЕДУЕТ включать требования к приемлемым взносам (например, ссылку на любой требуемый стандарт кодирования). (Требуется URL) [contribution_requirements]

    CONTRIBUTING defines coding and validation expectations, dependency provenance, license preservation and a reviewed process for impractical automated-test coverage. It also requires privacy checks before publishing contributions. Evidence: https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/CONTRIBUTING.md


  • Свободная лицензия


    ПО, создаваемое проектом, ОБЯЗАНО быть выпущено под свободной лицензией. [floss_license]
    Свободное ПО (далее СПО) - это программное обеспечение, которое соответствует Определению Открытого ПО (официальный текст на англ.) или Определению Свободного Программного Обеспечения. Примеры таких лицензий включают CC0, MIT, BSD 2-Clause, BSD 3-Clause, Apache 2.0, Меньшая стандартная общественная лицензия GNU (LGPL) и Стандартная общественная лицензия GNU (GPL). Для наших целей это означает, что лицензия ОБЯЗАНА быть: ПО МОЖЕТ одновременно лицензироваться на других условиях (например, приемлема комбинация «GPLv2 или закрытая лицензия»).

    Original software, documentation and CAD are under MIT. The source export retains separately identified MIT, Apache-2.0 and BSD-2-Clause-or-CC0 upstream material and license texts. The current source distribution does not include model weights or a deployed firmware/container binary; future binary distributions need their own notice inventory. Evidence: https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/LICENSE ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/NOTICE ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/LICENSES/RuView-MIT.txt ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/firmware/vendor/monocypher/LICENCE.md



    ЖЕЛАТЕЛЬНО, чтобы все лицензии для ПО, создаваемого проектом, были одобрены Open Source Initiative (OSI). [floss_license_osi]
    Для одобрения OSI используется строгий процесс, чтобы определить, какие лицензии соответствуют Открытому ПО.

    The source uses MIT for original material, retained MIT and Apache-2.0 licenses for identified upstream portions, and the BSD-2-Clause option for dual-licensed Monocypher. These are OSI-approved license choices. Evidence: https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/LICENSE ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/NOTICE ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/firmware/vendor/monocypher/LICENCE.md



    Проект ОБЯЗАН публиковать лицензию или лицензии своих результатов в стандартном расположении в своем репозитории исходного кода. (Требуется URL) [license_location]
    Например, в качестве файла верхнего уровня с именем LICENSE или COPYING. Имена файлов лицензии МОГУТ сопровождаться расширением, таким как «.txt» или «.md». Другим соглашением может быть наличие каталога с именем LICENSES, содержащего файлы лицензий; имена этих файлов обычно соответствуют SPDX-идентификатору лицензии, за которым следует соответствующее расширение файла, как описано в спецификации REUSE . Обратите внимание, что этот критерий является обязательным только для репозитория с исходным кодом. Вам НЕ нужно включать файл лицензии при генерации чего-либо из исходного кода (например, исполняемого файла, пакета или контейнера). Например, при создании пакета R для Comprehensive R Archive Network (CRAN) рекомендуется следовать стандартной практике CRAN: если лицензия является стандартной, используйте стандартную короткую спецификацию лицензии (чтобы избежать установки еще одной копии текста) и добавьте файл LICENSE в списке исключений, например .Rbuildignore. Аналогично, при создании пакета Debian вы можете поместить в файл copyright ссылку на текст лицензии в /usr/share/common-licenses и исключить файл лицензии из созданного пакета (например, удаляя файл после вызова dh_auto_install). Мы рекомендуем включать машиночитаемую информацию о лицензии в сгенерированных форматах, где это возможно.

    The default main branch now contains LICENSE and NOTICE at the repository root, with retained third-party license texts under LICENSES and the firmware vendor directory. PR 1 merged these files in commit 3afc395637abd854f7300e96d62512af7975ab0b. Evidence: https://github.com/ha-homelab/ruview-home-sensing/blob/3afc395637abd854f7300e96d62512af7975ab0b/LICENSE ; https://github.com/ha-homelab/ruview-home-sensing/blob/3afc395637abd854f7300e96d62512af7975ab0b/NOTICE ; https://github.com/ha-homelab/ruview-home-sensing/blob/3afc395637abd854f7300e96d62512af7975ab0b/LICENSES/RuView-MIT.txt ; https://github.com/ha-homelab/ruview-home-sensing/pull/1


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


    Проект ОБЯЗАН предоставлять базовую документацию для программного обеспечения, создаваемого проектом. [documentation_basics]
    Эта документация должна быть в некоторых формах (таких как текст или видео), которые включают в себя: как установить программное обеспечение, как его запустить, как его использовать (возможно, с помощью учебника с примерами) и как использовать его безопасно (например, что делать и чего не делать), если эти темы применимы для данного программного обеспечения. Документация по безопасности не обязательно должна быть длинной. Проект МОЖЕТ использовать гипертекстовые ссылки для не-проектных материалов в качестве документации. Если проект не создает программное обеспечение, выберите «неприменимо» (N/A).

    README and component guides describe prerequisites, setup, test commands and experimental limitations. Distribution documentation distinguishes the Python wheel from the complete source/tool archive and explains exact-revision consumption. Evidence: https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/README.md ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/docs/distribution.md ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/firmware/README.md



    Проект ОБЯЗАН предоставлять справочную документацию, описывающую внешний интерфейс (как входной, так и выходной) программного обеспечения, создаваемого проектом. [documentation_interface]
    Документация внешнего интерфейса объясняет конечному пользователю или разработчику, как его использовать. Это может включать в себя интерфейс прикладного программирования (API), если программное обеспечение его имеет. Если это библиотека, документируйте основные классы/типы и методы/функции, которые можно вызвать. Если это веб-приложение, определите его URL-интерфейс (часто его интерфейс REST). Если это интерфейс командной строки, документируйте параметры и настройки, которые он поддерживает. Во многих случаях лучше всего, если большая часть этой документации будет автоматически сгенерирована, чтобы эта документация была синхронизирована с программным обеспечением по мере его изменения, но это не требуется. Проект МОЖЕТ использовать гипертекстовые ссылки для не-проектных материалов в качестве документации. Документация МОЖЕТ быть автоматически сгенерирована (там, где это применимо, это часто наилучший способ создания документации). Документация интерфейса REST может быть сгенерирована с использованием Swagger/OpenAPI. Документация по интерфейсу кода МОЖЕТ быть сгенерирована с использованием таких инструментов, как JSDoc (JavaScript), ESDoc (JavaScript), pydoc (Python), devtools (R), pkgdown (R) и Doxygen (многие языки). Просто иметь комментарии в коде реализации недостаточно для выполнения этого критерия; должен быть простой способ увидеть информацию без чтения всего исходного кода. Если проект не создает программное обеспечение, выберите «неприменимо» (N/A).

    Public guides document module event contracts, explicit configuration boundaries and several CLI entry points. This review has not yet reconciled the complete externally exposed HTTP, native-service and command interface inventory with those documents. Evidence: https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/firmware/module-contract.md ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/config/README.md ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/server-modules/README.md


  • Другое


    Сайты проекта (веб-сайт, репозиторий и URL-адреса для загрузки) ОБЯЗАНЫ поддерживать HTTPS с использованием TLS. [sites_https]
    Для выполнения этого критерия требуется, чтобы URL домашней страницы проекта начинался с "https:", а не "http:". Вы можете получить бесплатные сертификаты от проекта Let's Encrypt. Проекты МОГУТ выполнить этот критерий, используя (например) GitHub Pages, GitLab Pages или проектные страницы SourceForge. Если вы поддерживаете HTTP, мы настоятельно рекомендуем перенаправить HTTP-трафик на HTTPS.

    Проект ОБЯЗАН иметь один или несколько механизмов для обсуждения (включая предлагаемые изменения и проблемы), которые доступны для поиска, позволяют ссылаться на сообщения и темы по URL, позволяют новым людям участвовать в некоторых обсуждениях и не требуют установки на стороне клиента проприетарного программного обеспечения. [discussion]
    Примерами приемлемых механизмов являются архивируемые списки рассылки, обсуждения в GitHub issues и pull requests, Bugzilla, Mantis и Trac. Асинхронные механизмы обсуждения (например, IRC) приемлемы, если они отвечают этим критериям; убедитесь, что есть механизм архивирования URL-адресов. Разрешено, хотя и не рекомендуется, использовать проприетарный JavaScript.

    Public GitHub issues and pull requests are the documented discussion and contribution channels. The repository has issues enabled and PR 1 demonstrates the public review channel. Evidence: https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/CONTRIBUTING.md ; https://github.com/ha-homelab/ruview-home-sensing/issues ; https://github.com/ha-homelab/ruview-home-sensing/pull/1



    Проекту СЛЕДУЕТ предоставлять документацию на английском языке и иметь возможность принимать отчеты об ошибках и комментарии о коде на английском языке. [english]
    Английский в настоящее время является лингва франка компьютерной техники; Поддержка английского языка увеличивает число потенциальных разработчиков и рецензентов во всем мире. Проект может соответствовать этому критерию, даже если английский не является основным языком его ключевых разработчиков.

    НЕОБХОДИМО, чтобы проект поддерживался. [maintained]
    Как минимум, проект должен пытаться реагировать на сообщения о серьезных проблемах и уязвимостях. Проект, который активно добивается получения значка, вероятно, и поддерживается тоже. Ресурсы любого проекта и человека ограничены, и обычно проекты будут отклонять некоторые предлагаемые изменения; поэтому ограниченность ресурсов и отклонение предложений сами по себе не указывают на то, что проект не поддерживается.

    Если известно, что проект больше не будет поддерживаться, следует установить для этого критерия значение «Не соответствует» и использовать подходящие механизмы, чтобы указать другим, что он не поддерживается. Например, используйте “DEPRECATED” («УСТАРЕЛ») в качестве первого заголовка в файле README, добавьте “DEPRECATED” в начале его домашней страницы, добавьте “DEPRECATED” в начало описания проекта репозитория кода, добавьте значок об отсутствии поддержки в README проекта и/или домашнюю страницу, пометьте его как устаревший в любых репозиториях пакетов (напр., npm deprecate ) и/или используйте механизм, предоставленный репозиторием кода для его архивирования (например, параметр "archive" у GitHub или пометка "archive" у GitLab, статус «только для чтения» у Gerrit или статус «брошенного» проекта у SourceForge). Дополнительное обсуждение можно найти здесь .

    The new public project is actively maintained through source, documentation and CI work. PR 1 was reviewed and merged, followed by successful validation on main. This records present maintenance without asserting a long prior public history. Evidence: https://github.com/ha-homelab/ruview-home-sensing/pull/1 ; https://github.com/ha-homelab/ruview-home-sensing/commits/3afc395637abd854f7300e96d62512af7975ab0b ; https://github.com/ha-homelab/ruview-home-sensing/actions/runs/39081481179


 Управление изменениями 9/9 ●

  • Публичное хранилище исходного кода с поддержкой версий


    Проект ОБЯЗАН иметь репозиторий (хранилище) исходного кода с управлением версиями, который является общедоступным и имеет URL. [repo_public]
    URL МОЖЕТ быть таким же, как URL проекта. Проект МОЖЕТ использовать частные (непубличные) ветви в конкретных случаях, когда изменение не выпускается публично (например, для устранения уязвимости до того, как она будет открыта для публики).

    The software source is publicly readable in the default main branch after PR 1 merged at commit 3afc395637abd854f7300e96d62512af7975ab0b. The tagged initial prerelease remains separately available. Evidence: https://github.com/ha-homelab/ruview-home-sensing/tree/3afc395637abd854f7300e96d62512af7975ab0b ; https://github.com/ha-homelab/ruview-home-sensing/pull/1 ; https://github.com/ha-homelab/ruview-home-sensing/releases/tag/v0.4.0-rc.1



    Проектный репозиторий исходного кода ОБЯЗАН отслеживать, какие изменения были внесены, кто внес изменения и когда изменения были сделаны. [repo_track]

    The public Git repository records the source changes and review commits. This assessment uses only its public change record. Evidence: https://github.com/ha-homelab/ruview-home-sensing/commits/d71f09cdc6948fb131c247ae51a2ada1af27a942 ; https://github.com/ha-homelab/ruview-home-sensing/pull/1/commits



    Чтобы обеспечить возможность для проверки другими участниками, проектный репозиторий исходного кода ОБЯЗАН включать промежуточные версии для проверки между релизами; НЕДОПУСТИМО хранить в репозитории лишь финальные версии. [repo_interim]
    Проекты МОГУТ опускать отдельные промежуточные версии из своих публичных репозиториев (например, те, которые фиксируют отдельные не обнародованные уязвимости, никогда не будут публично выпущены или включают материалы, которые не могут быть опубликованы на законных основаниях и не находятся в финальной версии).

    Interim source revisions are publicly available as Git commits and pull requests. The initial public source PR has merged, and its resulting main-branch commit is publicly readable. Evidence: https://github.com/ha-homelab/ruview-home-sensing/commits/3afc395637abd854f7300e96d62512af7975ab0b ; https://github.com/ha-homelab/ruview-home-sensing/tree/3afc395637abd854f7300e96d62512af7975ab0b ; https://github.com/ha-homelab/ruview-home-sensing/pull/1



    Для хранилища проектного исходного кода ЖЕЛАТЕЛЬНО использовать типовое ПО для распределенного управления версиями (например, git). [repo_distributed]
    Не требуется именно git, и проекты могут использовать централизованное программное обеспечение для управления версиями (например, Subversion) с обоснованием.

    The project uses a public Git repository, a distributed version-control system. Evidence: https://github.com/ha-homelab/ruview-home-sensing/tree/d71f09cdc6948fb131c247ae51a2ada1af27a942


  • Уникальная нумерация версий


    Результаты проекта ОБЯЗАНЫ иметь уникальный идентификатор версии для каждой версии, предназначенной для конечных пользователей. [version_unique]
    Это МОЖНО выполнить различными способами, включая идентификаторы коммита (например, идентификатор коммита git или идентификатор набора изменений mercurial) или номер версии (включая номера версий, которые используют семантическое версионирование или схемы на основе даты, такие как YYYYMMDD).

    The initial prerelease v0.4.0-rc.1 has a unique Git tag resolving to commit d71f09cdc6948fb131c247ae51a2ada1af27a942. The version file uses 0.4.0-rc.1 and Python metadata uses the corresponding 0.4.0rc1 spelling. The published source archive manifest identifies its exact source commit. Evidence: https://github.com/ha-homelab/ruview-home-sensing/releases/tag/v0.4.0-rc.1 ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/version ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/pyproject.toml



    Для выпусков ЖЕЛАТЕЛЬНО использовать семантическую либо календарную нумерацию версий. При использовании календарной нумерации к версии ЖЕЛАТЕЛЬНО добавлять микро-компоненту. [version_semver]
    МОЖНО использовать в качестве номеров версий другие схемы нумерации версий, такие как идентификаторы коммитов (например, идентификатор коммита в git или идентификатор набора изменений в mercurial) или схемы на основе даты, такие как YYYYMMDD, поскольку они уникальны. Некоторые альтернативы могут вызвать трудности, поскольку пользователи могут быть не в состоянии легко определить, используют ли они последнюю версию. SemVer может оказаться менее полезным для идентификации версий программного обеспечения, если все получатели используют только последнюю версию (например, это код для одного веб-сайта или интернет-сервиса, который постоянно обновляется с помощью непрерывной доставки).

    The source version follows the SemVer prerelease form 0.4.0-rc.1. Python packaging uses its ecosystem-compatible 0.4.0rc1 representation. Evidence: https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/version ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/pyproject.toml



    Проектам ЖЕЛАТЕЛЬНО идентифицировать каждый выпуск в своей системе управления версиями. Например, при использовании git ЖЕЛАТЕЛЬНО идентифицировать каждую версию, используя теги git. [version_tags]

    The published initial prerelease v0.4.0-rc.1 is identified by the Git tag of the same name, which resolves to source commit d71f09cdc6948fb131c247ae51a2ada1af27a942. The prerelease tag remains immutable and distinct from the later main-branch merge; no stable release is claimed. Evidence: https://github.com/ha-homelab/ruview-home-sensing/releases/tag/v0.4.0-rc.1 ; https://github.com/ha-homelab/ruview-home-sensing/tree/v0.4.0-rc.1


  • Примечания к выпуску


    Проект ОБЯЗАН предоставлять с каждой выпускаемой версией замечания к выпуску - удобочитаемые человеком сведения об основных изменениях в этом выпуске, помогающие пользователям определить, должны ли они обновляться и какими будут последствия обновления. НЕДОПУСТИМО делать замечания к выпуску сырым выводом журнала управления версиями (например, результаты команды «git log» не являются замечаниями к выпуску). Проекты, результаты которых не предназначены для повторного использования в нескольких местах (например, программное обеспечение для одного веб-сайта или службы) И выдаются через непрерывную доставку (continuous delivery) МОГУТ выбрать «неприменимо» (N/A). (Требуется URL) [release_notes]
    Замечания к выпуску МОГУТ быть реализованы различными способами. Многие проекты предоставляют их в файле с именем «NEWS», «CHANGELOG» или «ChangeLog», возможно с расширениями, такими как «.txt», «.md» или «.html». Исторически термин «журнал изменений» означал журнал для каждого изменения, но для соответствия этим критериям требуется человекочитаемая сводка. Замечания к выпуску МОГУТ вместо этого быть предоставлены механизмами системы контроля версий, такими как процесс GitHub Releases.

    The sole published release, v0.4.0-rc.1, includes human-readable notes explaining the initial software components, separate bridge dependency, the source archive and wheel, compatibility and installation-policy requirements, security fixes, and experimental limitations. The notes link the exact source and validation run and explicitly do not claim stable promotion, deployment, a Passing badge or physical-device qualification. Evidence: https://github.com/ha-homelab/ruview-home-sensing/releases/tag/v0.4.0-rc.1 ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/docs/distribution.md



    В замечаниях о выпуске НЕОБХОДИМО упоминать каждую общеизвестную уязвимость, исправленную ​​в каждой новой версии, для которой существует CVE или аналогичная публичная запись. Критерий может быть отмечен как неприменимый (N/A), если у пользователей обычно нет практической возможности обновить данное ПО самостоятельно (это часто относится к, например, обновлениям ядра операционной системы). Если замечаний о выпуске не публиковалось или не было обнародованных уязвимостей, отвечайте "неприменимо". [release_notes_vulns]
    Этот критерий помогает пользователям определить, исправит ли данное обновление общеизвестную уязвимость, чтобы помочь пользователям принять обоснованное решение об обновлении. Если пользователи обычно не могут практически самостоятельно обновлять программное обеспечение на своих компьютерах, а вместо этого должны полагаться на одного или нескольких посредников для выполнения обновления (как это часто бывает с ядром и низкоуровневым программным обеспечением, которое взаимосвязано с ядром), проект вместо этого можно выбрать «Неприменимо», поскольку эта дополнительная информация будет бесполезна для таких пользователей. Аналогично, проект может выбрать «неприменимо» (N/A), если все получатели используют только последнюю версию (например, это код для одного веб-сайта или интернет-службы, который постоянно обновлен при помощи непрерывной доставки). Этот критерий применим только к результатам проекта, а не к его зависимостям. Перечисление уязвимостей всех транзитивных зависимостей проекта становится громоздким, поскольку зависимости увеличиваются и изменяются; и в этом нет необходимости, поскольку инструменты, которые исследуют и отслеживают зависимости, могут делать это более масштабируемым способом.

    No qualifying publicly known project-runtime vulnerability with a CVE or equivalent assignment has been identified for this initial prerelease. Its notes nevertheless describe the project security fixes. CVE-2026-59890 / GHSA-h35f-9h28-mq5c, also discussed in the notes, concerns the external setuptools build dependency and is outside this criterion's project-results scope. Reassess when a release fixes a qualifying assigned project vulnerability. Evidence: https://github.com/ha-homelab/ruview-home-sensing/releases/tag/v0.4.0-rc.1 ; https://github.com/ha-homelab/ruview-home-sensing/security/advisories


 Отчеты о проблемах 8/8 ●

  • Процесс сообщения об ошибках


    Проект ОБЯЗАН предоставить пользователям возможность отправлять сообщения об ошибках (например, используя систему отслеживания ошибок или список рассылки). (Требуется URL) [report_process]

    CONTRIBUTING asks reporters to open an issue with observed behavior, expected results and a minimal fictional reproduction. The public repository has an enabled issue tracker. Evidence: https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/CONTRIBUTING.md ; https://github.com/ha-homelab/ruview-home-sensing/issues



    СЛЕДУЕТ использовать трекер вопросов (issue tracker) для отслеживания отдельных вопросов. [report_tracker]

    The project uses an enabled public GitHub issue tracker for individual reports. Evidence: https://github.com/ha-homelab/ruview-home-sensing/issues



    Проект ОБЯЗАН подтверждать получение большинства сообщений об ошибках, отправленных за последние 2-12 месяцев (включительно); подтверждение не обязательно включает исправление. [report_responses]

    The maintainer reports no qualifying external bug reports during the assessment period. The newly created public tracker currently contains no bug issues. This is a no-report assessment, not an invented response record. Evidence: https://github.com/ha-homelab/ruview-home-sensing/issues



    Проекту СЛЕДУЕТ реагировать на большинство (>50%) запросов на улучшения в течение последних 2-12 месяцев (включительно). [enhancement_responses]
    В качестве ответа МОЖЕТ быть «нет» или обсуждение выгод от данного улучшения. Цель состоит в том, чтобы по крайней мере на некоторые запросы был какой-то ответ, что указывает на то, что проект все еще жив. Для целей этого критерия не нужно учитывать поддельные запросы (например, от спамеров или автоматизированных систем). Если проект больше не принимает улучшения, выберите «не соответствует» и укажите URL, проясняющий ситуацию для пользователей. Если проект большую часть времени перегружен количеством запросов на улучшения, выберите «не cоответствует» и объясните.

    The maintainer reports no qualifying external enhancement requests during the assessment period. The newly created public tracker currently contains no enhancement issues. Evidence: https://github.com/ha-homelab/ruview-home-sensing/issues



    Проект ОБЯЗАН иметь общедоступный архив для отчетов и ответов для последующего поиска. (Требуется URL) [report_archive]

    GitHub provides a public searchable archive of open and closed issues and their responses; the initial pull-request discussion is also publicly retained. Evidence: https://github.com/ha-homelab/ruview-home-sensing/issues?q=is%3Aissue ; https://github.com/ha-homelab/ruview-home-sensing/pull/1


  • Процесс отчета об уязвимостях


    Проект ОБЯЗАН публиковать процесс уведомления об уязвимостях на сайте проекта. (Требуется URL) [vulnerability_report_process]
    Например, четко обозначенный почтовый адрес на https://PROJECTSITE/security, часто в форме security@example.org. Процесс МОЖЕТ быть таким же, как и процесс для отчетов об ошибках. Отчеты об уязвимостях МОГУТ быть всегда общедоступными, но многие проекты имеют приватный механизм для отправки отчетов об уязвимостях.

    SECURITY explains the confidential reporting route, requested reproduction information and handling boundaries. GitHub private vulnerability reporting is enabled for this repository. Evidence: https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/SECURITY.md ; https://github.com/ha-homelab/ruview-home-sensing/security/advisories/new



    Если поддерживаются приватные отчеты об уязвимости, проект ОБЯЗАН включить описание того, как отправлять сведения конфиденциальным способом. (Требуется URL) [vulnerability_report_private]
    Примеры включают приватный отчет о дефектах, отправленный в Интернете с использованием HTTPS (TLS) или электронной почты, зашифрованной с использованием OpenPGP. Если отчеты об уязвимостях всегда являются общедоступными (поэтому нет приватных отчетов об уязвимостях), выберите «неприменимо» (N/A).

    The enabled GitHub private vulnerability-reporting form is the documented confidential intake. Reporters are told not to publish credentials or sensitive reproduction data in a public issue. Evidence: https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/SECURITY.md ; https://github.com/ha-homelab/ruview-home-sensing/security/advisories/new



    Проект ОБЯЗАН обеспечивать время первоначального отклика на любой отчет об уязвимости, полученный за последние 6 месяцев, в пределах 14 дней или меньше. [vulnerability_report_response]
    Если за последние 6 месяцев не было обнаружено никаких уязвимостей, выберите «неприменимо» (N/A).

    The maintainer reports no vulnerability reports in the preceding six months. This no-report applicability assessment does not assert a demonstrated response-time record. Evidence: https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/SECURITY.md


 Качество 8/13 ●

 Безопасность 5/16 ●

  • Знание безопасной разработки


    По крайней мере один основной разработчик на проекте ОБЯЗАН знать, как проектировать безопасное программное обеспечение (точные требования описаны в подробностях к критерию). [know_secure_design]
    Это требует понимания следующих принципов проектирования, в том числе 8 принципов из Saltzer and Schroeder:
    • экономичность механизма (поддерживать дизайн ПО настолько простым и компактным, насколько практически возможно, например, с помощью массовых упрощений)
    • отказобезопасные значения по умолчанию (доступ по умолчанию должен быть запрещен, а установка проектов по умолчанию должна быть в защищенной конфигурации)
    • полное разграничение (любой доступ, который может быть ограничен, должен проверяться на достаточность прав доступа и не иметь обходных путей)
    • открытый дизайн (механизмы безопасности должны полагаться не на незнание их злоумышленником, а на данные типа ключей и паролей, которые проще защищать и менять)
    • разделение привилегий (в идеале доступ к важным объектам должен зависеть от более чем одного условия, так чтобы взлом одной системы защиты не приводил к полному доступу; напр., многофакторная аутентификация с требованием и пароля, и аппаратного токена сильнее однофакторной)
    • минимальные привилегии (процессы должны работать с минимальными привилегиями, необходимыми для выполнения ими своих функций)
    • наименьший общий механизм (дизайн должен минимизировать механизмы, общие для нескольких пользователей и следовательно зависящие от всех этих пользователей, например, каталоги для временных файлов)
    • психологическая приемлемость (интерфейс для человека должен быть спроектирован с учетом удобства использования - может быть полезным проектирование для «наименьшего удивления»)
    • ограничение периметра атаки (периметр атаки - множество разных точек, в которых злоумышленник может попытаться ввести или извлечь данные - должен быть ограничен)
    • проверка входных данных с помощью списков на допуск (входы обычно должны проверяться на корректность до их принятия; эта проверка должна использовать списки на допуск, содержащие только заведомо хорошие значения, а не списки на запрет, пытающиеся перечислить заведомо плохие значения).
    «Основной разработчик» в проекте - это любой, кто знаком с базой кода проекта, без затруднений может вносить в него изменения и признан таковым большинством других участников проекта. Основной разработчик, как правило, неоднократно вносит вклад в течение последнего года (через код, документацию или ответы на вопросы). Разработчики обычно считаются основными разработчиками, если это они начали проект (и не покинули проект более трех лет назад), имеют возможность получать информацию по закрытому каналу для отчетов об уязвимостях (если он есть), могут принимать коммиты от имени проекта или делать финальные выпуски программного обеспечения проекта. Если есть только один разработчик, этот человек является основным разработчиком. Есть много книг и курсов, помогающих понять, как разрабатывать более безопасное ПО, с обсуждением вопросов проектирования. Например, Secure Software Development Fundamentals - это бесплатный набор из трех курсов, объясняющих, как разрабатывать более безопасное ПО (бесплатный для обучения; за отдельную плату вы можете получить сертификат для подтверждения, что вы освоили материал).

    The responsible primary maintainer has explicitly attested knowledge of secure software design principles. This is a maintainer-knowledge assertion, not an inference from CI results.



    По крайней мере, один из основных разработчиков проекта ОБЯЗАН знать об общих видах ошибок, которые приводят к уязвимостям в этом виде программного обеспечения, а также по крайней мере одному методу противодействия или смягчения каждого из них. [know_common_errors]
    Примеры (в зависимости от типа ПО) включают внедрение SQL-кода (injection), внедрение на уровне ОС, классическое переполнение буфера, межсайтовый скриптинг, отсутствие проверки подлинности и отсутствие авторизации. Обычно используемые списки уязвимостей можно найти в CWE/SANS top 25 или OWASP Top 10. Есть много книг и обучающих курсов, помогающих понять, как разрабатывается безопасное программное обеспечение, и обсуждающих типичные ошибки в реализации, ведущие к уязвимостям. К примеру, Secure Software Development Fundamentals - это набор из трех курсов, объясняющих, как сделать разрабатываемое ПО более безопасным (бесплатный для прослушивания; за дополнительную плату вы можете получить справку о том, что прошли его).

    The responsible primary maintainer has explicitly attested knowledge of common vulnerability-causing implementation errors and methods to prevent or mitigate them.


  • Основы правильного использования криптографии

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

    Программное обеспечение, созданное проектом, ОБЯЗАНО использовать по умолчанию только публикуемые криптографические протоколы и алгоритмы, которые анализируются экспертами (если используются криптографические протоколы и алгоритмы). [crypto_published]
    Эти криптографические критерии не всегда применяются, поскольку некоторые программы не нуждаются в прямом использовании криптографических возможностей.

    The reviewed module signer uses Ed25519 and SHA-256, and firmware verification calls the retained Monocypher implementation. The complete default protocol/algorithm inventory, including the pinned bridge and optional maintained tooling, has not yet been reconciled. Evidence: https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/firmware/sign-module.py ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/firmware/patches/0001-rvf-ed25519-and-bounds.patch ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/requirements-public.txt



    Если программное обеспечение, создаваемое проектом, является приложением или библиотекой, и его основной целью является не внедрение криптографии, тогда для реализации криптографических функций СЛЕДУЕТ обращаться к программному обеспечению, специально предназначенному для этого; НЕ СЛЕДУЕТ повторно реализовывать свои собственные функции. [crypto_call]

    The module-signing path calls cryptography and the firmware patch calls Monocypher. The complete maintained cryptographic implementation/call inventory has not yet been reviewed. Evidence: https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/firmware/sign-module.py ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/firmware/patches/0001-rvf-ed25519-and-bounds.patch



    Вся функциональность программного обеспечения, создаваемого проектом, которая зависит от криптографии, ОБЯЗАНА быть реализована с использованием свободного ПО. [crypto_floss]

    Механизмы безопасности в программном обеспечении, создаваемом проектом, ОБЯЗАНЫ использовать стандартные длины криптографических ключей, которые, по крайней мере, соответствуют минимальным требованиям NIST до 2030 года (как указано в 2012 году). Проект ОБЯЗАН предоставлять возможность настройки ПО таким образом, чтобы уменьшенные длины ключей были полностью отключены. [crypto_keylength]
    Эти минимальные длины в битах перечислены далее: симметричный ключ - 112, модуль факторизации - 2048, дискретный логарифмический ключ - 224, дискретная логарифмическая группа - 2048, эллиптическая кривая - 224 и хеш - 224 (хеширование пароля не покрывается этой длиной, больше информации о хешировании пароля можно найти в описании критерия crypto_password_storage). См. http://www.keylength.com для сравнения рекомендаций по длинам криптографических ключей от различных организаций. Программное обеспечение МОЖЕТ допускать меньшие длины ключей в некоторых конфигурациях (в идеале не должно, поскольку это позволяет атаки через понижение длины ключа, но иногда требуется более короткая длина ключа для обеспечения взаимодействия с другими системами).

    The module signer requires an Ed25519 private key, and OTA provisioning uses a 256-bit key format. Default TLS acceptance and the ability to reject every below-floor key have not been qualified for all maintained clients and the exact pinned bridge. Evidence: https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/firmware/sign-module.py ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/firmware/ota-update.py ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/requirements-public.txt



    Механизмы безопасности по умолчанию в программном обеспечении, создаваемом проектом, НЕДОПУСТИМО делать зависимыми от взломанных криптографических алгоритмов (например, MD4, MD5, single DES, RC4, Dual_EC_DRBG) или использовать режимы шифрования, которые не подходят для контекста, если только они не требуются для интероперабельности протокола (поддерживающего самую новую версию стандарта на этот протокол, широко распространенного в сетевой экосистеме, причем эта экосистема требует использования данного алгоритма или режима, не предлагая более безопасных альтернатив). В документации НЕОБХОДИМО описать все связанные с этим риски безопасности и все известные способы смягчения рисков, если данные алгоритмы или режимы действительно нужны для совместимости с другими реализациями этого протокола. [crypto_working]
    Режим ECB почти никогда не подходит, потому что внутри зашифрованного ECB текста обнаруживаются идентичные блоки, как можно видеть на примере «пингвина ECB», а режим CTR часто неприемлем, поскольку не выполняет аутентификацию и приводит к дубликатам, контекста, если состояние ввода повторяется. Во многих случаях лучше всего выбирать режим алгоритма с блочным шифром, предназначенный для сочетания секретности и аутентификации, например, Galois / Counter Mode (GCM) и EAX. Проекты МОГУТ разрешать пользователям включать сломанные механизмы, где это необходимо для совместимости, но в таких случаях пользователи знают, что они это делают.

    Real Ed25519 verification replaces the identified forgeable module check in the source patch. The complete default cryptographic security-role inventory is not yet reviewed. Plain HTTP credential paths are a separate confidentiality finding and are not treated by themselves as proof of a broken cryptographic algorithm. Evidence: https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/firmware/patches/0001-rvf-ed25519-and-bounds.patch ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/firmware/ota-update.py ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/assumed_activity/service.py



    Механизмы безопасности по умолчанию в программном обеспечении, создаваемом проектом, НЕ СЛЕДУЕТ делать зависимыми от криптографических алгоритмов или режимов с известными серьезными слабостями (например, криптографический алгоритм хеширования SHA-1 или режим CBC в SSH). [crypto_weaknesses]
    Проблемы, связанные с режимом CBC в SSH, обсуждаются в описании уязвимости CERT: SSH CBC.

    В механизмах безопасности в программном обеспечении, создаваемом проектом, СЛЕДУЕТ реализовать совершенную прямую секретность для протоколов соглашений о ключах, чтобы ключ сеанса, произведенный из набора долгосрочных ключей, не мог быть скомпрометирован, если один из долгосрочных ключей скомпрометирован в будущем. [crypto_pfs]

    Если ПО, создаваемое проектом, требует хранить пароли для аутентификации внешних пользователей, НЕОБХОДИМО хранить пароли как итерированные хеши с солью для каждого пользователя с использованием алгоритма (итерированного) растяжения ключа (например, PBKDF2, Bcrypt или Scrypt). См. также: OWASP Password Storage Cheat Sheet (на англ.). [crypto_password_storage]
    Этот критерий применяется только тогда, когда программное обеспечение требует проверки внешних пользователей с использованием паролей (так называемая входящая аутентификация), таких как серверные веб-приложения. Он не применяется в тех случаях, когда программное обеспечение хранит пароли для аутентификации в других системах (исходящая аутентификация; например, программное обеспечение реализует клиент для какой-либо другой системы), поскольку по крайней мере части этого программного обеспечения должны часто обращаться к нехешированному паролю.

    The observed MQTT credentials are outbound and the OTA bearer key is a protocol secret, which are not inbound human-password verifiers. The complete produced-component authentication inventory has not yet established whether any such verifier exists. Evidence: https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/scripts/provision-secret.py ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/firmware/ota-update.py ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/assumed_activity/service.py



    Механизмы безопасности в программном обеспечении, создаваемом проектом, ОБЯЗАНЫ генерировать все криптографические ключи и временные значения с использованием криптографически безопасного генератора случайных чисел; НЕДОПУСТИМО делать это с использованием генераторов, которые криптографически небезопасны. [crypto_random]
    Криптографически безопасный генератор случайных чисел может быть аппаратным генератором случайных чисел или криптографически безопасным генератором псевдослучайных чисел (CSPRNG), использующим такие алгоритмы как Hash_DRBG, HMAC_DRBG, CTR_DRBG, Yarrow или Fortuna. Примеры вызовов защищенных генераторов случайных чисел включают java.security.SecureRandom в Java и window.crypto.getRandomValues в JavaScript. Примеры вызовов небезопасных генераторов случайных чисел включают java.util.Random в Java и Math.random в JavaScript.

    Reviewed provisioning paths generate new keys with Python secrets, while existing externally supplied keys are preserved. The firmware boot-randomness path and other security-sensitive values have not yet received a complete generator/entropy review. Evidence: https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/scripts/provision-secret.py ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/firmware/provision-ota-key.py ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/firmware/patches/0015-boot-bound-module-recovery.patch


  • Доставка, защищенная от атак посредника (MITM)


    Проект ОБЯЗАН использовать механизм доставки, устойчивый против атак посредника (MITM). Приемлемо использование https или ssh + scp. [delivery_mitm]
    Еще более сильным механизмом является выпуск программного обеспечения в виде пакетов, подписанных цифровой подписью, поскольку это смягчает атаки на систему распространения, но это работает только в том случае, если пользователи могут быть уверены, что открытые ключи для подписей верны и если пользователи действительно проверяют подпись.

    The public source candidate and its commit-specific files/archives are delivered by GitHub over HTTPS. The project documents immutable revision and independently pinned digest checks for source/tool consumption. This does not assert that the separate device OTA protocol encrypts local traffic. Evidence: https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/docs/distribution.md ; https://github.com/ha-homelab/ruview-home-sensing/tree/d71f09cdc6948fb131c247ae51a2ada1af27a942 ; https://github.com/ha-homelab/ruview-home-sensing/archive/d71f09cdc6948fb131c247ae51a2ada1af27a942.tar.gz



    НЕДОПУСТИМО получать криптографические контрольные суммы (например, sha1sum) по HTTP и использовать их без проверки криптографической подписи. [delivery_unsigned]
    Эти хеши могут быть изменены при передаче.

    Public source and dependency pins are obtained over HTTPS. The source-consuming guide requires independent digest approval; the device updater takes an explicit approved firmware digest rather than fetching an unauthenticated hash as its sole trust basis. No public distribution path using an HTTP-fetched unsigned digest was found in the reviewed release/source helpers. Evidence: https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/docs/distribution.md ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/requirements-public.txt ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/firmware/fetch-source.py ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/firmware/ota-update.py


  • Исправление обнародованных уязвимостей


    НЕДОПУСТИМО оставлять незакрытыми уязвимости со степенью серьезности средней или выше, опубликованные более 60 дней назад. [vulnerabilities_fixed_60_days]
    Уязвимость должна быть исправлена ​​и выпущена самим проектом (патчи могут быть разработаны в другом месте). Уязвимость считается опубликованной (для цели данного критерия) после того, как она имеет CVE с описанием, бесплатно доступным для общественности, (например, в National Vulnerability Database) или когда проект был проинформирован, и информация была опубликована для общественности (возможно, самим проектом). Уязвимость имеет среднюю и высокую степень серьезности, если ее базовая оценка по CVSS 2.0 равна 4 или выше. Примечание. Это означает, что пользователи могут оставаться уязвимыми для всех злоумышленников по всему миру на срок до 60 дней. Этот критерий часто намного легче выполнить, чем рекомендует Google в Rebooting responsible disclosure, поскольку Google рекомендует, чтобы 60-дневный период начинался, когда проект был уведомлен, даже если отчет не является общедоступным.

    The final source updates the setuptools build backend to 83.0.0, outside the affected range of GHSA-h35f-9h28-mq5c. A complete dated applicability assessment of exact Python, native, firmware, build and supported container components has not yet been established. Fixing this backend pin and passing configured scans do not establish the absence of every overdue exploitable vulnerability. Evidence: https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/pyproject.toml ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/docs/distribution.md ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/Dockerfile ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/server-modules/Cargo.lock ; https://github.com/pypa/setuptools/security/advisories/GHSA-h35f-9h28-mq5c



    Проектам СЛЕДУЕТ оперативно исправлять критические уязвимости после сообщения о них. [vulnerabilities_critical_fixed]

    The complete source and dependency applicability review is not finished. No conclusion about all reported critical vulnerabilities is inferred from an empty initial issue tracker or one scanner result. Evidence: https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/.github/workflows/ci.yml ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/requirements.txt ; https://github.com/ha-homelab/ruview-home-sensing/actions/runs/39079148151


  • Другие вопросы безопасности


    НЕДОПУСТИМА утечка действующих частных учетных данных (например, рабочий пароль или закрытый ключ), предназначенных для ограничения общего доступа, из публичных репозиториев. [no_leaked_credentials]
    Проект МОЖЕТ пропускать «шаблонные» учетные данные для тестирования и несущественные базы данных, при условии что они не предназначены для ограничения общего доступа.

    The reviewed source inventory contains no identified valid private credential; retained test key material is explicitly synthetic and is not a production trust anchor. GitHub secret scanning and push protection are enabled, with zero open secret-scanning alerts at review time. Source and history privacy checks are defined in the current public workflow. This is a bounded credential assessment, not proof of every possible privacy property. Evidence: https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/docs/privacy.md ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/scripts/check-public-boundary.py ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/tests/fixtures/modules/README.md ; https://github.com/ha-homelab/ruview-home-sensing/blob/d71f09cdc6948fb131c247ae51a2ada1af27a942/.github/workflows/ci.yml


 Анализ 8/8 ●


Вы можете использовать инструменты и системы ИИ для предложения изменений через простой URL, например https://www.bestpractices.dev/ru/projects/15634/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). Это означает, что получатель данных может распространять данные с изменениями или без них, при условии, что получатель данных предоставляет текст данного соглашения вместе с распространяемыми данными. Пожалуйста, укажите в качестве источника alvit и участников OpenSSF Best Practices badge.

Владелец анкеты на значок проекта: alvit.
2026-10-17 23:08:53 UTC, последнее изменение сделано 2026-10-18 00:10:48 UTC.