$ cat anthropics/month/2026-10-01.log
the month in review · October 2026
Claude Code symlink TOCTOU allows arbitrary file write
By RepoJournal · composed from the cited sources · human-reviewed weekly · methodology
The month's security work spans both ends: that write primitive in Claude Code, and the sandbox-runtime and buffa hardening that followed it.
Arbitrary File Write via Write-Time Symlink Following (TOCTOU) in Claude Code anthropics/claude-code
Following a symlink at write time, rather than at check time, lets an attacker redirect a write Claude Code makes to any path the process can reach. Treat it as a local write primitive and audit anything that lets an untrusted tree feed paths into a session.
diff: the pane reads every file's hunks with one git process, where it started one per file anthropics/claude-code
The pane now starts one git process to read a change's hunks, where it started one per file; up to fifty processes after every tool call become one. The notes put the payoff where starting a process is slow, as on Windows, where one failure or timeout replaces up to fifty.
linux: one mount per destination, so bubblewrap 0.4 starts anthropics/sandbox-runtime
Different spellings of one file, a trailing slash, a symlinked directory, or a denyRead entry that is also a credential mask, each put a file mask at the same destination, and bubblewrap 0.4 takes only a regular file as a mount point. Dropping to one mount per destination is what lets 0.4.0 and 0.4.1 start at all.
security-guidance: follow the newest Opus instead of a pinned release anthropics/claude-plugins-official
The security-guidance plugin reviewed with a hardcoded `claude-opus-4-7` and fell behind with each Opus release until someone bumped it by hand. It now follows the newest Opus and moves to the next one on release, so its review quality tracks the model without a config edit.
v1.12.0 anthropics/anthropic-sdk-python
by stainless-app[bot]
The Python SDK adds `claude-haiku-5-5` and typed computer and browser toolset tool calls, which replaces hand-built payloads with checked types. The Java SDK picked up the same model in its own release, so both clients move together.
descriptor: bound what reflective JSON parsing materializes anthropics/buffa
`DecodeOptions` never reaches a serde `Deserializer`, so the reflective JSON parser had no budget at all while the serialize side had `descend()`. Bounding what parsing materializes closes that gap for anyone decoding untrusted descriptor JSON.
ci: pin GitHub Actions and the conformance tools image to specific commits (#479) anthropics/buffa
Workflow steps referenced GitHub Actions and the conformance tools image by short name, and those names can be pointed at different code later; the input counts two security vulnerabilities. They are now pinned to specific commits, which is the same argument as the Claude Code breakage above, applied to the build.
v2.1.316 anthropics/claude-code
Alongside: Claude Code added `CLAUDE_CODE_DISABLE_ULTRATHINK` to turn the `ultrathink` keyword off, and pooled group budgets on the Claude apps gateway let a group share one monthly budget on top of each member's own limit.
$ ls anthropics/month/ # the briefings behind this review
Keep up with Anthropic in about 3 minutes: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
fair warning: these emails are deeply technical. diffs, version numbers, CVEs, benchmark deltas. if that's not your idea of a good read, this isn't your newsletter.
Folds into your digest — weekly by default, monthly if you prefer. Unsubscribe in one click.