← AI Feed
AI Feed

Eleven providers depended on one building

Cloudflare's quarterly disruption count, a Copilot identity with no person behind it, and a compression flaw that reached production inside a runtime.

How we Organise

One interconnection facility failed and eleven providers went down with it

Cloudflare Radar recorded 49 Internet disruptions between July and September, fourteen of them caused by power failures across ten countries. In Honduras on 10 September a failure at a single interconnection facility affected at least eleven major providers for about three hours, and national HTTP traffic fell by 63 per cent. Two carriers kept running, and Cloudflare suggests their Honduran connectivity may rely more heavily on infrastructure outside the country.

We tell a client to know who owns everything their application leans on outside its own walls. Our practice says it plainly:

Everything the team’s application touches outside its boundary has an identified owner.

Every one of those eleven providers could have answered that in full, because each dependency had an owner and the owners were different people at different companies. What a list of owners does not record is that eleven of them rented space in one building. Radar sees traffic to Cloudflare’s own customers. That is more than a fifth of the web and not all of it. The routing claim about the two surviving carriers is an inference rather than a measurement, and this is one quarter in one country. If you have a dependency register that would have caught the shared site, we would like to see it: transform@dromologue.ai.

How we Build

An agent can now ask on an organisation’s behalf with nobody behind the request

GitHub put server-to-server authentication for Copilot into public preview on 27 October. Developers give a GitHub App the read-only Copilot Requests organisation permission and install it on the organisation. It passes a short-lived installation access token to the Copilot SDK. Services built that way make requests without any signed-in user’s credentials. GitHub calls this a workload-owned identity. Usage is billed to the organisation that owns the installation, and its model policies and spending controls still apply. An owner can see app-attributed usage through an app_client_id column in the AI usage report, or stop the app by suspending it.

A position we hold is that an agent’s reach is bounded by the person who sent it. Written out:

An agent reaches no more than the person who asked.

The bound is a comparison, and in this mode one side of it is empty. No person asks, so there is no access against which to measure the agent’s. What GitHub puts in its place is the organisation’s own grant, which is a real limit and a wider one, and the permission in preview is read-only. If you run agents under a workload identity and still bound their reach by a named person, we would like to hear how you do it: transform@dromologue.ai.

How we Assure

A decoder flaw reached production inside three things nobody lists as a dependency

CVE-2026-111497 is an out-of-bounds write in the Brotli decoder, present from version 1.0.3 through 1.2.0, and the National Vulnerability Database scores it 9.2 under CVSS 4.0. The Node.js project published a separate advisory for the copy bundled inside Node. An invalid block switch was reported there as a temporary need for more input instead of a permanent format error, so the streaming decoder went on appending bytes to an eight-byte internal buffer. Anything decompressing attacker-supplied data through node:zlib can have process memory corrupted or disclosed. CISA added the CVE to the known exploited catalogue on 27 October, with 10 November as its remediation date.

This confirms a position we already hold:

You cannot govern what you cannot see.

What is better evidenced than it was last week is where the blindness sits. A register of direct dependencies lists Node, .NET and a Go library by name, and not one of those three entries names the decoder each of them carries. The two severities describe different things: the 9.2 covers the library on all platforms, and Node is scoring its own exposure through one API. CISA’s ransomware field reads Unknown, so nobody is claiming a campaign yet.