Skip to content

fabric: harden MCU update transfer path#42

Draft
cpunt wants to merge 6 commits into
fabric-updatefrom
fabric-security
Draft

fabric: harden MCU update transfer path#42
cpunt wants to merge 6 commits into
fabric-updatefrom
fabric-security

Conversation

@cpunt

@cpunt cpunt commented May 13, 2026

Copy link
Copy Markdown

Summary

  • Enforces signed MCU update images using the pico2-a-b/imagev1 verifier and trusted target/key policy.
  • Streams only verified payload bytes into the inactive A/B slot on TinyGo.
  • Keeps transfer recovery to documented fields only: required per-chunk chunk_digest, malformed/digest retry, idle xfer_need retry, and 1024-byte raw chunks for the current link.

Why

This is the security hardening layer on top of the Fabric update path. It removes the unsigned passthrough verifier and avoids adding non-Lua protocol fields.

Testing

  • go test ./...
  • Hardware e2e attempted from this container; TinyGo build succeeded, pack stopped because picotool is not installed on PATH.

@cpunt cpunt force-pushed the fabric-security branch from c27a532 to 85ba62f Compare May 18, 2026 19:07
@cpunt cpunt force-pushed the fabric-update branch 2 times, most recently from 491e732 to d2ec15b Compare May 19, 2026 09:14
@cpunt cpunt force-pushed the fabric-security branch from 85ba62f to 086d696 Compare May 19, 2026 09:14
@cpunt cpunt force-pushed the fabric-security branch 2 times, most recently from 377f363 to fcb3262 Compare June 2, 2026 16:50
@cpunt cpunt force-pushed the fabric-security branch from fcb3262 to a5af706 Compare June 2, 2026 16:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant