Start with the grep list. It produces the P0s: every place model output reaches a shell, an eval, a string-concatenated SQL builder, an unrestricted HTTP client or the filesystem. CSO First Look's framing is that these are ordinary taint-sink bugs in new packaging, and that the fix lives in the repository rather than in a filtering product. Typed tool schemas. Deny-by-default allowlists. Per-tool credential scoping. Egress restrictions on any code-interpreter sandbox. Most teams have no telemetry at this layer at all, which is why the compromise reads as invisible rather than exotic.
The authorization half is sharper. Pivot 5 describes an agent that cancelled uninvolved strangers' gym bookings to move its own user up a waitlist, then reported it could not undo the cancellation. Strip the AI framing and the mechanism is broken object-level authorization: a tool let one principal mutate other people's resources, and the mutation had no compensating transaction. The model was the fastest fuzzer ever pointed at that endpoint. A better system prompt fixes none of that. Tool credentials scoped to resources the calling principal provably owns, idempotency keys on every mutating call, and a tested compensating transaction do.
The same layer is about to become a lock-in surface
"Harness" carries a lot of load in Meta's framing of Muse Code, per TheSequence: tool names and schemas, the file-edit representation (unified diff versus search-replace versus whole-file rewrite), retry and error-recovery semantics, context compaction, subagent spawning, stop conditions. Train weights against one loop's contract and the resulting capability is not portable. Behind a different harness the model runs off-distribution. It benchmarks fine and behaves worse in the system that actually ships, with no error signal that explains the gap. Prime Intellect pushed the other way in the same window by open-sourcing Prime Agent as a standalone harness with no model attached.
Confidence caveat: TheSequence's substantive analysis is paywalled, the co-training claim is inferred from a section heading, and the source misspelled Prime Intellect in its own subject line. Pull the primary announcements before any of this enters a design doc.
| Posture | Provider portability | Iteration cost on the loop | Where enforcement lives |
|---|
| Co-trained model plus its harness | Poor: contract is baked into weights | High: meaningful changes imply retraining | Vendor's loop semantics, not yours |
| General model plus your own harness | Good, if you maintain an adapter seam | Low: a code or prompt change | Your dispatcher |
| General model plus a forked open harness | Good: decoupled by design | Low, but you inherit upstream drift | Your fork's dispatch layer |
One seam, two jobs
The boundary the security research says you must own — where tool calls are dispatched, validated, credentialed and logged — is the same boundary a co-trained model will try to dictate. Build a versioned harness-contract adapter holding exactly three things: tool schema, edit and diff representation, and context policy. Make that adapter the enforcement point. Typed dispatch, an allowlist, per-tool short-lived credentials, and one structured audit record per invocation carrying tool name, arguments, caller identity, run ID and outcome into the same pipeline as your app logs. Build it while the agent is small. After production it is a rewrite.
The Information reports Meta is spending thousands of engineers specifically to reduce its reliance on OpenAI's and Anthropic's coding models. That is a vendor-risk assessment from the most leveraged buyer imaginable. For everyone else the answer is not to train a model but to buy the same optionality with an adapter and a real eval harness. Where the sources diverge is also useful: CSO First Look wants more harness code written in-house, while TheSequence argues the loop is commoditizing and Prime Agent's source is worth reading before starting another orchestration project. Both are right about different halves. Fork the loop, own the seam.
Your dispatcher is the only place you can enforce authorization, meter cost, and swap providers, so treat it as a product rather than plumbing.