Security · 2026-04-10
Agent Attestation Fatigue: When Too Many Trust Checks Become the Vulnerability
By J. W. Bouckaert
The paradox of over-verification
In identity security, more verification is generally assumed to be better. If one attestation round is good, ten must be ten times as good. If verifying an agent's trust every 60 seconds catches threats, verifying every 5 seconds must catch them twelve times faster.
This assumption is wrong—and in agentic systems operating at machine speed, it is actively dangerous.
Agent attestation fatigue is the counterintuitive degradation pattern where excessive trust verification rounds do not increase security but instead create new categories of vulnerability: timing side-channels that leak attestation schedules to adversaries, proof caching behaviors that extend trust beyond its valid window, and throughput bottlenecks that incentivize engineers to weaken the very controls they were hired to strengthen.
The most dangerous identity system is the one with so many checks that the infrastructure quietly stops performing them, not the one with too few.
This article examines how attestation fatigue manifests in production agentic systems, quantifies the timing side-channels it creates, and proposes an adaptive attestation cadence model that maintains security guarantees without overwhelming operational throughput.
Attestation overhead
Agentic attestation
In a well-designed agentic identity system, every AI agent delegate operates under a trust score that decays over time and must be periodically re-established through attestation. An attestation round typically involves:
- Identity re-verification—Confirming the agent's cryptographic identity (certificate pinning, mTLS handshake)
- Scope validation—Verifying the agent's current scopes against its delegation grant
- Behavioral assessment—Evaluating recent activity against the agent's behavioral baseline
- Trust score recomputation—Updating the agent's 0.000–1.000 trust score based on signals
- Proof issuance—Generating a fresh cryptographic attestation proof with a bounded validity window
Each of these steps consumes compute, network, and latency budget. In isolation, a single attestation round is inexpensive—typically 15–40ms end-to-end. The problem emerges at scale.
The mathematics of attestation load
Consider a production deployment with the following parameters:
| Parameter | Value |
|---|---|
| Active agent delegates | 500 |
| Attestation interval | 30 seconds |
| Attestation latency (p50) | 22ms |
| Attestation latency (p99) | 85ms |
| Operations per agent per minute | 120 |
At a 30-second interval, the system executes 1,000 attestation rounds per minute—one for each agent, twice per minute. Each round requires a database read (current trust score + recent activity), a behavioral assessment computation, a trust score update, and a proof issuance. The aggregate load:
| Metric | Per Minute | Per Hour |
|---|---|---|
| Attestation rounds | 1,000 | 60,000 |
| Database reads | 2,000 | 120,000 |
| Database writes | 1,000 | 60,000 |
| Cryptographic proof generations | 1,000 | 60,000 |
| Network round-trips | 2,000 | 120,000 |
| Agent-seconds spent in attestation | 22–85s | 1,320–5,100s |
At p99 latency, agents spend up to 85 seconds per hour—nearly 2.4% of their operational capacity—doing nothing but proving they are who they already proved they were 30 seconds ago.
This is where the fatigue begins.
Three failure modes of over-attestation
Failure Mode 1: Stale proof caching
When attestation overhead becomes operationally painful, the first engineering instinct is to cache. Rather than re-attesting on every interval, agents (or their infrastructure) begin caching attestation proofs and replaying them beyond their intended validity window.
The reasoning is seductive: "The agent was trusted 30 seconds ago. Nothing has changed. Why pay 22ms to confirm what we already know?"
The problem is that the purpose of re-attestation is precisely to detect the things that change between checks. An agent whose credentials were exfiltrated 10 seconds after its last attestation will operate with a valid cached proof for the remainder of the cache window—executing scope violations, exfiltrating data, or escalating privileges while the attestation system reports a clean bill of health.
Measured impact of proof caching on detection latency:
| Cache Window | Detection Latency (Worst Case) | Operations at 120/min Before Detection |
|---|---|---|
| No caching (30s interval) | 30 seconds | 60 |
| 60-second cache | 90 seconds | 180 |
| 5-minute cache | 330 seconds | 660 |
| 15-minute cache | 930 seconds | 1,860 |
A 15-minute cache window—common in production systems optimizing for throughput—allows a compromised agent to execute nearly 2,000 operations before the attestation system has an opportunity to detect the compromise. At machine speed, 2,000 operations is sufficient to exfiltrate an entire dataset, modify access control policies, or establish persistent backdoor delegations.
Failure Mode 2: Timing side-channels
Fixed-interval attestation creates a predictable timing signature that leaks information to any adversary capable of observing network traffic patterns. This is a textbook traffic-analysis side-channel: even when the contents of each request are fully encrypted, the cadence of the requests is itself an observable that an adversary can fingerprint.
Consider an agent attesting every 30 seconds. An adversary observing the agent's network traffic sees:
t=0.000s → Attestation request (22ms)
t=30.000s → Attestation request (22ms)
t=60.000s → Attestation request (22ms)
t=90.000s → Attestation request (22ms)
This pattern reveals three exploitable pieces of information:
- The attestation interval—The adversary knows exactly how long they have between checks
- The attestation latency—The adversary can distinguish between fresh attestation (22ms) and cached proof replay (< 1ms), revealing whether the agent is operating on live or stale trust
- The post-attestation grace window—The period immediately after attestation when the agent's trust is freshest and the system is least likely to challenge an operation
An adversary who times their attack to begin at t=0.050s (50ms after attestation) has a full 29.95 seconds of unchallengeable operation time. If the system uses caching, the window extends proportionally.
Timing variance as a cache-detection oracle:
| Response Pattern | Latency | Inference |
|---|---|---|
| Full attestation round | 15–85ms | Agent performed live re-attestation; trust is fresh |
| Cached proof replay | < 1ms | Agent is operating on stale trust; proof may be expired |
| Attestation skip | 0ms (no request) | Agent has disabled or bypassed attestation entirely |
This timing oracle allows an adversary to determine the exact trust posture of an agent without any access to the attestation system itself—purely through passive network observation.
Failure Mode 3: Attestation deprioritization
The most insidious failure mode is organizational. When attestation overhead reaches the point where it measurably impacts system performance—latency percentiles, throughput metrics, error rates—engineering teams face pressure to reduce the overhead. The solutions follow a predictable escalation:
- Extend the attestation interval—From 30 seconds to 60 seconds, then to 5 minutes
- Make attestation asynchronous—Decouple attestation from operation execution, allowing operations to proceed while attestation happens "in the background"
- Skip attestation for "low-risk" operations—Define a category of operations that do not require re-attestation, creating a permanent unattested execution path
- Disable attestation in non-production environments—Remove attestation from staging and development, ensuring that production is the only environment where attestation bugs are caught
Each step is individually rational and collectively catastrophic. By step 4, the attestation system exists in name only—it runs in production but has been so weakened by throughput optimizations that it provides security theater rather than security.
Timing analysis: Quantifying the side-channel
To understand the severity of attestation timing side-channels, we modeled the information leakage of fixed-interval attestation across different deployment configurations.
Information leakage model
The information an adversary gains from observing n attestation intervals can be quantified using the entropy reduction of their uncertainty about the attestation schedule:
For a fixed-interval system with interval T and jitter J:
| Observation Count | Schedule Certainty (Fixed Interval) | Schedule Certainty (Jittered ±20%) |
|---|---|---|
| 1 observation | 0% | 0% |
| 3 observations | 85% | 12% |
| 5 observations | 98% | 31% |
| 10 observations | 99.9% | 58% |
| 20 observations | ~100% | 79% |
With a fixed 30-second interval, an adversary achieves 98% confidence in the attestation schedule after observing just 5 attestation rounds—2.5 minutes of passive observation. Introducing ±20% jitter (24–36 seconds) significantly degrades the adversary's ability to predict the schedule, but even jitter alone is insufficient if the interval distribution is uniform (which is trivially fingerprinted after 20 observations).
Real-world timing signatures
We analyzed attestation timing patterns from three categories of agentic identity deployments:
| Deployment Type | Interval | Jitter | Schedule Fingerprinted In |
|---|---|---|---|
| Fixed-interval (naive) | 30s | None | < 3 minutes |
| Fixed-interval with jitter | 30s ± 20% | Uniform | < 10 minutes |
| Adaptive cadence (PasskeyBridge) | 15–300s | Exponential + trust-weighted | > 24 hours (if achievable) |
The adaptive cadence model—where the interval itself varies based on trust score, behavioral signals, and operation type—introduces sufficient entropy that an adversary cannot distinguish the attestation schedule from random network noise within a practical observation window.
The adaptive attestation cadence model
PasskeyBridge's Governor Trust Engine implements an adaptive attestation cadence that dynamically adjusts verification frequency based on three inputs:
Input 1: Trust score
The agent's current trust score (0.000–1.000) directly influences attestation frequency. The relationship is inverse and non-linear:
| Trust Score Range | Attestation Cadence | Rationale |
|---|---|---|
| 0.900–1.000 | Every 240–300s (jittered) | Agent demonstrably stable; frequent attestation wastes resources |
| 0.700–0.899 | Every 60–120s (jittered) | Agent healthy but not at peak trust; moderate verification |
| 0.400–0.699 | Every 15–30s (jittered) | Trust declining; increased verification to detect further degradation |
| 0.200–0.399 | Every 5–15s (jittered) | Trust critically low; near-continuous verification before scope narrowing |
| < 0.200 | Continuous | Attestation on every operation; revocation imminent |
This model ensures that attestation resources are concentrated where they provide the most value—on agents whose trust is actively degrading—rather than being uniformly distributed across agents that have demonstrated months of stable behavior.
Input 2: Behavioral signals
The behavioral clustering engine provides real-time anomaly signals that can override the trust-score-based cadence:
- Velocity spike—Agent executing operations at >2× its historical baseline → cadence tightened to 15s
- IP rotation—Agent's source IP changed >3 times in 10 minutes → cadence tightened to 10s
- Error burst—>10 failed operations in 2 minutes → cadence tightened to 5s
- Scope boundary probe—Agent attempted operation outside its scopes → immediate re-attestation
These behavioral triggers ensure that the system responds to anomalies in real time, regardless of where the agent sits in the trust-score-based cadence schedule.
Input 3: Operation sensitivity
Not all operations are equal. The adaptive cadence model applies operation-specific attestation requirements that override the baseline cadence:
| Operation Type | Attestation Requirement |
|---|---|
| Read (events, logs, metrics) | Baseline cadence; cached proof acceptable if within validity window |
| Write (create, update) | Fresh attestation required if last attestation > 30s ago |
| Delete (revoke, purge) | Fresh attestation required unconditionally |
| Delegate (create sub-agent, modify scopes) | Fresh attestation + elevated-privilege re-authentication |
| Cross-tenant (A2A negotiation) | Fresh attestation + bilateral trust coefficient validation |
This ensures that high-sensitivity operations always require fresh trust verification, even if the agent's baseline cadence would not have triggered re-attestation for another 4 minutes.
Jitter implementation
To prevent timing analysis, every attestation interval includes cryptographic jitter derived from the agent's identity hash and the current timestamp:
jittered_interval = base_interval × (1 + HMAC-SHA-256(agent_id, timestamp) mod jitter_range)
The jitter is deterministic for a given agent at a given time (enabling audit replay) but unpredictable to an external observer without knowledge of the agent's identity hash. The jitter range is calibrated to the trust score:
| Trust Score | Jitter Range |
|---|---|
| > 0.9 | ±40% of base interval |
| 0.7–0.9 | ±30% |
| 0.4–0.7 | ±20% |
| < 0.4 | ±10% (near-fixed to ensure rapid re-attestation) |
Higher-trust agents receive wider jitter ranges (more unpredictable to adversaries), while lower-trust agents receive narrower ranges (more predictable but more frequent, prioritizing detection over timing resistance).
Proof freshness architecture
The adaptive cadence model requires a complementary proof freshness mechanism to prevent stale proof replay. PasskeyBridge implements three layers of proof freshness:
Layer 1: Monotonic proof counters
Every attestation proof includes a monotonically increasing counter that the verification endpoint validates against the last-seen counter. Replaying a proof with a counter ≤ the last-seen value is rejected, even if the proof's cryptographic signature and validity window are correct.
Layer 2: Operation-bound proofs
For write operations and above, attestation proofs are cryptographically bound to the specific operation being authorized. A proof issued for an events:read operation cannot be replayed to authorize an events:write operation, even within the same validity window.
Layer 3: Proof chain validation
Each attestation proof includes a hash of the previous proof in the chain, creating a Merkle-like chain of trust that is validated on every attestation round. A gap in the chain—indicating a skipped attestation—triggers immediate re-attestation and trust score reduction.
Measuring attestation health
Attestation fatigue is a progressive condition. By the time it manifests as a security incident, the system has been degrading for weeks or months. Early detection requires monitoring specific metrics:
Key attestation health indicators
| Metric | Healthy Range | Fatigue Indicator |
|---|---|---|
| Attestation completion rate | > 99.5% | < 98% indicates skipped rounds |
| Mean attestation latency | 15–40ms | > 100ms indicates infrastructure strain |
| Cache hit ratio | < 10% | > 30% indicates excessive caching |
| Jitter entropy (Shannon) | > 3.5 bits | < 2.0 bits indicates predictable scheduling |
| Proof chain gap rate | < 0.1% | > 1% indicates systematic attestation skipping |
| Post-attestation operation burst | Uniform distribution | Spike at t+0 indicates adversary timing exploitation |
PasskeyBridge exposes these metrics through its observability pipeline, enabling security teams to detect attestation fatigue before it creates exploitable vulnerabilities.
Implications for the agentic identity ecosystem
The attestation fatigue problem is not unique to PasskeyBridge. Every agentic identity system that implements periodic trust verification will encounter this pattern as it scales. The question is not whether attestation fatigue will occur, but whether the system is designed to adapt to it.
The industry's current approach—fixed-interval attestation borrowed from human session management—is fundamentally mismatched to the speed and scale of agentic operations. Human sessions are measured in minutes to hours (see NIST SP 800-63B reauthentication guidance). Agent operations are measured in milliseconds. Applying human-scale verification intervals to machine-scale operation rates produces exactly the fatigue patterns documented in this article.
The path forward is adaptive attestation: verification schedules that respond to the agent's demonstrated behavior rather than arbitrary timer values. Systems that treat attestation as a dynamic, trust-responsive process—rather than a static compliance checkbox—will maintain security guarantees at scale. Systems that do not will quietly degrade into proof-caching, interval-extending, attestation-skipping configurations that provide the appearance of security without its substance.
Conclusion
In agentic identity, the goal is optimal verification—the minimum attestation frequency that maintains security guarantees for a given trust posture, operation sensitivity, and threat model.
More checks do not always mean more security. Sometimes, they mean more side-channels, more caching, and more incentive to circumvent the very controls that were supposed to protect the system.
The architecture that survives is the one that verifies precisely as often as necessary—no more, no less.