seL4 Proof-Boundary CI

For ARM firmware teams integrating seL4, CI verifies that each real build remains within the assumptions covered by the security proof.

seL4 is a formally verified operating-system kernel. With its AArch64 proof now complete, embedded teams can finally bring that assurance to ARM devices. The challenge then shifts to real-world engineering: a new driver, board configuration, or build parameter may place a system outside the scope covered by the proof.

Developers connect their firmware build to the service and submit the kernel version, driver inventory, device tree, and compiler options. After each build, the product compares the actual artifacts against the proof’s required assumptions, mapping the boundary between the verified kernel, external trusted components, and unverified code. Reviewers can see directly why a serial driver or memory mapping falls outside that boundary.

If a commit disables an isolation setting or gives an unverified component privileges it should not have, the release pipeline stops at the relevant change. Developers receive specific configuration differences and remediation guidance rather than a generic security alert. Artifacts that pass include a version, configuration hash, and dependency relationships, allowing auditors to trace them back to the firmware actually flashed to the device.

The first release supports AArch64 firmware projects using seL4, producing evidence packages around build-time configuration and component boundaries. It does not claim to formally verify drivers automatically; its purpose is to keep teams from quietly losing assurance they have already earned during integration.

Why now

From August 21 to 24, Proofcraft and the seL4 Foundation announced completion of the AArch64 confidentiality proof, filling the gap in the architecture’s security-isolation proof. S1 S2 As of August 25, the news ranked 11th on Hacker News, with 169 points and 37 comments; ARM teams may now be more likely to recheck whether their actual firmware still meets the proof’s assumptions. S3

Target user

Safety- and security-critical embedded teams already using seL4, especially systems engineers bringing up AArch64 boards. The need is greatest when changing boards, upgrading the kernel, adding drivers, or preparing a release review. At those moments, the proof must apply to an actual firmware image, while configuration differences are often scattered across build files, device trees, and component descriptions. Reviewers and developers need a shared view of which isolation properties still hold and which code has entered the trusted boundary.

Minimal entry point

Run after build artifacts are written. Collect the kernel commit, CMakeCache, and `_verified.cmake`, along with the system description, DTB, and component ELFs. First map the officially verified combinations, then use pyelftools and libfdt to extract artifact facts. Treat Microkit’s `report.txt` as an appendix only, since its format is not stable. S4 Rules assess versions, configurations, permissions, and hardware assumptions; they do not attempt to prove drivers. On success, emit a JSON evidence package with the firmware hash; on an out-of-coverage build, return a CI failure code.

Punching above its weight

Find initial users through engineering collaboration channels in the seL4 ecosystem. Release an open-source CLI and reproducible AArch64 example, with compliance and out-of-coverage results shown directly in pull requests. Then publish compatibility notes in the seL4 forum, developer chats, and relevant GitHub repositories. Integrators delivering certified systems can use the free scan to obtain an evidence package for review meetings.

Competitors & gaps

seL4 Microkit and the capDL toolchainGoogle
Microkit accepts system descriptions, board configurations, and program images to generate loadable seL4 system images. It reports key system information and can produce capability-table descriptions for each protection domain. The official documentation explicitly warns that a release build does not mean a verified kernel is in use. S4 These capabilities address static-system construction and permission expression. Public tools remain focused on generating systems and supporting verification. Teams must still check kernel versions, build configurations, and proof prerequisites themselves. There is also no unified traceability across driver inventories, device trees, and final firmware. The opportunity is not to rebuild Microkit, but to add artifact-level checks around it and bind out-of-coverage differences to a firmware hash.

How it makes money

Charge an annual fee per private firmware project, including CI checks, evidence-package retention, and verified-baseline updates. Offer self-hosted deployment as a higher-priced tier of the same product.

The case against

If boundary rules are wrong, CI could label an uncovered build as safe—a more serious outcome than an ordinary false positive. If rules are too strict, they will repeatedly block releases and teams will soon bypass the checks. Device trees and build parameters describe only some hardware assumptions; they cannot prove actual peripheral behavior. For projects based on Microkit, the current MCS configuration remains under verification, so the newly completed result cannot be applied to it. S4 Mappings across versions, boards, and configurations also require ongoing maintenance. If builds are not reproducible, an evidence package can establish only metadata consistency, not that the device is running that artifact.

Evidence and sources

4 checkable sources cited
Discussion snapshot· Hacker News
seL4 completes its AArch64 security proof
Points
169
Comments
37
Rank at capture
#11
Posted
Snapshot time
snapshot August 25, 2026, 00:33 UTC
View the Hacker News threadRead the original article
Sources
S4

Microkit documentation states that formal verification applies only to particular seL4 configurations; a release build does not automatically mean the kernel is verified. It also notes that the build-report format is not stable and that the MCS configuration currently used by Microkit remains under verification.

seL4 Documentationdocs.sel4.systems/latest
Telegram channel