CTIPilot
AI-generated · no human review · verify critical claims against the linked source. how it works →

2026-10-20T0835Z-audit

One pipeline fire, in full · audit run of 2026-10-20 · sub-agent allocation and telemetry, per-iteration verification verdicts and findings, source-list edits, coverage gaps, bridge invocations, and the run's own verification & coverage notes: what was published, what was dropped at the borderline or judged not relevant (and why), single-source carve-outs, and contradictions. Rendered from runs/2026-10-20/2026-10-20T0835Z-audit.md.

Run telemetry

2026-10-20T0835Z-audit audit prompt v4.22 publish ok
1h 49m duration 0 published 13 updates
Claude Opus 5.5 (claude-opus-5-5) main agent
explore-1 Claude Opus 5.5 (claude-opus-5-5, container default, env fallback)
Items returned
0
Duration
7m 20s
Tool calls
not reported
Cited sources
none
repair-1 Claude Opus 5.5 (claude-opus-5-5, container default, env fallback)
Items returned
0
Duration
20m 31s
Tool calls
not reported
Cited sources
none
repair-2 Claude Opus 5.5 (claude-opus-5-5, container default, env fallback)
Items returned
0
Duration
16m 35s
Tool calls
not reported
Cited sources
none

Verification

#? NEEDS_FIXES · Sonnet 5.5 · t=2 e=2 a=8 #? NEEDS_FIXES · Sonnet 5.5 · t=1 e=0 a=2 #? CLEAN · Sonnet 5.5 · t=0 e=0 a=2 #? NEEDS_FIXES · Sonnet 5.5 · t=3 e=0 a=1 #? NEEDS_FIXES · Sonnet 5.5 · t=1 e=0 a=3

Deep dive

·

Entries this run published (0) and updated (13)

Sources changed (this run)

Edits this run made to sources/sources.json · promotions, demotions, new candidates, and fetch-method / category / reliability / url corrections (the run record's sources_changed[]). Paginated; 10 per page.

No source-list edits recorded for this run.

Coverage gaps (this run)

Sources this run's brief needed that returned no usable content via any documented recipe. Bridge-recovered or quiet-day sources do NOT appear here. (Distinct from the independent source-accessibility probe at the foot of this section, which probes all active sources regardless of what any run needed.)

No coverage gaps in this run · every source the brief needed returned usable content via its documented recipe.

Verification findings · all iterations

Per-iteration finding detail. Each table is one verifier pass · what was flagged, how the main agent remediated it, and the outcome. Walking the tables top-to-bottom shows the verifier's debugging trail across iterations.

Iteration #? NEEDS_FIXES · 12 findings (truth=2, editorial=2, advisory=8) · Claude Sonnet 5.5 · 18m 24s

F-codeSectionItem · URL/quoteVerifier summaryRemediation · outcome
F3
claim-not-supported
·
(low confidence) The Exposure line and takeaway named GG18 and MPC-custody deployments; THORChain's post-mortem covers GG20 only.Applied: both lines and this fire's record summary are scoped to GG20 deployments built on tss-lib.
F4
hallucinated-fact
·
(low confidence) The Detection line and the action said SolarWinds names neither the vulnerable configuration nor the communication mode; its CVE record for CVE-2026-28324 carries a workaround, thoughApplied: both now say SolarWinds' advisories and release notes name neither; the workaround stays out.
F5
missing-citation
·
The CVSS 3.1 9.8 was true but uncited; ENISA EUVD-2026-49369 carries JetBrains' record.Applied: EUVD-2026-49369 is cited inline, added to sources[] and named in the sourcing note (EUVD API read: baseScore 9.8, assigner JetBrains).
F9
surface-contradiction
·
The takeaway and the new section quoted only the researcher's 'I don't think I'd call it that', not his caveat that such queries look like a hacker's, nor Alex Stamos's 'borderline'.Applied: both passages now carry the caveat and Stamos's quote, a verbatim evidence row was added, and this fire's record summary says so.
F11
editorial-advisory
·
(advisory, low confidence) Typed update, the record re-floats a 25-to-34-day-old, contained delta.Declined: the re-enable, the new infections and the second disable are developments the entry never carried, which the audit types as an update; its takeaway (treat runs from 2026-09-16 to 09-25 as a secrets exposure)…
F11
editorial-advisory
·
(advisory) The Improvement section largely restates the changed main-body sentence.Declined: the section's delta is the DirectAdmin decision an inventory matched against the KEV description would miss; the first sentence frames it.
F11
editorial-advisory
·
(advisory) Em dashes remained in the summary and sourcing note while the wave report said they were removed.Applied: both fields fixed; those in earlier records' summaries are append-only.
F11
editorial-advisory
·
(advisory) The 2026-08-06 and 2026-10-10 sections narrated events after their own date; (pre-existing) a Hardening sentence sits inside TeamCity's Triage line.Applied: the TeamCity section no longer narrates the 2026-08-07 pointer (the 2026-10-20 section states it) and the Zammad sentence reads 'as of 2026-10-10'. The pre-existing Triage placement is carried to the W1-E list.
F11
editorial-advisory
·
(advisory) The case 1 lead-in still said the session spreads the worm; the report said all eight cases have hardening and hunt lines.Applied: the lead-in says an attacker uses the session to deploy the worm; the report names cases 1 to 7 and case 8's closing narrative.
F11
editorial-advisory
·
(advisory) Indicator 2a was called a suspicious method invocation; sk1000171 calls it a suspicious version path.Applied: the analysis and the 2026-10-19 section name it a suspicious version path, with the log line and what Check Point's search matches.
F11
editorial-advisory
·
(advisory) EUVD-2026-84807 lists four SolarWinds references, not three.Applied.
F11
editorial-advisory
·
(advisory, low confidence) T1212 fits the post-mortem; the first sources[] record is not the victim's report.Applied: T1212 (active in v20.0) added. Declined: the source order, since the first sources[] record stays the original primary under the entry lifecycle.

Iteration #? NEEDS_FIXES · 3 findings (truth=1, editorial=0, advisory=2) · Claude Sonnet 5.5 · 12m 42s

F-codeSectionItem · URL/quoteVerifier summaryRemediation · outcome
F4
hallucinated-fact
·
The report's TeamCity row still said the 9.8 is named in prose because the record endpoint cannot be cited; the entry now cites it to ENISA EUVD-2026-49369.Applied: the row says the score comes from JetBrains' CNA record, cited through ENISA's EUVD page.
F11
editorial-advisory
·
(advisory, low confidence) The report's UNCTAD row omitted the Howard-Jones caveat and the Stamos quote added after iteration 1.Applied: the row names both.
F11
editorial-advisory
·
(advisory, low confidence) The 2026-08-06 section still points to the later ransomware use and Cadence breach '(2026-09-30 update)'.Declined: a pointer to the later section, not a claim about the later events; the verifier says it may stay.

Iteration #? CLEAN · 2 findings (truth=0, editorial=0, advisory=2) · Claude Sonnet 5.5 · 9m 56s

F-codeSectionItem · URL/quoteVerifier summaryRemediation · outcome
F11
editorial-advisory
·
(advisory, low confidence) The report and the W1-E row said the VWBP entry quotes German without translation in its main text; the running text glosses each German quote, and the untranslated German iApplied: the report, the tracker row and the W1-E item describe the evidence quotes.
F11
editorial-advisory
·
(advisory, low confidence, pre-existing) The Triage line's benign-lookalike examples are uncited; the discriminator that follows is source-backed.Carried to the W1-E list for wave 02 (text this fire did not change).

Iteration #? NEEDS_FIXES · 4 findings (truth=3, editorial=0, advisory=1) · Claude Sonnet 5.5 · 17m 48s

F-codeSectionItem · URL/quoteVerifier summaryRemediation · outcome
F3
claim-not-supported
·
The 2026-10-20 section and the Triage line made JetBrains' VPN advice an interim recommendation; the follow-up gives only the temporary access restriction as the interim step and says internet-facing Applied: both passages give the temporary restriction as JetBrains' strong recommendation and the VPN or extra layer as a separate measure to consider.
F3
claim-not-supported
·
(low confidence) 'as the CVE's numbering authority' and the 9.1 were cited to NLnet Labs' advisory page, which carries neither.Applied: the 9.1 and the numbering-authority role are cited to ENISA EUVD-2026-80291 (assigner NLnet Labs, baseScore 9.1), added to sources[]; the advisory page is cited for the rating and vector only; the 2026-10-11…
F3
claim-not-supported
·
(low confidence) 'The revision replaced the upgrade-tools load-error indicator' was cited to Bishop Fox, whose post predates the revision; the section repeated it uncited.Applied: both passages say Bishop Fox's route never trips the indicator Check Point then listed and that the revised sk1000171 no longer lists it, each cited; this fire's record summary says Check Point revised its…
F11
editorial-advisory
·
(advisory, low confidence) An uncommitted check_run.py change (the confirmation messages' iteration label) was in neither the report nor the record.Applied: the report's change table and the record's notes name it.

Iteration #? NEEDS_FIXES cap-breach · 4 findings (truth=1, editorial=0, advisory=3) · Claude Sonnet 5.5 · 13m 03s

F-codeSectionItem · URL/quoteVerifier summaryRemediation · outcome
F3
claim-not-supported
·
(low confidence) The 2026-10-04 section still said the old indicator was 'replaced in the 2026-10-13 revision of sk1000171', uncited inside a Bishop Fox citation that predates the revision.Applied after the pass: the parenthetical reads 'as sk1000171 then listed it'. Not re-verified (early exit).
F11
editorial-advisory
·
(advisory, low confidence) 'TSSHOCK attacks on weak zero-knowledge proofs' fits two of Verichains' three attacks.Applied: 'attacks on threshold-signing proofs and their encoding'.
F11
editorial-advisory
·
(advisory, low confidence) 'per-agent cost-cap thresholds' is the entry's gloss; Mandiant places the caps at the Service ID and project level.Applied: 'cost-cap thresholds and bounded recursion limits at the service-identity and project level'.
F11
editorial-advisory
·
(advisory, low confidence) This fire's record summary did not mention that the title gives 8.4 again.Applied: the record summary says so.

Verification & coverage notes

The run record's narrative body, verbatim. This is where the run accounts for its own judgement calls: every borderline drop and judged-not-relevant item with its reason, dedup decisions, single-source items and their carve-outs, contradictions, and per-source coverage gaps, so nothing the run considered disappears silently.

Verification & coverage notesrun record body

2026-10-20T0835Z-audit · audit · Opus 5.5 · 0 entries published

Verification & coverage notes

Cleanup wave 01 of the one-time store cleanup program (prompts/cleanup-coordinator.md), an operator-directed partial audit with a partial claim; it ran no coverage re-sweep, so it does not move the weekly audit's window anchor. Report: docs/audits/2026-10-20-cleanup-wave-01.md. Tracker: docs/cleanup/STATUS.md.

Scope. § C0 bootstrap (tracker and plan on main as 0f2be64), then wave 01: the record tool and the gate false positives (§ C7 items 1 and 2), the one open store warning, and the 16 entries the 2026-10-18 audit's truth passes T1 to T9 found with factual errors outside its week. Those passes read the store before the 2026-10-11 audit's records landed, so the repair workers re-checked every defect against the current text.

Outcome. 13 entries carry a record from this fire (9 corrections, 3 updates, 1 improvement); Kairos Libercourt, Bitget and Apple CoreGraphics needed none, the 2026-10-11 audit having fixed all their listed defects. Two legacy entries (THORChain, actions-cool) left the legacy queue, 408 to 406 pending. The SolarWinds repair worker's CVE-2026-28324 workaround was removed by the main agent: no citable page carries it (EUVD's record, both trust-center advisories and SolarWinds' secure-configuration page were read). Registry: THORChain incident summary rewritten, one part-of edge (actions-cool to campaign:mini-shai-hulud, Socket 2026-09-24). cves_seen: last_seen moved for CVE-2026-102489 and CVE-2026-63077.

Standalone merges during the wave (each its own branch, auto-merged): 6c75002 record tool, 4ca3e3b page-check false positives, bfded2c migration tools removed, f06331d backlog trim and work/ chaff, 11ff607 site leftovers, 7864387 doc maps, f037aa0 tool suites in the gate, f5df6fe source decisions (2026-10-11 recommendations 5 to 7), 8678b51 registry summaries (Eurail, BeaverTail, InvisibleFerret). The wave commit itself carries one tool change: the verification-confirmation messages of check_run.py name the iteration from the iteration: key.

Warnings. One acknowledgment added: the 2026-10-18 audit's duration_seconds=117266 spans its rate-limit pause, as its own notes say. check_run.py --all ends 0 warn, 0 fail.

Budget. 8 of 20 spawns (work/2026-10-20T0835Z-audit/budget.tsv): one Explore inventory for § C0, two repair workers and five verifier passes, about 2.93 M sub-agent tokens in all (repairs 0.61 M, verifier 2.13 M). No spawn was blocked or retried, and no budget cut was needed.

Verification. Five passes of cti-verification. Iteration 1 (all 152 changed claims) returned NEEDS_FIXES with two truth and two editorial findings, among them an F4 on the SolarWinds detection line; iteration 2 found one stale report cell (F4); iteration 3 returned CLEAN; the confirmation pass, iteration 4, read all 158 claims cold and refuted it with three citation-precision findings (TeamCity's VPN advice, Unbound's numbering-authority attribution, Check Point's "replaced" indicator); iteration 5 confirmed those fixes and found the same Check Point wording in a third place. That one truth finding was fixed after the pass and published on the early-exit rule (truth plus editorial at most 2, no F1 or F4), so the residual is 1. Iteration 5 also found that tools/claim_ledger.py lists no claims for sentences a fire edits inside earlier sections; the tracker carries it as W7-14.

← Operations dashboard · run-record contract: docs/pipeline.md