FSP version strings are hard to extract and not tied to specific binaries
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Tranquilla
- Stack tecnologico
- c
- Ambito
- embedded-iot
Direzione di ricerca
Iniziate esaminando i commit di esempio delle release FSP e gli attuali formati di versione specifici della piattaforma descritti nell’issue. Confrontate gli approcci proposti, inclusi i tag, un formato di versione comune, la denominazione dei binari e i metadati. Il lavoro è completato quando il progetto dispone di un modo concordato e leggibile dalle macchine per associare ogni versione di FSP al relativo binario e al relativo albero dei sorgenti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The current FSP versioning scheme makes it difficult to identify which binary
corresponds to which version. Recent commit messages show several different
possible version formats:
Edge Platforms PTL-H PV (3515_56) FSP
9746b8c492d9c06882ee55ae29d86d8f65205f2dASL IPU26.2 v6491_513aebe88923ecbb639ad95abaebe29cb190ddec57Alder Lake FSP C.1.75.1095f32b770cddc3df401a29828a479bd74370de38BirchStream FSP (0041D92)9623d524500c140a6b11d2c727cb282b54962f09
Different platforms use different styles. The version sits inside free-form
prose, and there is no git tag or other reference that authoritatively links a
version string to a specific binary.
Several norms and recommendations expect the integrators to provide a clean,
machine-readable version field for each firmware component to be distributed
alongside the firmware, including:
- EU Cyber Resilience Act, Annex I, Part II, point (1)
Manufacturers of products with digital elements shall:
(1) identify and document vulnerabilities and components contained
in products with digital elements, including by drawing up
a software bill of materials in a commonly used and machine-readable
format covering at the very least the top-level dependencies
of the products; - BSI TR-03183-2
3.1 Definition of SBOM
A “Software Bill of Materials” (SBOM) is a machine-processable file containing supply chain relationships
and details of the components used in a software product. It supports automated processing of information
on these components.
(...)
5.2.2 Required data fields for each component
(...)
Component Version:
(...)
2. Identifiers according to Semantic Versioning or alternatively
Calendar Versioning SHOULD be used if one determines the
versioning scheme; this is often the component creator. - CISA: 2025 Minimum Elements for a Software Bill of Materials (SBOM
- NIST SP 800-53 control SA-10(5)
A consistent scheme would help integrators to meet these expectations without
writing platform-specific version extraction logic and keep a high quality of
their SBOMs.
Taging each release commit in git in a way so the version string maps to a
specific tree and the binaries it contains, and introducing a common versioning
scheme would be perfect. If not feasible there still exist ways in which the
versioning could be improved:
- Adopt a single version format across platforms (SemVer/CalVer?)
- Include the version string in the binary names in a structured way
- Add a structured field in commit message, or a small machine-readable metadata
file next to the binary
Improving the FSP versioning flow would allow firmware integrators for a better
compliance with the security regulations and make the SBOMs more clean,
reliable, and attestable. Using a common and well-known versioning scheme across
the FSP releases would allow the parties interested in the SBOM to better
understand whether a given firmware contains the newest version and whether it
contains known vulnerabilities.
- Lingua principale
- C
- Stelle
- 366
- Fork
- 143
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di intel/FSP
-
ArrowLakeS FSP: TmeEnable = 1 leaves TME inactive on Core Ultra 9 285K (single-key TME, no TME-MK)Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 24/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
SPIDevice selects an active-high device as soon as it is createdForse già presa @mikeysklar l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
adafruit/circuitpython#11869 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
gnif/LookingGlass#1352 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
kovidgoyal/kitty#10862 ·
I maintainer di solito rispondono entro 1 giorno