Affected target
release/7.14.3-bitcoin-only at 2c4b7021041bd14667dd6d9c1ac282974e24d6c0 / draft PR #604.
Finding
The release builds a Bitcoin-only ARM image, but neither native CI nor Python integration CI executes the Bitcoin-only emulator as a product:
.github/workflows/ci.yml matrices only build-arm-firmware over full and Bitcoin-only.
build-emulator, unit-tests, and python-integration-tests use the regular image only.
deps/python-keepkey/tests/test_msg_bitcoin_only_variant.py::setUp() calls requires_firmware("7.15.0").
- This fork identifies as firmware 7.14.3, so all Bitcoin-only Python product tests skip even if pointed at the correct binary.
The clean Docker baseline recorded 448 passed / 219 skipped / 1 unrelated full-image failure. JUnit shows every TestBitcoinOnlyVariant case skipped with “Firmware version 7.15.0 or higher is required,” including handler exclusion, coin-table restriction, product identity, Bitcoin signing survival, OP_RETURN behavior, and Zcash exclusion.
Security impact
CI proves only that the stripped ARM image links. It does not prove that excluded protocol handlers are unreachable, that only Bitcoin/Testnet remain in the coin table, that Bitcoin signing works, or that Bitcoin-only OP_RETURN/refusal behavior matches the trusted display. A gating or message-map regression can ship green.
Required remediation
- Run a Bitcoin-only emulator/native test leg with
KK_BITCOIN_ONLY=ON.
- Run the Python Bitcoin-only product suite against that image.
- Move the companion test gate to 7.14.3 for the backported product, preferably using an explicit machine-readable variant capability rather than version alone.
- Make the aggregate CI gate require this leg and publish its JUnit/screenshots.
Discovered by the audit SOP added in PR #604.
Affected target
release/7.14.3-bitcoin-onlyat2c4b7021041bd14667dd6d9c1ac282974e24d6c0/ draft PR #604.Finding
The release builds a Bitcoin-only ARM image, but neither native CI nor Python integration CI executes the Bitcoin-only emulator as a product:
.github/workflows/ci.ymlmatrices onlybuild-arm-firmwareover full and Bitcoin-only.build-emulator,unit-tests, andpython-integration-testsuse the regular image only.deps/python-keepkey/tests/test_msg_bitcoin_only_variant.py::setUp()callsrequires_firmware("7.15.0").The clean Docker baseline recorded 448 passed / 219 skipped / 1 unrelated full-image failure. JUnit shows every
TestBitcoinOnlyVariantcase skipped with “Firmware version 7.15.0 or higher is required,” including handler exclusion, coin-table restriction, product identity, Bitcoin signing survival, OP_RETURN behavior, and Zcash exclusion.Security impact
CI proves only that the stripped ARM image links. It does not prove that excluded protocol handlers are unreachable, that only Bitcoin/Testnet remain in the coin table, that Bitcoin signing works, or that Bitcoin-only OP_RETURN/refusal behavior matches the trusted display. A gating or message-map regression can ship green.
Required remediation
KK_BITCOIN_ONLY=ON.Discovered by the audit SOP added in PR #604.