Re: [docs] [PATCH] security-manual: Add information about how security is handled in builds

"Antonin Godard" <[email protected]>
Newsgroups org.yoctoproject.lists.docs
Message-ID <[email protected]>
Hi,

On Fri Aug 7, 2026 at 6:43 PM CEST, Richard Purdie via lists.yoctoproject.org wrote:
> We have no information about how security is handled within the builds
> themselves. Start to document this.
>
> Signed-off-by: Richard Purdie <[email protected]>
> ---
>  .../security-manual/build-security.rst        | 41 +++++++++++++++++++
>  documentation/security-manual/index.rst       |  1 +
>  2 files changed, 42 insertions(+)
>  create mode 100644 documentation/security-manual/build-security.rst
>
> diff --git a/documentation/security-manual/build-security.rst b/documentation/security-manual/build-security.rst
> new file mode 100644
> index 000000000..5f15d5f64
> --- /dev/null
> +++ b/documentation/security-manual/build-security.rst
> @@ -0,0 +1,41 @@
> +.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
> +
> +**************
> +Build Security

I suggest renaming it to "OpenEmbedded Build System Security", as "Build" alone
could be interpreted in many different ways, including builds for specific
software components, etc.

> +**************
> +
> +OpenEmbedded is used to run the builds and careful consideration has gone into

When you say "OpenEmbedded" I guess you mean the community? Or the build system?

We have a :term:`OpenEmbedded Build System` that could be used here if relevant.

> +how it does this with the aim of being both secure and reproducible. Like any
> +system, it does need to be used carefully and in keeping with the design for
> +that to be true. Users of the system should consider that:
> +
> +-  The builds generally aim for any input into the build process being verified in
> +   some form. For source code tarballs, these would have a checksum. Git source
> +   trees would have a specific git revision. Metadata would also usually be
> +   under source control and also have revisions.

Add a link to our fetching documentation here?

"""
See the :doc:`bitbake:bitbake-user-manual/bitbake-user-manual-fetching` section
of the BitBake User Manual for more information.
"""

> +
> +-  Some elements that can influence the build are not verified. It is assumed
> +   that the operating system running the system is secure and of a known setup and
> +   version. The system goes to signififant lengths to isolate against host
> +   contamination of the output but it is certainly possible, especially malicously.

typo: maliciously

Link to our supported distros here?

"""
See the :ref:`system-requirements-supported-distros` section of the Yocto
Project Reference Manual for more information on supported host distributions.
"""

> +
> +-  The builds assume DL_DIR is a safe location. Once things enter that location

s/DL_DIR/:term:`DL_DIR`/

> +   there are not repeatedly re-verified. A user could edit the git trees or
> +   tarballs there in ways the build might not detect.

I guess this will be better detailed with
https://bugzilla.yoctoproject.org/show_bug.cgi?id=16102. Maybe the documentation
coming from this bug should be linked here then.

> +
> +-  The builds assume things from SSTATE_DIR or from a configured sstate mirror

s/SSTATE_DIR/:term:`SSTATE_DIR`/

s/sstate mirror/:doc:`sstate mirror </dev-manual/sstate-mirrors-setup>`

> +   are safe (with signature checks if configured).

s/signature checks/:doc:`signature checks </security-manual/sstate-signing>`/

> +-  The core build tool, BitBake is a execution engine and will execute code both

"""
The core build tool, :term:`BitBake`, ...
"""

> +   during builds and when parsing recipes. This is not a security issue, it is an
> +   essential part of it's function and purpose.
> +
> +-  OE-Core is well tested for reproducibility issues but other layers and their

s/OE-Core/:term:`OpenEmbedded-Core (OE-Core)`/

> +   recipes and code may not be as well tested. Those reproducilbity tests are

typo: reproducibility

> +   available for others to run against their own layers and code.
> +
> +-  The builds combine many different software components and we take it on trust
> +   that there aren't issues in those code bases. We'd recommend build environments
> +   being setup in such a way that if such an issue were ever discovered, which at
> +   some point could happen, the build environments themselves could be simply
> +   destroyed and rebuilt cleanly, i.e. they're disposable.
> diff --git a/documentation/security-manual/index.rst b/documentation/security-manual/index.rst
> index a767cd9c6..328265be2 100644
> --- a/documentation/security-manual/index.rst
> +++ b/documentation/security-manual/index.rst
> @@ -11,6 +11,7 @@ Yocto Project Security Manual
>     :numbered:
>  
>     intro
> +   build-security
>     securing-images
>     vulnerabilities
>     read-only-rootfs

Thanks,
Antonin
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.