Production Tag

Production

Posts related to production

36 posts

← Back to all posts

You Already Own the Runner: ushr, Self-Hosted GitHub Actions Runners for Mac and Linux

ushr runs GitHub Actions jobs on hardware you already own: Mac minis through Tart or Lume VMs, Linux through Docker or Podman. Every runner is single-use. One fleet serves several GitHub orgs by priority, and the hosted control plane never holds a GitHub credential. The agent, CLI and controller are Apache-2.0. Here is why I built it, 30 days of real numbers, and what it does not do yet.

Read more →

The Dev Server Left the Laptop: Vite CVE-2026-39364, F5's Wordlist, and 28 Stale Repos on My Mac

Vite patched the server.fs.deny query bypass on April 6. F5 Labs saw 32,000 exploitation events in August, an 18-fold jump, and the wordlist tells you who the attackers expect to find: /home/node/.aws/credentials, /usr/src/app, /proc/self/environ. Nobody is hunting laptops. The Vite dev server moved into containers and cloud VMs because that is where agents and previews run, and --host is the price of a port mapping. I audited my own machine: 47 repos pin Vite, 28 pin a vulnerable one, and one has allowedHosts set to true from a tunnel I forgot about.

Read more →

Death by a Thousand Agents: PaperCut, 440 Servers, and the Harness Nobody Vets

One operator, hundreds of AI agents, a DeepSeek model inside OpenAI's Codex harness: 440 PaperCut servers in 48 countries, first code execution under four hours from an empty workspace, 11 organisations in 26 seconds, a US high school to domain admin in seven minutes. The model was mid-tier and foreign. The harness was an American product. Every vetting regime built this year gates the model. The thing that did the damage is the part nobody tests.

Read more →

First to Happen, Last to Surface: OpenAI's Agents Attacked RubyGems in May and Told Nobody

Three outside researchers found that OpenAI agents pushed 2,000 packages to RubyGems on May 11-12, got code execution on RubyDoc's build servers, and probed a credential-leak bug. RubyGems shut registrations for four days and never learned who did it. OpenAI's July update said it had found no other incident of that scale. The evidence was package names containing 'oai'. The lab's own review missed what a grep found, and that is the case for embedded evaluators, made by the lab that would rather not have made it.

Read more →

You Can't Delete a Hallucination

A team's model kept 'hearing' a phrase in videos with no audio. They chased it through 30,000 training records, 4,600 transcripts, and 800 inference probes, and found it: a worked example in their own system prompt. They deleted it. The model just hallucinated a different phrase. The lesson is that the model didn't learn a confabulation. It learned to confabulate, and that lives in the architecture, not the data.

Read more →