for agents/llms.txtv0.13.44

Home / Articles / PHP October 2026, at 8pm: where the php2shell story stands, and a guided tour of the site that tracks it, built in one day by a team of agents from an evidence vault anyone can read

PHP October 2026, at 8pm: where the php2shell story stands, and a guided tour of the site that tracks it, built in one day by a team of agents from an evidence vault anyone can read

By · 2026-10-22 · article v1.0.0 · newsroom v0.13.43 · php2shellbreaking-newsevidencevaultsversionsarticle

Abstract: At 8pm UK time on 22 October, this is where the php2shell story stands. The fix has been out since 21 October; sixteen agencies say install it; attackers are trying, in large numbers, and Amazon saw an attempt four days before the announcement; no organisation has confirmed a break-in, and the US list of flaws known to be used in attacks still does not include these two. The Dutch inventory of affected software has 724 rows, and only 61 of them have a fix. And behind that update is something I want to show properly: php.oct.2026.newsroom.sgit.ai, a site built today, from 09:27 to 19:04 UTC, in 34 versions, by two people and thirteen agents. It reads an evidence vault of 184 sources and 177 dated captures, now public. It has a front page in plain English and fifteen briefings, 70 claims each graded by a fact-check desk, ten contradictions in a ledger, a graph of 209 nodes, the fix read in the code, the inventory hour by hour, every section versioned, a phone app, synthetic readers and eight vaults. This is a guided tour of it, with the versions of everything, so the next update can say exactly what changed.

A guided tour of php.oct.2026.newsroom.sgit.ai in nine pages: the front page for everyone, the inventory hour by hour, the story as a graph, every section versioned, a source and its captures, the fix read in the code, the team, the eight vaults, and the six synthetic readers.

In short

Where the story stands at 8pm

On the morning of 22 October I was reading the BBC's live page about two critical flaws in PHP, the software that WordPress and a large share of the world's websites run on. In capture first I described how that page became an evidence vault, a section on this site and then a site of its own, php.oct.2026.newsroom.sgit.ai, by lunchtime. This is the evening update, at 8pm UK time, 19:00 UTC.

What the evidence shows:

The Dutch inventory of affected software, at each of its 38 versions from 21 October: 724 rows at 15:28 UTC on 22 October, of which 61 fixed, 216 vulnerable and 440 still under investigation.

What we still do not know

A site built in one day

One day, 34 versions of php.oct.2026.newsroom.sgit.ai, from v0.1.0 at 09:27 UTC to v0.5.5 at 19:04 UTC, with two lines of versions running in parallel until the design branch was merged into v0.4.0.

The site's first version went out at 09:27 UTC. The thirty-fourth, v0.5.5, went out at 19:04. In between, 62 commits, two lines of versions developed in parallel and merged, and a team that grew through the day: the team page now lists 17 members, two of them people, a project manager and me as the editor, and 13 agents, each with a role, what it owns, the rules it works by and the work it has shipped. Their tasks are on a board of 89 items, 25 of them done.

I want to be precise about what I did. I read, I sent voice memos, I pointed agents at sources and decided what mattered. The agents captured the evidence, wrote the data, built the pages, checked each other, and released. The site's own release history has every version with what it changed.

The tour

There is a lot here, so this is the route I would take a colleague through.

1. The front page, for everyone. The front page starts in plain English: what happened, what to do, what is not known, every line linked to the sources it rests on. Then it splits by reader. Start here maps fifteen readers, from a curious reader to a CISO, a CFO, a journalist and a PHP engineer, each with a thirty-second answer and a reading path, and each has a briefing. There is a glossary of 40 terms, linked on first use on every page, and ten questions readers ask, each with a short answer to paste back to whoever asked you.

On a phone: the front page, and Now, which answers what to know for the time you have, one, five, ten or thirty minutes, from the data alone or written by a model with the reader's own key.

2. On a phone. Now asks how much time you have, one, five, ten or thirty minutes, and gives you what you have not read yet. "From the data" is built from the site alone. "Written for me" uses a model with your own key, kept in your own vault, and every claim it makes must cite an item on the site. Since v0.5.4, every page also has an Ask pane: you talk to the site with your own key, the model can only use the site's read-only tools, every call is shown, every fact is cited to an item, and it changes nothing without your say-so.

3. The evidence. Everything rests on the evidence vault. It holds 184 sources and 177 dated captures, each with the page as served, the rendered page, its text, a full-page screenshot, the headers and a sha256 hash, from six writers, from 08:05 to 11:34 UTC. Since this afternoon it is readable by anyone, with a public read key that cannot write, after a scan of all its files. Every source page on the site shows its captures, their times and their hashes, and the claims that cite it. A second vault, the source watch, checks the outside sources on a schedule: 328 pages from 175 publishers in 38 countries and 32 languages, with 440 snapshots, and what access each allows, open, behind a bot challenge, down or gone.

4. The analysis, graded. The site has 70 claims, each with a status and its sources, 68 timeline events, 17 numbers pinned to what they measure, and an impact ledger that keeps offline and compromised apart. Tonight the fact-check desk finished its first run: all 70 claims graded against the vault on a scale from A0, unsupported, to A6, with a verdict for each. 39 hold, 28 hold in part, one is not shown and two are refuted: the 10.0 severity score from the leak, and the 22 October disclosure date. It opened 143 tickets and a ledger of ten contradictions, five explained and five open, each with what would settle it.

5. The story as a graph. The graph has 209 nodes and 281 edges: the 70 claims, the 68 events and the 71 sources they cite. It is drawn from the same rows as the pages, so the picture cannot disagree with the text.

6. The fix, read in the code. The code page answers the question I asked in the morning, where the flaw actually lives, from a clone of php-src rather than from any article: the fix commit, its parent, the branch it landed on, the backport to an end-of-life branch, and the files it changed, mapped as layered graphs.

7. Patching and the inventory. Patching explains who can get a fix for which version of PHP, the six ways a fix reaches a server, and why not every version gets one. The inventory, hour by hour reads the Dutch list from its public history, every change of status, and the first recorded fix from each supplier.

8. Stories, and context. Research and stories are kept apart, with a strip at the top of every page saying which it is. Five house stories, by the site's journalist, historian and cyber desk, among them exposed is not exploited, and an interview with me. And in context, php2shell against earlier flaws from 2008 to 2026.

9. Versions, of everything. This is the part I care most about. Every section of the site, every briefing, front-page section and story, is hashed on every build and gets a new version only when its text changes: 110 sections, 207 versions so far, in a table of release against section. Every fact has its own timeline. And the site tracks 341 items a reader can follow, so it can say what is new or changed since your last visit, in your browser, with nothing sent anywhere.

10. The vaults and the team. Eight vaults sit behind the site: the evidence and the source watch, public read-only; the anonymous telemetry and the subscriptions, each written through a lane that can add and cannot read; the coverage of other outlets, private, because it holds other people's pages; and three the team coordinates through, the conductor's, the issues and the mail. Every vault is encrypted in the browser or the agent's session; the server holds ciphertext.

11. The readers, real and synthetic. The telemetry lane counted 120 anonymous events from 74 sessions by the afternoon, with no cookie and no IP address. And six synthetic readers, a board member, a CTO, a project manager, a security lead, a developer and a designer, each read the live site in a real browser on its own device, follow their own reading path, and say whether they got their answer, each into its own private vault. They are a test instrument, not readers, and the site says so.

The site in numbers at v0.5.5: 34 versions in one day, 144 sources in its export of the vault, 70 claims, 68 events, 16 agencies, 724 inventory rows, 209 graph nodes, 15 readers and briefings, 110 sections with 207 versions, 341 items, 17 team members, 8 vaults, 328 watched pages, 6 synthetic readers, 70 claims graded and 89 board items.

A map for the next update

A story like this changes by the hour, and so does the site. So with this article I am publishing a snapshot of where everything was at 8pm: the site's version and commit, the evidence vault's head and counts, the source watch's head, the inventory's head and counts, the fact-check run, what I checked outside, every count in this tour, and the hash of each of the site's 46 data files. The next update will take the same snapshot, and the difference between the two will be the update: which data changed, which sections got a new version, which claims moved.

What the day showed

Three things I want to keep from today.

The machinery outran the evidence. The vault's last capture is from 11:34 UTC; the source watch last ran at 15:11; the inventory last changed at 15:28. The site gained a new version every twelve minutes or so through the afternoon, but its account of the story is a morning account. The next priority is scheduled capture, which the site's own brief already asks for, so that the evening's reporting enters the vault before it enters a page. Tonight a search finds security vendors' reports of confirmed exploitation that are not yet captured; until they are, they are not facts here.

Grading finds our own mistakes. The fact-check desk refuted a date that our own first section had in its description. That is the point of having it, and the correction is in this release.

Versions make an update possible. Because every section, fact and file is versioned, "what changed since 8pm" will be a question with an exact answer, not a rewrite.

What this does not claim

Where this comes from

The site php.oct.2026.newsroom.sgit.ai at v0.5.5 and its public repository, read from a clone at 19:04 UTC; the public evidence vault, cloned with its read key at head 31ccc515c29f; the NCSC-NL inventory at 94b4b16; CISA's known exploited vulnerabilities feed and php.net's 2026 news archive, read at 19:00 UTC; and screenshots of the live site taken at 19:06 UTC. Related: capture first, a desk anyone can open, the PHP flaws section. Written up and checked by this site's agent, newsroom.writer; the editorial responsibility is mine.

Threads

News & evidenceVaults & method This article as a graph →

No other article links here yet.

All articles · All graphs

Article No. 261 · start a reading list with it

Want the next issue by email. One issue a week or so: what was published, what it adds up to, and what is worth your time. Subscribe to the SGit Newsroom →

← All articles

Reviews

Reviews on the record, by agents, the editor and the desk, against the criteria. Each is kept for good and answered finding by finding. All reviews →

No reviews yet.