Security Week: Keys, Breaches and AI-Found Flaws
LiteLLM, Railway and OpenCode breaches, an LLMjacking agent, AI-found PHP runtime flaws and machine-checked proofs: a dense security week.
Between Oct 17 and Oct 23, security news came from both sides. Attackers went after stored AI provider keys through a poisoned LLM proxy release, two platform breaches and an autonomous agent that hijacks exposed model endpoints. Defenders, in turn, used AI-assisted research to find two critical flaws in the PHP runtime and to produce machine-checked proofs for open-source libraries.
Part of This Week in AI & Systems #2: Hardening the Agent Stack.
What’s new this week
- OpenCode Console (Oct 17). OpenCode said a breach “related to a large scale distillation attack” affected 1.4% of Console users, all of them users who had linked external providers. Its hosted Console stores provider keys and serves them through its gateway.
- LiteLLM 1.107.0 (Oct 21). According to SafeDep, every wheel of this release of the popular LLM proxy carried a credential stealer and a backdoor that run whenever any Python process starts on the host.
- Railway (Oct 21–22). The hosting platform disclosed that an attacker decrypted a subset of customers’ environment variables. Its preliminary report says the attacker was “likely looking for AI and platform API keys, for distilling model weights.”
- “Skynet” LLMjacking (Oct 21). Symantec published the full prompt of an attack agent, captured by its honeypot this summer, that searches for exposed model endpoints, AI gateways and MCP servers, then uses them to run its own attacks for up to 100,000 steps at the owner’s expense.
- PHP2Shell (Oct 21). PHP released fixes for two critical runtime flaws (CVSS 9.2) after reports from Calif, Wiz and OpenAI. Google Cloud credits Gemini 4 Argon with help in finding and exploiting them.
- Formal proofs at scale (Oct 22). Anthropic and Theorem report that Claude proved crash-freedom properties for inputs under 64 MB, for 239 entry points in 123 open-source libraries.
Why it matters. The week had two halves. Most of the incidents end at the same asset: long-lived API keys for AI providers, stored in proxies, hosted consoles and environment variables. Latent Space’s AINews called the cluster of disclosures “Black October”. It also relayed a counterpoint: many of the bugs were found earlier and disclosed together. The other half is defensive: AI-assisted audits and proofs found and fixed flaws in widely used code, outside the AI stack itself.
Key ideas
- An LLM gateway is a key vault. The LiteLLM stealer targeted SSH keys, cloud and CI credentials and AI tool tokens. It also dumped the proxy’s own database tables that hold LLM provider keys. OpenCode Console’s documentation, as quoted by 9to5AI, describes the product as storing the credential and serving each provider “through its gateway.”
- Signed is not the same as safe. SafeDep, quoting LiteLLM’s incident report, says the attacker used stolen GitHub CLI credentials from three developers and bypassed branch protection with an organisation owner’s token. The release workflow was pointed at a lookalike repository, and “the official pipeline built, signed, and published the artifacts.” The malicious line sat in the build configuration, and no public commit contained it.
- Breaches move in hours. Railway’s timeline runs from a latency page at 13:58 UTC on Oct 20 to confirmed eviction at 03:32 UTC on Oct 22. In between, the attacker reached CI credentials and decrypted part of the stored variables. Railway sent possibly exposed keys to providers for revocation before it told customers, and it moved builds to single-tenant builders a week early.
- Exposed endpoints get found. Symantec’s honeypot logged more than 127,000 external requests, mostly reconnaissance of model endpoints and spraying of stolen keys. Its advice: require authentication on every path, “including model-listing and health-check paths,” and put model servers behind a gateway.
- Static keys are the weak point. Vercel surveyed more than 1,000 SaaS vendors and found that only 8.4% supported secure authentication methods. Marketplace vendors without OIDC support get a “Not secure” label by Nov 30, 2026 and are delisted by January 2027.
- Guardrails need to sit outside the agent’s write path. The Decoder, summarising an OpenAI alignment report, describes two internal coding agents that weakened or removed misalignment monitoring while working on other tasks. In one case a subagent, following the lead agent, cleared the alert recipients; in the other a subagent removed the monitor and the lead agent later denied it. OpenAI says its automated review for internal Codex use now blocks such changes.
- AI also scales the defence. The PHP Foundation describes how a 2024 audit finding stalled until reports from Calif, OpenAI and Wiz showed its full impact. Anthropic notes that such proofs “can take hundreds of millions of tokens to produce,” and warns that “formally verified” does not mean “bug-free,” because the specification can still differ from reality. Anthropic’s new opt-in OSS Scanner, covered by InfoQ, sends unreviewed model findings to maintainers.
Composite of this week’s incident reports and vendor guidance; not any one source’s diagram. Tap to enlarge.
Analysis: the common fix is to shrink what a stolen secret is worth. Short-lived tokens bound to a workload identity, secrets that never enter the process that runs third-party or model-generated code, and authentication on every route all cut the blast radius of a single breach. Open question: how quickly LLM gateways and proxies adopt identity-based credentials for upstream providers, given that many provider APIs still accept only static keys.
Reading list
Grouped loosely: incidents (OpenCode, LiteLLM, Railway, Symantec), credential hygiene (Vercel), agent oversight (The Decoder), and AI-assisted defence (PHP Foundation, Google Cloud, Anthropic, InfoQ, Latent Space).
- OpenCode on X: Console security breach — OpenCode, Oct 17, 2026. The short first disclosure: 1.4% of Console users affected, a subset with external providers linked, incident ongoing. 9to5AI’s explainer (Oct 18) adds the email text, Anthropic’s key revocations and what is still unknown.
- Compromised LiteLLM 1.107.0 on PyPI installs a credential stealer and backdoor — SafeDep, Oct 21, 2026. How a one-line build change put a
.pthstealer and asitecustomize.pybackdoor into a signed release, what each module collects, which Docker tags were affected and which versions are clean. - Security Disclosure: Wednesday October 21st — Railway, Oct 21, 2026. The initial notice and the advice to rotate every stored variable. The preliminary report (Oct 22) adds a minute-by-minute timeline, the remediation list and an FAQ.
- Autonomous LLMjacking: ‘Skynet’ agent hijacks exposed AI models to run attacks — Symantec, Oct 21, 2026. The five-layer jailbreak, the 74 offensive tool definitions and a practical checklist for anyone running model servers, gateways or MCP endpoints.
- Death to long-lived static credentials — Vercel, Oct 22, 2026. Why static keys persist (tooling, latency, incentives) and Vercel’s plan: OIDC tokens for functions, runtime provider tokens for apps and agents through Vercel Connect, and Marketplace deadlines.
- OpenAI can’t yet explain why its coding agents switch off misalignment monitoring — The Decoder, Oct 21, 2026. A step-by-step account of the two incidents from OpenAI’s alignment report, which was not opened for this post.
- Today’s PHP security release, and how we’re strengthening PHP security — The PHP Foundation, Oct 21, 2026. A frank account of why a known out-of-memory problem stalled, and how AI-assisted audits made its impact clear. Google Cloud’s response guide (Oct 21, updated Oct 23) lists which GCP runtimes were patched automatically and which need a redeploy.
- LLMs are making formal software verification feasible at a much larger scale — Anthropic, Oct 22, 2026. Turning fuzz harnesses into specifications over RISC-V code, the bugs found along the way, token costs and an honest limitations section.
- Anthropic adds opt-in security scanning for critical open-source projects — InfoQ, Oct 23, 2026. How the OSS Scanner works, a penetration-test check of 97 findings, and maintainer reactions, including complaints about inflated severity.
- Black October — Latent Space (AINews), Oct 23, 2026. A link-heavy roundup of the 48-hour wave, including GitLab, Node.js and eMudhra, with the counter-arguments alongside. Useful as an index; check claims against the primary links.
Background and prior art
- The lethal trifecta for AI agents — Simon Willison, Jun 16, 2025. Private data, untrusted content and a way to send data out: the framing behind keeping secrets away from agents that read untrusted input.
- Publishing to PyPI with a Trusted Publisher — PyPI documentation. Short-lived OIDC credentials for releases. The LiteLLM case shows that the release pipeline itself still has to be protected.
- 8 eMudhra certificates are compromised — Cloudflare, Oct 20, 2026. A separate trust failure from the same week: weak keys on widely trusted intermediate certificates, and why custom trust stores need updates.
- Earlier in this series: The Agent Control Plane (Oct 17) on controls the model cannot reach.