CRA security package: per-release SBOMs, 10.512-aligned threat model, disclosure policy - #17
Merged
Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Stdlib-only generator; explicit zero-runtime-dependency claim with build/test tooling listed at non-runtime scope so it is auditable. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Every stack claim carries a code/test anchor; protocol-level gaps and integrator duties stated explicitly per the guideline's SL-C 1 stance. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
7db98d5 deleted src/iolink_core.c (replaced by the context-based API in src/device.c) but only updated the root CMakeLists; the Zephyr module still referenced the deleted file, breaking zephyr-validation on develop since 2026-07-01. Pre-existing, surfaced by this PR's checks. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Owner
Author
|
Note: |
Branch protection on develop now requires docker-validation, zephyr-validation, and sbom-tools directly (was: no required checks at all — the echo jobs guarded nothing). Fixes pre-existing F541 in nucleo_master.py and the spec's stale MIT license reference. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
The stack-supplier CRA conformance package, public half (design spec + plan committed in-repo under docs/superpowers/):
tools/generate_sbom.py(stdlib-only, 9 unit tests, ruff-clean) emits CycloneDX 1.6 + SPDX 2.3;release.ymlattachesiolinki-<version>.cdx.json/.spdx.jsonto every tagged release (reproducible via SOURCE_DATE_EPOCH pinned to the release commit). New lightweightsbom-toolsCI job runs the tests.docs/security/THREAT_MODEL.md, STRIDE analysis aligned to IO-Link Security Design and Development Guideline 10.512 (D1.0.0-01) + Secure Deployment 10.502. Every stack claim carries a verified code/test anchor; protocol gaps (no crypto, no BLOB FW-update profile, physical protection at SL-C 1) are stated as integrator duties, not glossed.docs/security/CRA.md: manufacturer-stays-responsible framing, free vs commercial deliverables table. README gains a Security section.The commercial half (compliance-statement + security-update-terms templates, both DRAFT — pending legal review) landed in the new private repo
w1ne/iolinki-private.Decisions taken as defaults (flag if you disagree)
Verification
python3 tools/test_generate_sbom.py→ 9/9 OK;ruff checkclean on new files.json.toolvalidated.tools/virtual_master/nucleo_master.py(untouched, not from this PR).Follow-ups
🤖 Generated with Claude Code