Preventing OWASP ASI08 Cascading Failures in a .NET AI agent with resilience handlers, structured error responses, caching, and distributed tracing.

Preventing Cascading Failures in AI Agents

Your AI agent depends on a chain of services. In my side project (Biotrackr), the chain looks like this: Claude API for reasoning, APIM for routing, downstream APIs for health data, and Cosmos DB for chat history. When one link in that chain fails, things can get ugly fast. Imagine this: Claude API returns a 429 (rate limited). The agent retries the same request. Each retry consumes more tokens. More 429s. The conversation times out. The user sees an error and submits again, doubling the load. A single rate limit hit has cascaded into a degraded experience, wasted tokens, and a frustrated user (in my case, just me screaming at my own agent 馃槄 For you however, that would be your customers!). ...

March 12, 2026 路 30 min 路 Will Velida
Preventing OWASP ASI10 Rogue Agents in a .NET AI agent with behavioural constraints, kill switches, audit logging, immutable tools, and defence in depth.

Preventing Rogue AI Agents

What happens when the agent itself becomes the threat? Not because of a prompt injection (ASI01) or tool misuse (ASI02), but because the Claude model produces systematically wrong analysis, the Agent Framework has a bug in its tool loop, or the Anthropic API starts returning manipulated responses? Throughout this series, we鈥檝e covered controls that protect the agent from external threats (hijacked goals, misused tools, stolen identities, supply chain poisoning, code execution, context poisoning, cascading failures, and trust exploitation). But what do you do when everything else fails and the agent itself starts behaving in ways you didn鈥檛 intend? ...

March 12, 2026 路 25 min 路 Will Velida