Posts
All the articles I've posted.
-
Going Stateless Was the Right Call for MCP, but with a Cost
• 14 min readMCP is now stateless. Here's why that's the right call, what actually replaces the old session handshake, and why state didn't disappear
-
Why We Only Catch "Rogue" AI Agents by Accident
• 14 min readThree frontier labs disclosed that their AI agents breached real companies. None were caught in real time. The problem is not model behavior—it is that the agent is using your identity.
-
Browser-Based Agents Are Impersonating You: The Agent Identity Problem
• 23 min readBrowser-based agents inherit your session, your cookies, and your identity, with no distinction visible to the service provider. Here's why that's a problem we've already solved once, and what needs to happen next.
-
Unwrapping MCP Security: A Walkthrough with the PayPal MCP Server
• 12 min readA walkthrough of connecting Claude Desktop to PayPal’s remote MCP server over HTTP, highlighting the full OAuth 2.0 flow with Postman from discovery to authorization
-
Unwrapping MCP: A Walkthrough with the GitHub MCP Server
• 11 min readMCP explained from the inside out, starting with a real developer workflow then unwrapping the protocol layer by layer: roles, messages, connection lifecycle, and STDIO transport.
-
Protected Resource Metadata Is the Missing Piece in OAuth 2.0 Discovery
• 9 min readOAuth 2.0 could automate client registration and AS discovery, but clients still had to hardcode which authorization server protects a given resource. Protected Resource Metadata fixes that. Here's how PRM completes the dynamic integration story, and why AI agents made it urgent.
-
Certificate-Bound Access Tokens: How mTLS Makes Stolen Tokens Useless
• 9 min readBearer tokens are usable by anyone who possesses them. Certificate-bound tokens, defined in RFC 8705, bind the access token to the client certificate used in the mTLS handshake, so even if a token is intercepted, it's cryptographically worthless without the matching certificate.
-
mTLS for OAuth2 Client Authentication: A Stronger Alternative to Shared Secrets
• 13 min readShared secrets can be stolen, leaked, or brute-forced. mTLS-based client authentication uses certificates to prove private key possession. Learn how to apply TLS handshake–based authentication to meet OAuth 2.0 client authentication requirements.
-
PKCE Explained: How It Stops OAuth Code Interception
• 11 min readHow PKCE (RFC 7636) stops authorization code interception in OAuth 2.0: code_verifier, code_challenge, S256, and a hands-on walkthrough for public clients.
-
JARM Explained: Signed OAuth 2.0 Authorization Responses
• 11 min readJARM signs OAuth 2.0 authorization responses as JWTs to stop tampering and mix-up attacks. Covers response modes, claims, validation, and a working demo.