hero — 64px / 500 / -0.03em

The model isn't the perimeter.

h1 — 40px / 500 / -0.025em

Prompt injection isn't a vulnerability class

h2 — 26px / 500 / -0.015em

What actually happens when you deploy a Copilot agent

h3 — 20px / 500 / -0.01em

The guardrail layer is thinner than you think


lede — 22px / 400 / --secondary

Every agent framework ships with a system prompt that says "you are a helpful assistant." The attack surface starts in the sentence nobody reads.

body — 18px / 400 / lh 1.7 / max 68ch

Most red-team reports on LLM-based applications test the model. They send adversarial prompts, observe the output, and file findings. This misses the point. The model is a component. The application around it — retrieval, tool calls, output parsing, session management — is where the exploitable logic lives. If you only test the model, you're pen-testing the CPU instead of the app.

interface — 15px / 500

Archive  ·  About  ·  Subscribe


briefing value — mono 14px / 400

CVE-2024-38109  ·  CVSS 9.1  ·  Copilot Studio  ·  SSRF → full tenant compromise

briefing label — mono 12px / 400 / 0.06em

SEVERITY    VECTOR    AFFECTED PRODUCT    READING TIME

meta — mono 13px / 400 / --muted

2025-09-12  ·  8 min read  ·  ai-security, red-team


mono vs sans — side by side

Body text in Switzer at 18px

Mono text in Commit Mono at 14px

Interface in Switzer at 15px

Meta in Commit Mono at 13px