What happened
Attacker exploited CVE-2026-39987 in marimo to harvest cloud credentials, used an LLM agent to replay credentials through a Cloudflare Workers egress pool to retrieve an SSH key from AWS Secrets Manager, then drove 8 parallel SSH sessions against a downstream bastion to dump an internal PostgreSQL database.
Why it matters
Full schema and contents of internal PostgreSQL database exfiltrated in under two minutes during the bastion phase. Tables dumped included api_key, credential, user, variable, flow, and message. The attacker's LLM inferred the schema shape from contextual signals without prior knowledge of the target database.
Missing authorization check
A PP-style authorization gate on AWS Secrets Manager access requiring a signed receipt naming the specific secret, the requesting agent identity, and the permitted purpose — without which any caller with valid (even stolen) credentials can retrieve the key.
Would PP block it?
PP gates authorized agents' access to credential material through signed receipts naming the agent identity, secret scope, and authorized purpose. In this attack, the credential pivot succeeds because AWS Secrets Manager validated only that the caller possessed valid credentials — not that the caller was a permitted agent acting within a sanctioned policy. PP's Credential Gate would require the secretsmanager:GetSecretValue call to present a signed authorization receipt; the attacker's LLM agent cannot obtain one from the victim's PP deployment, breaking the lateral movement chain at the credential retrieval step.