Latest / Braid / Mostly-work, malicious npm, and one engineer replacing a law firm
Transcript
- 0:04Simon Willison gave a five-minute lightning talk at PyCon US yesterday — six months of large language models in five minutes — and the annotated writeup hit the top of Hacker News overnight with five hundred and twenty-eight points.
- 0:20I'd start there if you haven't seen it.
- 0:22He frames the whole period around what he's calling the November 2025 inflection point, and I think he's right.
- 0:30Two things happened in November.
- 0:32First, the supposedly-best model changed hands five times in one month.
- 0:37Claude Sonnet 4.5 went in, then GPT-5.1, then Gemini 3, then GPT-5.1 Codex Max, and Anthropic took the crown back with Claude Opus 4.5.
- 0:47A lot of leapfrogging for one month.
- 0:49But the second thing matters more.
- 0:51Simon's words: the coding agents got good.
- 0:54OpenAI and Anthropic had spent most of 2025 running Reinforcement Learning from Verifiable Rewards — RLVR — paired up with their Codex and Claude Code agent harnesses, and in November the curves crossed.
- 1:09He puts it plainly: coding agents went from often-work to mostly-work.
- 1:13You could daily-drive them without spending most of your time fixing their stupid mistakes.
- 1:20He illustrates the whole thing with his pelican-riding-a-bicycle test, which I love because it's deliberately ridiculous and no AI lab is ever going to train for it.
- 1:31Sonnet 4.5's September pelican is a mess.
- 1:34Opus 4.5's pelican two months later is clean.
- 1:37Gemini 3 drew, in his judgment, the best pelican of the lot, with a fish in its basket.
- 1:43Then Google's Jeff Dean tweeted an animated pelican on a bike, a frog on a penny-farthing, a giraffe in a tiny car, and a turtle kickflipping a skateboard.
- 1:54So maybe the labs are paying attention to the silly tests after all.
- 1:59November also kicked off the Claws era.
- 2:01There's a project that started as some obscure repo called Warelay, by some guy called Pete, first commit at the end of November.
- 2:10By February it was called OpenClaw, and it was a personal AI assistant — a Claw — running on local hardware.
- 2:18Mac Minis started selling out in Silicon Valley because people were buying them to run their Claws.
- 2:25Simon's friend Drew Breunig joked that it's because a Claw is the new digital pet, and a Mac Mini is the perfect aquarium.
- 2:33The other half of the six-month story is the open-weights side.
- 2:38Google released the Gemma 4 series — the most capable open-weight US models Simon has seen.
- 2:44And then Chinese lab GLM put out GLM-5.1, an open-weight one-and-a-half-terabyte monster, which is excellent if you can afford the hardware to run it.
- 2:54He had it draw a North Virginia opossum on an e-scooter, captioned cruising the commonwealth since dusk — and the thing animated.
- 3:03Other models he tried didn't even come close.
- 3:07I keep meeting senior engineers who think nothing happened over the holidays.
- 3:12Something happened.
- 3:13The agents got reliable enough to use as a daily driver, and the laptop-class models started running over expectations.
- 3:21Those are the two themes.
- 3:23If you've been on the sideline for six months, today is a good day to spend ten minutes on Simon's slides — linked in the show notes — and then go look at your agent setup again.
- 3:36Speaking of agent setups — there's a supply-chain story today that anyone running Claude Code or Codex needs to know about.
- 3:44SafeDep published the writeup.
- 3:47Headline: an npm maintainer account called atool was compromised early this morning Coordinated Universal Time, and the attacker pushed six hundred and thirty-seven malicious versions across three hundred and seventeen packages in twenty-two minutes.
- 4:05The affected packages aren't obscure.
- 4:07Size-sensor, four point two million downloads a month.
- 4:11Echarts-for-react, three point eight million.
- 4:14Timeago.js, one point one five million.
- 4:17Most of the at-sign antv scoped packages — antv slash scale, two point two million a month.
- 4:24Combined reach is somewhere north of fifteen million monthly downloads.
- 4:29If you have caret-three-point-zero-point-six in your package.json for echarts-for-react, an install today resolves to a malicious version, because npm picks the highest version matching the range no matter where the latest tag points.
- 4:46The attacker didn't even bother moving the latest tag, because they didn't have to.
- 4:52The payload is what makes this one different.
- 4:55SafeDep is calling it Mini Shai-Hulud, and it matches the toolkit from the SAP compromise three weeks earlier — same scanner architecture, same regex set, same hex-variable obfuscation, and the same one-hundred-kilobyte flush threshold.
- 5:12It harvests the full credential chain: AWS environment variables, EC2 instance metadata, Elastic Container Service container metadata, Secrets Manager, Kubernetes service account tokens, HashiCorp Vault tokens, GitHub personal access tokens, npm tokens, SSH keys, Stripe keys, Slack tokens, database connection strings, and the local password manager vaults — 1Password, Bitwarden, pass, and gopass.
- 5:40In continuous integration, it exchanges GitHub Actions OpenID Connect tokens for npm publish tokens and re-signs artifacts via Sigstore with the stolen identity.
- 5:52It tries to escape Docker containers via the host socket.
- 5:56Routine for this category of malware now.
- 5:59What's new — and listen for this if you're running an agent in any kind of automation — is the AI agent persistence.
- 6:07The payload injects SessionStart hooks into your dot-claude slash settings.json file, so every Claude Code session re-executes the malware.
- 6:17It does the same for Codex hooks.
- 6:20And it drops a VS Code tasks.json with run-on folder-open, so the moment you open the infected project in VS Code, the loader runs.
- 6:29Then it installs a systemd user service on Linux, or a macOS LaunchAgent called kitty-monitor, which polls GitHub's commit search API every hour looking for RSA-signed commit messages with the keyword firedalazer, decrypts the command, and runs whatever the attacker uploaded.
- 6:49Persistent command and control over GitHub commit messages.
- 6:53Cute.
- 6:54Exfiltration runs through two channels in parallel.
- 6:58One is GitHub itself — the payload creates public repos under the compromised account, with Dune-themed names drawn from a hardcoded vocabulary: sardaukar, mentat, fremen, atreides, and harkonnen, paired with sandworm, ornithopter, melange, or heighliner, plus a random three-digit suffix.
- 7:19The repo description, reversed in the source, reads Shai-Hulud: Here We Go Again.
- 7:24Stolen credentials get committed as Git blobs.
- 7:28The second channel is an HTTPS post to t dot m-kosche dot com slash api slash public slash otel slash v1 slash traces, dressed up as an OpenTelemetry trace ingest, so it slides past most network rules.
- 7:42A few takeaways.
- 7:43One: this is the second Shai-Hulud variant in three weeks.
- 7:47Same tooling, different propagation vector.
- 7:51The actor has a kit and is iterating.
- 7:53Two: lockfile-only installs won't save you on this if your range was already loose — semantic-version ranges are the attack vector.
- 8:03Three: if you're running agent hooks at all, treat your dot-claude and your dot-codex and your dot-vscode directories the way you treat package.json.
- 8:13Anything that runs on session start is now part of your credential surface.
- 8:19SafeDep is recommending Package Manager Guard with a cooldown that refuses any version published inside a configurable window — which is the right shape of defense against bursts like this.
- 8:32And four: if you opened a project that pulled one of these packages today, on a developer laptop, your SSH keys and your GitHub personal access token are already at a Dune-named repo somewhere.
- 8:46Rotate everything.
- 8:47Prime Intellect — the distributed-training people — dropped a thing called General-Agent yesterday.
- 8:53Their pitch in one line: the next step toward automating AI is automating reinforcement-learning environments.
- 9:00The artifact is a fully synthetic environment whose task corpus self-evolves and grows harder over time.
- 9:07Current scope: four thousand five hundred and four tool-use tasks, one thousand and forty domains, and eight thousand one hundred and fifty-nine unique tools.
- 9:17Worth a beat on why this matters.
- 9:19The bottleneck for the last year of post-training has been environment coverage.
- 9:24If you want a model that's good at booking flights, you need a flight-booking environment with verifiable rewards.
- 9:32If you want it good at editing pull requests, you need a pull-request-editing environment with verifiable rewards.
- 9:39Building those environments by hand is the actual job inside an RL post-training team — way more headcount than the algorithm work.
- 9:47Anthropic and OpenAI have large internal teams doing exactly this.
- 9:52Prime Intellect is claiming they can generate them.
- 9:55I'm holding skepticism here.
- 9:57Synthetic environments are easy to generate at low quality and very hard to generate at the quality where a model actually learns durable skills from them.
- 10:07The graveyard of synthetic-data approaches in supervised fine-tuning is enormous.
- 10:12The pelican-on-a-bicycle test exists precisely because nobody trains on the silly thing — meanwhile, the things models excel at are the things with the cleanest hand-built training environments.
- 10:24So a self-evolving task corpus that grows harder over time is exactly the right ambition, and exactly the place where the gap between demo and durable signal is biggest.
- 10:35What would change my mind: someone outside Prime Intellect producing a fine-tune on General-Agent that beats a comparable hand-curated environment on a known agent benchmark — SWE-bench, WebArena, or something with teeth.
- 10:49That's the falsifiable claim.
- 10:51If the synthetic environment works, you get a small open lab keeping up with the big labs on agentic skills, and the post-training advantage that Anthropic and OpenAI have built mostly through environment engineering loses some of its scarcity.
- 11:07If it doesn't — and most announcements of this shape don't, on the timescale of three to six months — we'll look back at General-Agent as another reminder that environments are the bottleneck.
- 11:19Either way, the framing is right.
- 11:21Whoever can automate the production of high-quality reinforcement-learning environments owns the next round of post-training.
- 11:29That's the prize.
- 11:30Eoin Mulgrew, who works on the Number 10 data science team in Downing Street, gave a talk at AI Engineer this week called Rewiring the State.
- 11:39It's the most concrete account I've seen from inside any government of what it actually takes to ship AI into public services.
- 11:48The headline story is this.
- 11:49The Cabinet Office was about to spend one and a half million pounds on an outside law firm to analyze the United Kingdom statute book.
- 11:58He uses a great visual — the statute book printed out is roughly four African elephants tall.
- 12:04One engineer from Mulgrew's team embedded with the in-house legal team for two weeks instead, and built a tool that does the analysis on demand.
- 12:13The tool now lives with the legal team.
- 12:16They run it whenever they want.
- 12:18Mulgrew uses this as a typical example, not a headline one.
- 12:21The shape of the team is what makes it interesting.
- 12:25They're a small, deliberately insurgent unit at the center of government, with political cover to do things the rest of Whitehall can't move fast enough to do.
- 12:35They recruit exclusively outsiders — Y Combinator founders, big-tech engineers, and research-lab people — at roughly a zero-point-seven percent acceptance rate.
- 12:45He's explicit about why they don't recruit internally: people who've been inside the civil service for a long time tend not to leave when their fellowship ends, and the whole point of the fellowship is to seed new permanent teams elsewhere in government.
- 13:01So they take outsiders, embed them for a year or two, then send them out to start parallel teams.
- 13:08Two examples he names: the Incubator for AI inside the Department for Science, Innovation and Technology, and Just AI inside the Ministry of Justice, run by a former fellow named Dan James.
- 13:20Just AI is embedding engineers with prison wardens and parole officers, focused on drug interdiction and prison safety.
- 13:27There's a current fellow named Will, a Harvard dropout and Y Combinator founder, currently working out of HMP Wandsworth.
- 13:35The delivery model is forward-deployed engineering, applied to a state.
- 13:40They place an engineer into a policy team, a legal team, a comms team, or an operations team, and they go from idea to live in two or three weeks.
- 13:49Mulgrew points out that the typical government timeline is a year-plus in discovery before anyone writes a line of code.
- 13:57Their record case at the time of the talk was two and a half weeks from idea to a new public service launched by the Prime Minister at London Tech Week — a tool called Extract, built with DeepMind on Gemini, that digitizes planning applications including handwritten maps.
- 14:14It's rolling out to every English local authority.
- 14:17The numbers Mulgrew names give you the scale of the problem.
- 14:21Seven and a quarter million people on National Health Service waiting lists.
- 14:26Three hundred and fifty thousand court cases stuck in backlog.
- 14:30One in five planning applications decided on time.
- 14:33The Tony Blair Institute estimate is forty billion pounds a year in achievable productivity gains.
- 14:40The civil service is four hundred thousand people, only about thirteen percent of whom are policymakers; the rest is operational.
- 14:48There's a line in the talk I want to keep.
- 14:51Talking about recruitment, he says, and I'm quoting: we do want to recruit missionaries, not mercenaries — a paycheck is not going to get you out of bed when stuff gets hard.
- 15:02I think that's right, and I think it's the differentiator.
- 15:05The team is paid at market rates, which makes the offer real, but the thing they're selling is mission.
- 15:12Working on the decisions that go across a minister's desk isn't a normal job offer.
- 15:17If you're an engineer somewhere else in the world watching this, thinking the same model could work where you are — Mulgrew's answer in the Q and A was, basically, yes, and someone should go do it.
- 15:30Small detail with large implications.
- 15:32There's a credible-but-unconfirmed claim circulating today, posted by the account Tech Dev Notes — about ninety-two thousand views, four hundred and seventy-three likes — that Cursor's Compose 2.5 model was trained at xAI's Colossus 2.
- 15:47If that's right, it's the first time we've publicly seen an editor-layer company rent frontier-scale training infrastructure from a frontier lab.
- 15:56Cursor has been training its own tab-completion models for a while, and Compose was their swing at a serious autocomplete-grade coding model.
- 16:05Doing it on Colossus 2 — which is the xAI supercluster — puts the compute behind that model in a different tier than what you'd assemble on a hyperscaler in a hurry.
- 16:16Why this matters.
- 16:17The default assumption a year ago was that companies in the application layer would build small specialized models on top of someone else's API and wouldn't train anything serious themselves.
- 16:29The Cursor-on-Colossus story breaks that assumption two ways.
- 16:33First, if you're a category-leading product, you can buy the compute.
- 16:37xAI is selling.
- 16:38Second, the labs are now in the position of competing with their own customers — Anthropic and OpenAI both ship first-party coding agents, and Cursor is at minimum a frenemy.
- 16:49xAI selling Cursor cluster time is an unusual shape, and it's worth watching.
- 16:54I don't have confirmation from either Cursor or xAI on this — it's a single tweet from a generally accurate account, and I'm taking it at that weight, not as established fact.
- 17:05If it holds up, the read is that the application layer is starting to spend real money on training, and the lab whose business most centers on selling compute to third parties is xAI.
- 17:16That second observation might end up mattering more than any of the model-release news this month.
- 17:22What would change my read: an actual Cursor blog post saying who trained where, or a denial from either party.
- 17:29If Compose 3 lands trained somewhere else, the shape resets.
- 17:33Ethan Mollick at Wharton — the Co-Intelligence author — has a one-line observation that's been chewing on me.
- 17:40Posted yesterday, three hundred and one likes, modest reach for him.
- 17:43He writes: one trend that I think you might start to see at big companies is insourcing via hiring — why pay so many outside vendors, legal, marketing, software vendors, when you can hire in-house and harness AI productivity gains yourself?
- 17:57Talked to executives already going this route.
- 18:00Let me take it seriously.
- 18:01The vendor economy works because vendors are specialists, they amortize their tooling across many clients, and they're cheaper than the equivalent in-house function.
- 18:11AI changes both sides of that calculation.
- 18:13The in-house function gets dramatically more productive with agents in the loop — a single in-house lawyer with a Harvey-class tool may now cover what used to take a four-person Cravath team.
- 18:24So the cost gap that justified the outside contract narrows.
- 18:28At the same time, the vendor's specialist edge erodes, because the agent has roughly the same baseline expertise the vendor was selling.
- 18:36If the pattern Mollick is hearing about catches on, the high-margin professional services get hurt first.
- 18:42That means outside counsel for routine legal work, mid-tier marketing agencies, and the categories of software vendor where the value is mostly integration and customization.
- 18:52Each of those used to be hard to bring in-house because the talent was specialized and expensive.
- 18:57The talent is still specialized; it's the leverage that changed.
- 19:01The interesting second-order question is what this does to consulting and contracting inside software itself.
- 19:07If a Fortune 500 can hire two senior engineers and run them with Claude Code or Codex, do they still need the Accenture engagement?
- 19:15Maybe — the relationship management and the accountability shield around a big consulting firm still pay for themselves.
- 19:22But the labor arbitrage is gone, because the in-house pair-with-agents stack is now competitive on throughput.
- 19:28I'm flagging this because it's a builder story too.
- 19:31If you're a senior engineer at a non-tech company, the leverage you have inside that org just changed shape.
- 19:38The thing your chief information officer was outsourcing because in-house couldn't ship fast enough is now a thing you can ship in-house and probably should.
- 19:47That argument used to feel like ideology.
- 19:49With agents in the loop, it's becoming a budget conversation.
- 19:53Guillaume Vernade from Google DeepMind gave a talk at AI Engineer called Let's Go Bananas with GenMedia, and what he actually does on stage is run an entire generative-media pipeline live against a public-domain book.
- 20:06Pull it apart, because it tells you where the gen-media stack actually sits in May.
- 20:11The chain.
- 20:12Gemini reads Kenneth Grahame's Wind in the Willows end to end in one shot — the model has a two-hundred-thousand-token context — and writes structured prompts for each chapter and each character.
- 20:25Nano Banana 2, the new image model, generates portraits and scene illustrations.
- 20:30Veo, the video model, animates the scenes using the generated images as first frames.
- 20:35Lyria composes a different piece of music for each chapter, with or without lyrics.
- 20:40And Gemini's text-to-speech reads the dialogue using a trick Vernade demonstrates where two voices played simultaneously create the perceptual illusion of four distinct characters.
- 20:52The whole pipeline runs for roughly one US dollar per book.
- 20:55The cost breakdown is the part I keep coming back to.
- 20:59Veo 3.1 Light, which Google shipped last week, prices at five cents per second of video.
- 21:04An eight-second clip is forty cents.
- 21:07The image and music and text-to-speech pieces are essentially rounding error against the video cost.
- 21:13That's a real price drop.
- 21:14A year ago, generating five minutes of bespoke animated video, with original music per chapter, was an industrial pipeline.
- 21:22Now it's a dollar and a script.
- 21:24Two pieces of API news to flag.
- 21:26The first is the Interactions API in preview — server-side context caching with about a two-day session time-to-live.
- 21:34You upload your book once, get an interactions identifier back, and reuse that identifier across all subsequent calls without re-uploading anything.
- 21:43Vernade expects this to become the default at the next input-output keynote, and it should — the current chat-mode pattern of re-sending the full context on every call is wasteful once you're calling at production volume.
- 21:57The second is Lyria Real Time, which is a prediction-based music model — not diffusion — that generates music continuously, like a disc jockey mix, with about a two-second latency for prompt updates.
- 22:09You can change the mood mid-track.
- 22:12That's a different shape of music model from the static-clip pattern most developers are used to, and it suggests where the music tools are heading: live, steerable, and callable from an agent loop.
- 22:24The pricing tiers also tell you something.
- 22:27Google now sells three tiers on the Gemini API: normal, a flex tier at fifty percent off in exchange for two-to-five-minute delays, and a priority tier at twice cost for fast-track.
- 22:38That's the airport-priority-lane move, and it's interesting because it lets you dial throughput against latency against price at API call time.
- 22:47Most agent workflows can tolerate flex.
- 22:50Most user-facing chat needs priority.
- 22:52I'd expect the other labs to copy this pattern within a quarter.
- 22:56Vernade had one moment I think every developer-advocate would recognize.
- 23:01He said his role internally is advocating for developers, trying to bring common sense to the internal teams and making sure what they release makes sense in the real world.
- 23:12Then he half-joked that he won by default on pushing unified APIs — meaning the model teams used to each ship their own API surface, and he kept pointing out that a developer should be able to swap a model name and have it work.
- 23:26He's right, and it's a sign of how the lab-versus-platform tension inside the big labs gets resolved one decision at a time.
- 23:34While we're on practical builder material — Daniel Griesser, who works at Sentry, posted his pi-config repo today.
- 23:41It isn't a framework.
- 23:42It's a few skill files and subagent definitions that he uses with Claude Code and Solo for larger tasks, and he's open about not wanting people to copy it one-to-one.
- 23:53His phrase: don't copy, get inspired.
- 23:55The three pieces he calls out.
- 23:57A Plan skill — a SKILL.md file the agent reads when it's working on a larger task, that tells it how Daniel wants planning to happen.
- 24:06A handoff skill that defines how an agent should pack up state when it's running out of context window and a fresh agent picks up.
- 24:14And a subagents directory where each subagent is a discrete role with its own instructions.
- 24:20The pattern is more interesting than the contents.
- 24:24We're maybe nine months into the era of agent skills as a first-class artifact — Anthropic shipped them at Code with Claude last fall — and what's converging is that experienced operators are putting their planning and handoff conventions into skill files and treating subagents as named roles, not as ad-hoc spawned workers.
- 24:45That's a real architectural choice.
- 24:47The framework-versus-skill-file debate is leaning toward skill files because they survive model upgrades better — a SKILL.md is just markdown, and when Opus 4.6 ships, your skill file still works.
- 25:00A framework that wrapped a specific tool-use protocol has to be rebuilt.
- 25:04The other thing happening in Daniel's repo is the integration with Aaron Francis's Soloterm.
- 25:10Soloterm is a terminal multiplexer designed for working with agents, and Daniel built a Pi extension that lets his existing subagents drive Soloterm sessions.
- 25:20The pattern: you're not building one agent, you're building a small team of agents with a shared terminal substrate, and the work of the senior engineer is the orchestration and the skill files.
- 25:33If you've been on the fence about whether to write your own SKILL.md files for your team, Daniel's repo is the cleanest worked example I've seen.
- 25:42Link in the show notes.
- 25:44I'd read the Plan and handoff files first — those translate easily into your own context.
- 25:50A sober beat to close on.
- 25:51Two computing pioneers gone in the same week.
- 25:54Peter Neumann died Sunday evening at the hospital in Santa Clara, age ninety-four — complications from a fall and surgery a few weeks earlier.
- 26:02His daughter Hellie was with him, and they were listening to classical music together.
- 26:07The news came via Robert Watson on the Multicians mailing list, forwarded to The Unix Heritage Society by Dan Cross.
- 26:14Neumann was at SRI for half a century.
- 26:16He ran the RISKS Digest from nineteen eighty-five — the comp-dot-risks moderated newsgroup that catalogued the failures of computer-based systems and shaped how a generation of security and reliability researchers thought about the discipline.
- 26:30He worked on Multics.
- 26:32He wrote Computer-Related Risks in nineteen ninety-five, which is still the book to hand a new engineer who needs to understand why a software system can hurt people.
- 26:41He was a serious musician — piano and French horn — and you can read the tributes on his SRI page if you want a sense of who he was beyond the work.
- 26:50Peter Salus died on May fifteenth.
- 26:52Dan Cross broke the news on The Unix Heritage Society list yesterday.
- 26:56Salus wrote A Quarter Century of Unix in nineteen ninety-four, which is the canonical history of Unix from the early Bell Labs days through the workstation era.
- 27:05If you've ever read about the Unix wars, the BSD lineage, the AT&T lawsuit, or the rise of Linux — Salus is the historian who pieced it together while most of the protagonists were still alive to be interviewed.
- 27:18Both were of the generation that built the substrate everything we do today sits on.
- 27:23Neumann was telling the security community about supply-chain risks decades before npm packages existed — and the SafeDep writeup we covered earlier is, in a real sense, the kind of incident his RISKS column would have catalogued and helped you understand.
- 27:38Salus made sure we remember how we got here.
- 27:40If you're a senior engineer and you've never read Neumann's Computer-Related Risks or Salus's A Quarter Century of Unix, the reading list just got longer.
- 27:49That's the show.
- 27:50The Vatican's first encyclical from Pope Leo XIV — Magnifica humanitas — is confirmed for May twenty-fifth.
- 27:56We said last week we'd cover it on the day and we will.
- 28:00Google opens its input-output keynote tomorrow morning, and Gemini Spark — their consumer personal-agent product — is the headline thing.
- 28:08If it ships and it's good, the consumer-assistant fight reopens.
- 28:11If it slips, it slipped.
- 28:13Either way we'll know by lunchtime.
- 28:15— Lenar Kess.