Skip to content

fabric: harden MCU update transfer path#42

Merged
cpunt merged 1 commit into
devfrom
fabric-security
Jun 29, 2026
Merged

fabric: harden MCU update transfer path#42
cpunt merged 1 commit into
devfrom
fabric-security

Conversation

@cpunt

@cpunt cpunt commented May 13, 2026

Copy link
Copy Markdown
Contributor

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 3 times, most recently from fcb3262 to a5af706 Compare June 2, 2026 16:56
cpunt added a commit that referenced this pull request Jun 29, 2026
@cpunt
cpunt marked this pull request as ready for review June 29, 2026 10:02
@cpunt
cpunt changed the base branch from fabric-update to dev June 29, 2026 10:13
@cpunt
cpunt force-pushed the fabric-security branch from 58b1199 to 6e757dd Compare June 29, 2026 10:13
@cpunt
cpunt merged commit 0d2ace8 into dev Jun 29, 2026
@cpunt
cpunt deleted the fabric-security branch June 30, 2026 11:54
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