Skip to content

Commit 1d43b8a

Browse files
Zimbo88Zimbo88
authored andcommitted
docs: record v1.1.0-rc1 publication
1 parent b8b72f4 commit 1d43b8a

1 file changed

Lines changed: 143 additions & 0 deletions

File tree

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
# v1.1.0-rc1 Publication Report
2+
3+
Date: 2026-07-31
4+
5+
## Repository
6+
7+
- Owner: `Zimbo88`
8+
- Repository: `stm32-security-lab`
9+
- URL: https://github.com/Zimbo88/stm32-security-lab
10+
- Visibility: `PUBLIC`
11+
- Default branch: `master`
12+
- Publication type: GitHub pre-release
13+
- Source commit: `b8b72f4e624d5139a18ac4c3d7ad17651b8d0139`
14+
15+
The release represents the five-part hardening campaign as an open-source
16+
research-platform candidate. It is not a production-ready, certified, or
17+
formally verified security system.
18+
19+
## Preflight
20+
21+
The following checks were run on the release branch and again on the merged
22+
default branch:
23+
24+
- `python3 tools/publication_scan.py --tracked`: clean; no error-level findings.
25+
- `python3 tools/check_no_private_keys.py`: passed; no tracked private-key material.
26+
- `python3 tools/check_documentation.py`: passed; no missing relative links.
27+
- `python3 tools/check_workflows.py`: passed; all four repository workflows parsed and passed policy checks.
28+
- Git history scan: no private Ed25519 seed, PEM private key, token, or credential was found.
29+
- `git diff --check`: passed.
30+
31+
The current release tree excludes local flash dumps, hardware baselines, raw
32+
HIL logs, logic-analyzer captures, and local device data. Older research
33+
captures remain in historical commits that were already present in the public
34+
repository; history was not rewritten because no actual secret or credential
35+
was found. This is a documented historical-artifact limitation.
36+
37+
The initial remote branch runs found two environment omissions. They were
38+
fixed without weakening tests:
39+
40+
- `02acb00`: install the ARM GCC toolchain in the security-test workflow.
41+
- `9f764bd`: make PyYAML an explicit base test dependency.
42+
43+
## Remote CI
44+
45+
All required branch, PR, and post-merge checks passed.
46+
47+
Branch checks for `9f764bd`:
48+
49+
- CI: run `30647173093` — success
50+
- Firmware build: run `30647172936` — success
51+
- Security tests: run `30647173069` — success
52+
- Documentation and repository hygiene: run `30647173694` — success
53+
54+
Pull request checks for PR #4:
55+
56+
- CI: run `30647447104` — success
57+
- Firmware build: run `30647447089` — success
58+
- Security tests: run `30647447007` — success
59+
- Documentation and repository hygiene: run `30647447050` — success
60+
61+
Post-merge `master` checks for `b8b72f4`:
62+
63+
- CI: run `30647750622` — success
64+
- Firmware build: run `30647750586` — success
65+
- Security tests: run `30647750585` — success
66+
- Documentation and repository hygiene: run `30647750557` — success
67+
68+
## Pull Request
69+
70+
- PR: #4
71+
- URL: https://github.com/Zimbo88/stm32-security-lab/pull/4
72+
- Branches: `release/v1.1.0-rc1``master`
73+
- Merge commit: `b8b72f4e624d5139a18ac4c3d7ad17651b8d0139`
74+
- Merge method: normal merge commit
75+
- Merged: 2026-07-31
76+
77+
## Release
78+
79+
- Tag: `v1.1.0-rc1`
80+
- Tag target: `b8b72f4e624d5139a18ac4c3d7ad17651b8d0139`
81+
- Release URL: https://github.com/Zimbo88/stm32-security-lab/releases/tag/v1.1.0-rc1
82+
- Title: `STM32 Security Lab v1.1.0-rc1 — Security Hardening and Hardware Validation Candidate`
83+
- Status: pre-release, not draft, not a stable release
84+
- Published: 2026-07-31
85+
86+
Published assets:
87+
88+
- `v1.1.0-rc1.tar.gz` — release archive; SHA-256 `4ea5a01c3aa9f52bee7383a1def78c237925a1881e7865538fceeebc08bb7b87`
89+
- `SHA256SUMS`
90+
- `release-manifest.json`
91+
- `release-provenance.json`
92+
- `sbom.spdx.json`
93+
- `THIRD_PARTY_NOTICES.md`
94+
- `embedded-public-key.hex`
95+
- `public-key.hex`
96+
97+
The release archive contains the checked bootloader, legacy image, Slot-A and
98+
Slot-B artifacts and signed example update packages. All signed examples use
99+
the synthetic CI test key and are explicitly not intended for production or
100+
for devices provisioned with another root key.
101+
102+
Public fingerprints recorded in the manifest and release notes:
103+
104+
- embedded public key: `482dd9daac3d406f779995a50a00eb2ac9948eb412cba4403e2f81091780499a`
105+
- synthetic signing test key: `56475aa75463474c0285df5dbf2bcab73da651358839e9b77481b2eab107708c`
106+
107+
## Local reproducibility
108+
109+
Two clean checkouts of the pre-merge release branch produced identical
110+
archives with SHA-256
111+
`91bdb2633f10d21fb2b32328b261ae361ca80b594f4dd0b698d848d71c57bc2d`.
112+
113+
After merging, a fresh checkout of `master` ran `make test-fast`, built the
114+
release candidate, verified it, and produced the same final archive hash as
115+
the local merged checkout:
116+
117+
`4ea5a01c3aa9f52bee7383a1def78c237925a1881e7865538fceeebc08bb7b87`
118+
119+
This is local reproducibility evidence, not a claim of bit-for-bit
120+
reproducibility across arbitrary toolchains.
121+
122+
## Security status
123+
124+
- RDP2 was not enabled.
125+
- WRP was not enabled.
126+
- Option Bytes were not changed.
127+
- No private key was committed or uploaded.
128+
- Only public synthetic test-key material and test-key-signed examples were published.
129+
- No automatic RDP2 or WRP command was added or executed.
130+
131+
## Known limitations
132+
133+
- No complete controlled Power-Loss campaign was performed.
134+
- The final hardware corruption campaign remains incomplete.
135+
- The fully debugger-independent reset/recovery lifecycle was not completely proven because NRST availability was limited.
136+
- No external security review was performed.
137+
- No long-duration libFuzzer/AFL++ campaign was completed.
138+
- The platform is not production-qualified, certified, or suitable for arbitrary STM32 boards.
139+
- Hardware evidence is limited to the documented STM32F429 reference setup.
140+
141+
## Publication status
142+
143+
REPOSITORY PUBLISHED – REMOTE CI PASSED – V1.1.0-RC1 PRE-RELEASE CREATED

0 commit comments

Comments
 (0)