* [PATCH] security-manual: Add information about how security is handled in builds
@ 2026-08-07 16:43 Richard Purdie
2026-08-11 8:01 ` [docs] " Antonin Godard
0 siblings, 1 reply; 4+ messages in thread
From: Richard Purdie @ 2026-08-07 16:43 UTC (permalink / raw)
To: docs
We have no information about how security is handled within the builds
themselves. Start to document this.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
.../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
+**************
+
+OpenEmbedded is used to run the builds and careful consideration has gone into
+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.
+
+- 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.
+
+- The builds assume DL_DIR is a safe location. Once things enter that location
+ there are not repeatedly re-verified. A user could edit the git trees or
+ tarballs there in ways the build might not detect.
+
+- The builds assume things from SSTATE_DIR or from a configured sstate mirror
+ are safe (with signature checks if configured).
+
+- The core build tool, BitBake is a execution engine and will execute code both
+ 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
+ recipes and code may not be as well tested. Those reproducilbity tests are
+ 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
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [docs] [PATCH] security-manual: Add information about how security is handled in builds
2026-08-07 16:43 [PATCH] security-manual: Add information about how security is handled in builds Richard Purdie
@ 2026-08-11 8:01 ` Antonin Godard
2026-08-11 8:20 ` Richard Purdie
0 siblings, 1 reply; 4+ messages in thread
From: Antonin Godard @ 2026-08-11 8:01 UTC (permalink / raw)
To: richard.purdie, docs
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 <richard.purdie@linuxfoundation.org>
> ---
> .../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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [docs] [PATCH] security-manual: Add information about how security is handled in builds
2026-08-11 8:01 ` [docs] " Antonin Godard
@ 2026-08-11 8:20 ` Richard Purdie
2026-08-11 8:29 ` Antonin Godard
0 siblings, 1 reply; 4+ messages in thread
From: Richard Purdie @ 2026-08-11 8:20 UTC (permalink / raw)
To: Antonin Godard, docs
On Tue, 2026-08-11 at 10:01 +0200, Antonin Godard wrote:
> 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 <richard.purdie@linuxfoundation.org>
> > ---
> > .../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.
Perhaps "Build Process Security"? I think build system isn't quit the
right thing here.
>
> > +**************
> > +
> > +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.
That seems like the right thing to use.
> > +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.
> """
Sure, I intended this as a first pass and figured it might need some
markup/tweaking. Sorry for the spelling :/.
>
> > +
> > +- 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.
This text was intended to help close 16102 :/. We've not managed to get
anyone else to provide such information. Certainly if any more is
forthcoming, this would be the place to add it. I did want to document
something before we close that bug though.
Cheers,
Richard
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [docs] [PATCH] security-manual: Add information about how security is handled in builds
2026-08-11 8:20 ` Richard Purdie
@ 2026-08-11 8:29 ` Antonin Godard
0 siblings, 0 replies; 4+ messages in thread
From: Antonin Godard @ 2026-08-11 8:29 UTC (permalink / raw)
To: Richard Purdie, docs
Hi,
On Tue Aug 11, 2026 at 10:20 AM CEST, Richard Purdie wrote:
> On Tue, 2026-08-11 at 10:01 +0200, Antonin Godard wrote:
>> 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 <richard.purdie@linuxfoundation.org>
>> > ---
>> > .../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.
>
> Perhaps "Build Process Security"? I think build system isn't quit the
> right thing here.
Works for me :)
>>
>> > +**************
>> > +
>> > +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.
>
> That seems like the right thing to use.
>
>> > +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.
>> """
>
> Sure, I intended this as a first pass and figured it might need some
> markup/tweaking. Sorry for the spelling :/.
No problem :)
>>
>> > +
>> > +- 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.
>
> This text was intended to help close 16102 :/. We've not managed to get
> anyone else to provide such information. Certainly if any more is
> forthcoming, this would be the place to add it. I did want to document
> something before we close that bug though.
Ah I see, ok, I guess that's already something and if someone comes up with more
information about the subject then there's already a place in the docs where
that can be added.
Thanks,
Antonin
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-08-11 8:30 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-07 16:43 [PATCH] security-manual: Add information about how security is handled in builds Richard Purdie
2026-08-11 8:01 ` [docs] " Antonin Godard
2026-08-11 8:20 ` Richard Purdie
2026-08-11 8:29 ` Antonin Godard
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.