While TLS authenticates a service identity and attestation tells you an environment is approved, clients can’t be certain that the TLS session actually in use terminates
in the expected environment. SessionLatch proposes using a trusted observer inside CVMs to prove session-endpoint correspondence.
This observer produces TEE-bound evidence which clients can fetch via a separate control channel as the handshake proceeds, holding (latching) client encrypted records
until the evidence verifies and frees up the data path.
The Linux implementation relies on a userspace observer using SOCK_DIAG, nftables/NFQUEUE and other OS facilities. A measured/enforced eBPF or similar kernel mechanism
could potentially provide a stronger reference monitor and bind the session to richer workload identity.
More broadly, the paper illustrates why endpoint attestation becomes harder as the TEE boundary expands from process enclaves to entire confidential VMs.
I recently went over two articles from March-May 2026 that highlight how alignment can improve an agent’s behavior, but security must hold even when the model makes the
wrong decision. I found these reads valuable grounding for thinking about agent architectures.
The latter posits the model’s learned judgment should not be part of the TCB, because the model is inherently probabilistic, and we can’t have a probabilistic TCB. A
boundary that holds only when the model correctly interprets an instruction or recognizes an attack is a behavioral expectation, not an enforceable restriction.
The papers identify concrete open research problems, including verifiable policy generation: translating a user’s evolving natural-language intent into enforceable constraints.
Moving enforcement outside the model is necessary, but letting the same untrusted model freely define its own policy would recreate the original dependency.
Taking the untrusted-model assumption seriously changes how we design agents. A model-generated tool call is a request for authority, not proof of authorization. These
requirements become harder when the workflow itself emerges at runtime, rather than following a program whose resource needs are known in advance. There are excellent
analogies in here for people working on code integrity, particularly dynamic/JITted code security.
Related designs explore how to enforce these boundaries: aflock places authorization and evidence generation in an external MCP server, while
Grimlock uses eBPF-mediated sandbox boundaries and attested channels to enforce identity and constrain delegation outside agent code.
AIBoMGen makes that possible by restricting the training environment. Users provide inputs and parameters rather than arbitrary code or shell access, allowing the platform
to remain an independent observer of a constrained workflow. This limits generality and leaves trust in the platform, workers, signing keys, containers, and cloud control
plane, but demonstrates a broader principle: trustworthy provenance may require constraining execution enough that evidence generation cannot simply be bypassed.
For a related approach to authenticating ML transformation history with hardware-backed attestation and transparency logs, see my notes on Atlas.
The core takeaway is that many systems already have a shared secret anchored
in trusted hardware, such as a SIM or TPM, and infrastructure that already
knows how to derive and manage keys from it.
The authors propose reusing that existing trust: derive an
application-specific secret, make it available through a KDC and trusted
transfer agent, use it for TLS or DTLS PSK authentication—otherwise the
dominant source of resource consumption and handshake unreliability—and keep
ML-KEM for ephemeral post-quantum key establishment and forward secrecy.
This avoids dragging large post-quantum certificates and signatures across
constrained devices and lossy links. The authors observed about 70% less
handshake bandwidth and roughly one-third the energy consumption. The broader
takeaway is that, in some scenarios, post-quantum readiness may not require
rebuilding the authentication stack if the system already has a scalable
symmetric root of trust.
The paper shows how Thompson-class attacks aren’t restricted to compilers by
tampering with strip in the NixOS bootstrap seed. The malicious strip
repurposes PT_NOTE as PT_LOAD, and the payload propagates into later
generations of strip rebuilt from clean source. All but one binary in
stdenv ends up infected, without breaking the build or functional tests.
I walked away thinking about diverse artifact structure verification:
population-level artifact checks run from independent trust roots, with
independently built parsers and tooling. Could we come up with a stable ELF
morphology of a distribution and use that to detect a coordinated structural
shift across thousands of unrelated binaries?
For a related approach to detecting compiler subversion, see my notes on
Rosencrantz’s Diverse Double-Compiling (DDC),
including the challenges of extending verification across a real build graph.
The core argument is that coding agents have crossed the threshold where mandatory human code review is no longer economically justified. Human review consumes an
estimated 10–15% of developer time, and scaling code generation while keeping humans as the approval gate simply moves the bottleneck downstream.
Readers might find the implication for SCM architecture most interesting. GitHub/GitLab-like platforms may need first-class agent identities, cryptographically attributable
actions, specialized permissions, structured findings and confidence, and machine-readable review artifacts—not agents impersonating humans through comment threads. Agent
review also seems better described as auditable and replayable than deterministic.
This suggests code review may evolve from a human synchronization gate into continuous agentic assurance, with human inspection becoming a risk-based escalation path in
some scenarios.
The core idea in Grimlock is separation of concerns for high-agency systems: agent code handles orchestration, while the sandbox
substrate enforces identity, authentication, authorization, provenance, and least-privilege delegation. Much of this is established security architecture; what I found
interesting is how the pieces are composed while leaving agent code unchanged.
eBPF provides no-bypass, application-transparent mediation at the sandbox boundary and associates ordinary socket flows with stable sandbox identities. Guard-to-guard
communication uses TLS 1.3 with kTLS for the data plane, allowing authentication context and longer-lived channels to amortize setup costs.
Post-handshake attestation is of special note. TLS exporters bind fresh TEE evidence to an already-established channel, including nonce, audience,
and requested delegation scope. Successful appraisal produces short-lived, channel-bound Scope Tokens that the destination guard revalidates before releasing plaintext to
the destination sandbox.
Beyond Zero: Enterprise Security for the AI Era establishes that the application is no longer a sufficient trust boundary. Beyond Zero
pushes authorization down to individual actions on individual resources, with contextual risk decisions running at machine speed. What’s new since BeyondCorp is fusing
static authorization guarantees with dynamic AI reasoning without turning security into a fully probabilistic system.
The mechanism is essentially a continuous feedback loop: an enterprise security world model precomputes context about users, agents, roles, resources, and expected work;
event intake adds endpoint, server, and agent signals, including prompts, plans, and tool invocations; a hierarchical reasoning engine then feeds allow, deny, challenge,
or containment decisions directly back into authorization. Expensive inference is front-loaded so thousands of decisions per second can remain low-latency.
This also collapses the traditional separation between access management and security operations: investigations can happen continuously and immediately change the actor’s
“access bubble.” Challenges add granular friction under ambiguity; containments contract authority when risk increases. More broadly, this suggests that machine-speed
agentic systems may require security to become a closed-loop authorization system rather than a monitoring layer around applications.
The most useful idea in TIRA: Task-Based Intermittent Remote Attestation is not that intermittent
systems can be made task-based, or that remote attestation can hash code and report a digest. What is interesting is the way the paper treats the task abstraction itself
as the unit of attestable progress.
The mechanism is a compiler/runtime co-design. Programmer-defined idempotent tasks are instrumented with software fault isolation; unsafe memory writes and control-flow
transfers are mediated through a Trusted Compute Module; a protected bootloader establishes static attestation at boot; and successful task transitions, interrupt
evidence, and mutable memory effects are folded into a cryptographically chained execution log.
The reported overheads are practical enough to make the design worth studying: about 18% runtime overhead and 4% code-size overhead on average. More broadly, the paper
suggests that in some constrained systems, the right attestation boundary may be the application’s execution abstraction, not just the boot image or hardware root.
Kettle turns build provenance from an assertion into hardware-rooted evidence. It runs builds inside a measured confidential VM,
records source, resolved dependencies, toolchain, environment, and output digests as SLSA/in-toto provenance, then commits the provenance hash into the TEE attestation
report. Verification becomes an attestation check plus digest comparisons rather than trusting CI infrastructure or reproducing the build.
The interesting part is the composition: Kettle reproducibly builds its own CVM image, providing a way to derive the expected launch
measurement; uses a Merkle commitment over build inputs; and can optionally attest the CVM before confidentially delivering source. Reproducibility answers whether another
build produces the same bytes; attestation proves that one measured environment actually observed specific inputs and produced specific bytes.
The broader lesson is that attestation can move build infrastructure outside the trust boundary—but verifier policy still determines which measured builders deserve trust.
For a related approach to ML provenance, see my notes on Atlas, which combines attestation and transparency logs to authenticate a model’s transformation history.