GGFWPi v0.6.6-beta
Pre-releaseGGFWPi v0.6.6-beta — Initial Public Beta
This is the first public beta release of GGFWPi, a read-only Raspberry Pi firmware and platform security auditor developed by Maciej Gojny for GGSEC.
GGFWPi is designed to collect and evaluate firmware, boot-chain, Secure Boot, OTP, SPI EEPROM, and operating-system security evidence on Raspberry Pi platforms.
The current release has been tested primarily on:
- Raspberry Pi 5
- Broadcom BCM2712
- Kali Linux ARM64
Testing on additional Raspberry Pi models and Raspberry Pi OS is planned.
Key capabilities
- Read-only SPI EEPROM acquisition using
flashrom - SPI EEPROM write-protection status assessment
- Raw SPI EEPROM versus live boot configuration comparison
- Raspberry Pi boot-chain discovery and integrity baselines
- Customer Secure Boot chain validation
- RSA-2048 PKCS#1 v1.5 SHA-256 signature verification
boot.imgandboot.sigvalidation- EEPROM
bootconfsignature analysis - BCM2712
bootsyscustomer countersignature validation - OTP security-state decoding
- External
rpiboot -jprovisioning metadata support - Secure Boot policy profiles
- Weak and default credential detection
- Network listener and APT transport checks
- JSON reports and portable
.ggcapevidence packages - Severity and policy gates suitable for automated workflows
- Fail-closed evidence classification
- Summary and gate accounting invariants
Read-only design
GGFWPi does not provide:
- SPI EEPROM write operations
- SPI erase operations
- write-protection modification
- OTP programming
- Secure Boot key provisioning
SPI access is limited to device probing, write-protection status inspection, and read-only EEPROM acquisition.
Regression test suite
This release includes a 63-test regression suite covering:
- Secure Boot signature validation
- valid and tampered boot images
- incorrect public keys
- malformed and missing signatures
- BCM2711 and BCM2712 Secure Boot chains
- OTP evidence decoding
- policy evaluation
- gate accounting
- summary accounting
- multi-attribute findings
- evidence package generation
- semantic selection of the current GGFWPi module
Run the tests with:
python3 test_GGFWPi_latest.pyThe runner prints the exact GGFWPi module selected for testing.
Expected result:
[*] GGFW regression target: GGFWPi_v0.6.6-beta.py
Ran 63 tests
OK
Basic usage
Run a standard audit:
sudo python3 GGFWPi_v0.6.6-beta.pyRun with the Secure Boot policy profile:
sudo python3 GGFWPi_v0.6.6-beta.py \
--policy-profile secure-boot-required \
--secure-boot-evidence \
--show-otp \
--fail-on HIGHCreate a boot-chain baseline:
sudo python3 GGFWPi_v0.6.6-beta.py \
--write-baseline /var/lib/ggfw/boot-baseline.jsonCompare the current boot chain against a baseline:
sudo python3 GGFWPi_v0.6.6-beta.py \
--baseline /var/lib/ggfw/boot-baseline.jsonExit codes
0— scan completed and the selected gate was not triggered1— tool, acquisition, dependency, argument, package, baseline, or accounting error2— configured security or policy gate triggered
Evidence semantics
GGFWPi distinguishes between:
- confirmed security findings;
- policy failures;
- evidence acquisition requirements;
- coverage gaps;
- aggregate findings;
- informational observations;
- controls that are not required by the selected profile.
Missing evidence does not automatically become a cryptographic failure. Where authenticity cannot be conclusively established, GGFWPi reports UNVERIFIED or EVIDENCE_INCOMPLETE instead of claiming an invalid signature without sufficient proof.
Beta status
This release is intended for testing, technical review, and feedback.
The report schema, command-line interface, Raspberry Pi OS compatibility, OTP coverage, and Secure Boot evidence model may still change before the first stable release.
Do not treat beta output as the sole basis for a production security decision without reviewing the collected evidence.
Known limitations
- BCM2712 customer Secure Boot OTP state cannot always be determined from the public runtime
otp_dumpmapping. - External provisioning metadata collected using
rpiboot -jmay be required. - Raspberry Pi OS compatibility has not yet been comprehensively validated.
- EEPROM A/B state may remain unverified on configurations where an authoritative interface is unavailable.
- Physical SPI
#WPassertion is not directly measured. - Full positive Secure Boot validation requires a correctly provisioned and signed customer boot chain.
Licence and attribution
GGFWPi is distributed under the Apache License 2.0.
Copyright 2026 GG Advanced IT Security UG.
Developed by Maciej Gojny for GGSEC.
See the included LICENSE, NOTICE, and AUTHORS.md files for details.
Feedback
Technical testing and review are particularly welcome in the following areas:
- Raspberry Pi OS compatibility
- Raspberry Pi 4 and older platform coverage
- BCM2712 OTP and provisioning evidence
- customer Secure Boot validation
- EEPROM A/B state reporting
- Debian and Kali packaging
- reproducible test fixtures
Please use GitHub Issues for reproducible bugs, technical compatibility reports, and narrowly scoped feature requests.