← AI Feed
AI Feed

Ruby fixed it and asked for no CVE

Ruby patched the regular-expression bugs behind four GitLab CVEs and requested no identifier of its own. A week of agent-only building moved what every role on the team did. And 17 per cent of firms can list the AI they run.

How we Organise

The product person committed more feature code than the engineers

Rachel Laycock is Thoughtworks’ chief technology officer. She describes a week her colleague Giles Alexander ran with senior engineers, infrastructure consultants and product people. No human wrote any code. Agents built everything, and the team got an airline application about 80 per cent done. Roughly two thirds of the team’s time went into working out the domain and drawing boundaries. A third went into the harness the agents ran against. The product person committed more feature code than anyone else.

We tell clients that a role has changed when the work inside it changes, whatever the title still says.

A role changes when its content changes, not when its title does.

Every title on that team stayed put while the content of each one moved. Laycock ran the week twice, with different teams, and both times the application ran while the build went red often. She gives no measurement behind the split beyond the team’s own estimate, and one firm running one kind of experiment twice is not a result about the market.

How we Build

The bug was in Ruby and all four identifiers name GitLab

GitLab’s CVE-2026-97229 lets an unauthenticated user run code on a GitLab server, reached through a crafted regular expression in a CI/CD configuration. It is scored 10.0. CISA added it to the exploited list on 29 October, with a remediation date of 1 November. Ruby’s advisory of 23 October says the underlying faults sit in Onigmo, its own regular-expression engine, and that Ruby 4.0.9, 3.4.12 and 3.3.13 carry fixes for four GitLab identifiers. Ruby asked for none of its own. It tells anyone tracking this in a scanner to use GitLab’s.

We hold that a dependency view is worked out from what the registers say rather than kept alongside them.

The dependency graph is derived from what the firm’s registers declare, or, where no register declares it, from source and documentation by a stated method checked against a stated reference, and carries the blast radius of a change, the order things must be upgraded in, and the firm’s concentration on any one component.

Work this one out from the registers and it names GitLab. Ruby says the fault is reached whenever an application compiles a pattern an attacker controls, which makes the blast radius every such application and the upgrade order Ruby first. Ruby adds that a timeout does not protect against these bugs, and that a length limit does not reliably protect either, so both obvious local mitigations are ruled out upstream rather than by the scanner. A firm with no Ruby loses nothing. This is the second source this autumn to strain that view. In September Cloudflare could not say where its own cryptography sat. Searching for algorithm names both overcounts and undercounts. Read the register the other way round and write to transform@dromologue.ai.

How we Assure

Seventeen per cent of firms can list the AI they are running

Wiz published a survey summary on 30 October. It asked 100 senior IT and security decision-makers, and 17 per cent of them keep a comprehensive and current inventory of their AI assets. Fifty-five per cent run autonomous agentic systems and 31 per cent run more than 25 distinct AI systems in production. Over the past year 52 per cent found unauthorised AI applications inside their perimeter, and 9 per cent can detect one by no means at all.

We ask for a register entry before an agent runs, carrying what it is for, what it may reach and who owns it.

Every agent is registered before it first runs, with its purpose, its permissions and an identified owner.

The practice is better evidenced than it was, because the survey puts a number on how few firms meet it while most already run the thing it governs. Two sources already strained this practice in August, both on one point: a credential can satisfy the test while the state governing it moves after issue. The sourcing here is thin. The page shows that by what it leaves out: 100 respondents, no field dates, no instrument, no geography, no sector and no per-question denominators, published by a vendor selling AI security products. The concern figures sum past 100, so they are multi-select, and the page does not say so.