Issue

23 October 2026

2 min read · 1 Short

AI-found PHP flaws, the LiteLLM supply-chain attack, Recursive's Flint, Claude Duet. Then mixture of experts, .pth start-up code and memory-bound decoding.

AI & Tech

AI-found PHP bugs, LiteLLM hack, Flint, Claude Duet

AI-found PHP flaws, the LiteLLM supply-chain attack, Recursive's Flint, Claude Duet. Then mixture of experts, .pth start-up code and memory-bound decoding.

Video coming soon.

Premieres today.

Subscribe for the day's letter.

4 News

Security · AI-found bugs

GPT-5.6 Sol helps find critical PHP flaws

OpenAI says researchers at Calif used GPT-5.6 Sol to find a critical PHP flaw, while Wiz independently reported both vulnerabilities. PHP's maintainers led the fix, and OpenAI proposes a five-stage playbook for disclosing AI-found bugs.

AI models now find serious bugs in software that runs much of the web, so disclosure and patching have to scale at the same pace.

GPT-5.6 Sol helps find critical PHP flaws
Image: OpenAI · openai.com

Security · Supply chain

LiteLLM's release pipeline hijacked

LiteLLM, a popular gateway for AI models, says attackers hijacked its release pipeline. A poisoned version sat on PyPI for about two hours, stealing credentials. The likely way in: GitHub tokens leaked into the logs of LiteLLM's own internal deployment.

A widely used AI gateway shipped malware for hours: secrets that leak into LLM logs can become a way into the release pipeline.

LiteLLM's release pipeline hijacked
Image: LiteLLM · docs.litellm.ai

Models · Local coding

Recursive's Flint: 40B MoE coder, 2.5B active

Recursive released Flint, an open-weight coding model: forty billion parameters, only two and a half billion active per token, over a hundred and twenty-five tokens per second on an M4 Pro MacBook. Its automated research system helped build nearly every part.

An open-weight coder fast enough for a laptop means private, offline coding agents without API fees, and the model was largely built by automated research.

Recursive's Flint: 40B MoE coder, 2.5B active
Image: Recursive · recursive.com

Agents · Proactive

Anthropic previews Claude Duet, a proactive agent

Anthropic opened a research preview of Claude Duet, a proactive agent built around Claude Opus 5.5. It checks your connected apps every few hours, works in its own virtual machine, and asks approval before sending, paying, signing or deleting.

Agents that act on their own between prompts move the safety question to approvals, hard limits and what data may leave.

Anthropic previews Claude Duet, a proactive agent
Image: Anthropic · claude.com

3 Ideas

Idea · Mixture of experts

Mixture of experts: store a lot, use a little

Mixture of experts. A dense model uses every weight for every token. A mixture-of-experts layer holds many expert networks, and a router sends each token to just a few. Mixtral stores forty-seven billion parameters but uses thirteen billion per token. Flint goes further: two hundred fifty-six experts per layer, six chosen plus one shared, so two and a half billion active out of forty. Memory must still hold every expert; compute pays only for the active ones.

Shazeer 2017 · Mixtral paper · Flint card

StoredActive
DENSE 32B100100
MIXTRAL 8X7B10028
FLINT1006

Chart: own drawing · Jiang et al. 2024, Recursive

Weights used per token, % of stored

Idea · Python

Code that runs before yours: .pth files

Code that runs before yours. When Python starts, its site module scans site-packages for .pth files. Most lines just add folders to the path, but any line beginning with import gets executed. Then sitecustomize is imported. That's why LiteLLM warned: don't clean up with pip install, because pip is Python too, and the planted files run again. Python 3.15 deprecates those import lines in favour of explicit .start files.

Python docs, site module · PEP 829

Code that runs before yours: .pth files
Diagram: own drawing after the Python site docs

Idea · Inference

Local models are memory-bound

Why local models are memory-bound. To generate each token, the chip must read every active weight from memory. So a rough ceiling is bandwidth divided by bytes per token. An M4 Pro moves two hundred seventy-three gigabytes per second. A dense thirty-two billion model at four bits reads sixteen gigabytes: about seventeen tokens per second, at best. Flint reads about one and a quarter: a ceiling near two hundred. That's why Recursive quantized even its output layer.

Pope et al. 2022 · Apple M4 Pro specs · own estimate

Local models are memory-bound
Chart: own estimate from Apple's 273 GB/s spec

Credits

  • Image: OpenAI · openai.com
  • Image: LiteLLM · docs.litellm.ai
  • Image: Recursive · recursive.com
  • Image: Anthropic · claude.com
  • Chart: own drawing · Jiang et al. 2024, Recursive
  • Diagram: own drawing after the Python site docs
  • Chart: own estimate from Apple's 273 GB/s spec

Voice: synthetic (neural text-to-speech).

Scripts written from the linked sources.

4 News 3 IdeasNews and IdeasAI & TechAIcybersecurityvulnerability disclosureOpenAIGPT-5.6PHPLiteLLMsupply chain attackPyPIPythonRecursiveFlintlocal LLMopen weightsmixture of expertsMoEAnthropicClaude DuetAI agents.pth filessitecustomizeLLM inferencememory bandwidthquantizationApple M4 Pro

Also on 23 Oct 2026: Biology & Nature Mind & Society Physics & Engineering

Newsletter

The day's letter, by email.