Daily Reading for 2026-09-02 - Learning in Public

Daily Reading for 2026-09-02

Daily Reading for 2026-09-02

Deceptive Software Download Campaigns

Microsoft Defender Experts details an active counterfeit-software download campaign — consistent with the Silver Fox (Yinhu) wave — that spoofs vendor download pages on look-alike .com.cn/.hl.cn domains and serves server-side regenerated installer archives. The chain runs from a fake Razer/Edge/Kaspersky download page to masqueraded payloads, a SYSTEM-level scheduled-task escalation that writes Defender exclusions, shadow-copy deletion, and application-layer C2 on non-standard ports. It matters because per-request payload regeneration and brand impersonation defeat filename-and-hash hunting, forcing defenders to pivot on behavior, ASN-level infrastructure, and tamper sequences rather than static indicators.

Watch for:

  • New spoofed brand domains and rotating delivery hosts impersonating vendor download pages.
  • The ~60-second scheduled-task re-execution cadence and SYSTEM create-run-delete exclusion writes.
  • Shadow-copy deletion plus Windows Update service neutralization as pre-ransomware indicators.

Wardley signals:

  • Components: fake-download landing pages, dynamically generated installer archives, masqueraded payloads, scheduled-task persistence, Defender exclusion tampering, cloud object storage (Alibaba OSS), application-layer C2.

  • Evolution stage: Delivery sits at Custom→Product: per-request generation is bespoke, but the counterfeit-download playbook is industrializing across many impersonated brands.

  • Doctrine hits/misses: Miss “Manage failure” and “Use appropriate methods” on the defense side — name/hash hunting fails, so behavior hunting is required; “Listen to your ecosystem” via shared telemetry and hunting queries.

  • Climatic patterns: “Capital flows to new areas of value” — attacker investment shifts to brand impersonation and cloud staging; “No single method fits all” for detection.

  • Diffusion markers: Same-named archives regenerated server-side indicate a template-driven campaign; ASN/nameserver reuse across netblocks reveals shared procurement channels.

  • Counterfeit installers to system compromise: Tracking a deceptive software download campaign

wardley-beta
%% Q1 users: enterprise security operations analysts (Microsoft Defender)
%% Q2 needs: detect and contain counterfeit-download intrusions despite rotating names and hashes
%% Q3 capabilities: brand-impersonation detection, behavior-based hunting, infrastructure pivoting
%% Q4 components: look-alike landing pages, per-request payload delivery, masquerade persistence, cloud staging/C2, behavioral hunting, detection tooling
%% Q5 maturity: landing pages and payload generation Custom; cloud staging and C2 Product; detection tooling Product; hunting practices Product
%% Q6 managed by: vendors (Microsoft) plus internal SOC; attacker manages the delivery infrastructure
anchor securityOpsNeed [0.96, 0.93]
component landingPages [0.10, 0.78]
component payloadDelivery [0.20, 0.68]
component masqueradePersistence [0.28, 0.60]
component cloudStaging [0.50, 0.45]
component behaviorHunting [0.72, 0.55]
component detectionTooling [0.85, 0.60]
landingPages -> securityOpsNeed
payloadDelivery -> landingPages
masqueradePersistence -> payloadDelivery
cloudStaging -> masqueradePersistence
behaviorHunting -> securityOpsNeed
detectionTooling -> behaviorHunting
evolve behaviorHunting 0.72

Cybersecurity IR Readiness Workshops

Microsoft’s Detection and Response Team advertises a Cybersecurity Incident Response Readiness Workshop: a two-to-three-day, scenario-driven engagement where teams exercise their incident-response plans against simulated attacks rather than reviewing plans as documents. Participants practice detection, containment, threat hunting, and decision-making while DART responders give feedback grounded in cases handled across 54 countries. The core argument is that response plans fail at the point of execution — unclear ownership, inaccessible findings, delayed decisions — and the workshop surfaces those gaps before a real incident does, with a maturity assessment and prioritized recommendations as the deliverable.

Watch for:

  • Uptake of scenario-based IR exercise offerings as a commercialized security-services pattern.
  • Whether hands-on readiness practice becomes a procurement criterion beyond plan-document compliance.
  • DART-style “practice under pressure” workshops spreading across other vendors as market enablement.

Wardley signals:

  • Components: incident-response plans, threat-hunting exercises, simulated attack scenarios, DART/Defender Experts, telemetry and log tooling.

  • Evolution stage: IR readiness evaluation is Custom: each engagement is tailored and delivered by human experts, not a standardized off-the-shelf product.

  • Doctrine hits/misses: “Focus on the outcome” — exercising execution, not the document; “Know your users” and “Listen to your ecosystem” via DART frontline lessons.

  • Climatic patterns: “Higher order systems create new sources of value” — IR services layered on detection tooling; “Efficiency does not mean a reduced spend” (Jevons) — readiness spend rises.

  • Diffusion markers: A repeatable workshop format with packaged scope, structure, and assessment signals the slow commoditization of incident-response services.

  • Cybersecurity IR Workshop: The workshop you shouldn’t miss

wardley-beta
%% Q1 users: enterprise security teams and their leadership
%% Q2 needs: an incident-response plan that survives real execution, not paper review
%% Q3 capabilities: scenario-driven exercise, threat hunting practice, telemetry visibility, readiness assessment
%% Q4 components: written IR plans, workshop delivery, simulated scenarios, threat hunting practice, telemetry tools, readiness assessment
%% Q5 maturity: IR plans Product; workshop/scenarios Custom; threat hunting practice Custom->Product; telemetry tools Product
%% Q6 managed by: Microsoft DART plus the organization's own security team
anchor readinessNeed [0.96, 0.93]
component irPlans [0.32, 0.72]
component workshopDelivery [0.18, 0.78]
component simulatedScenarios [0.45, 0.55]
component threatHunting [0.55, 0.48]
component telemetryTools [0.72, 0.42]
component readinessAssessment [0.62, 0.60]
irPlans -> readinessNeed
workshopDelivery -> irPlans
simulatedScenarios -> workshopDelivery
threatHunting -> simulatedScenarios
telemetryTools -> threatHunting
readinessAssessment -> irPlans
evolve telemetryTools 0.72

Threat Modeling Training

Adam Shostack’s team announces the Threat Modeling Intensive With AI course at OWASP Global AppSec USA 2026 in San Francisco, November 2–4. The three-day course teaches threat-modeling fundamentals and how to complement them with AI systems, aimed at both OWASP attendees and Bay Area engineers. The post is a short registration call, but as a signal it shows a classic security practice being packaged with AI assistance as a distinct, saleable training product — evidence that threat modeling is consolidating from an artisanal skill into a standardized, teachable practice.

Watch for:

  • Threat-modeling-plus-AI course offerings multiplying across conferences as the practice standardizes.
  • Uptake of AI-assisted threat modeling in developer and security workflows.
  • Whether “threat modeling with AI” becomes an expected baseline in AppSec training.

Wardley signals:

  • Components: threat-modeling practice, AI coding/analysis assistants, OWASP conferences, security training courses.

  • Evolution stage: Threat modeling as practiced knowledge is Product — well documented and taught; the AI-complemented variant is still emerging (Custom).

  • Doctrine hits/misses: “Common Language” — boundary/trust-boundary terminology; “Bias towards open” — OWASP as an open channel; “Use appropriate methods”.

  • Climatic patterns: “Components can co-evolve” — practice co-evolves with AI tooling; “Evolution of communication mechanisms can increase the speed of evolution” — conference diffusion.

  • Diffusion markers: A course explicitly branded “with AI” marks practice-plus-tooling diffusion; OWASP acts as a standards and distribution channel.

  • Register now for our training at OWASP

wardley-beta
%% Q1 users: security and application engineers
%% Q2 needs: master threat modeling and pair it with AI assistance
%% Q3 capabilities: structured threat-modeling method, boundary concepts, AI assistants, training and distribution
%% Q4 components: threat-modeling practice, boundary concepts, AI assistants, training courses, conference channels
%% Q5 maturity: practice and boundary concepts Product; AI-complemented variant Custom; training courses Product; conferences Commodity
%% Q6 managed by: educators (Adam Shostack) and OWASP as an open distribution channel
anchor engineerNeed [0.96, 0.93]
component threatModelingPractice [0.45, 0.62]
component boundariesConcept [0.38, 0.68]
component aiAssistants [0.28, 0.74]
component trainingCourses [0.55, 0.48]
component conferenceChannels [0.72, 0.42]
threatModelingPractice -> engineerNeed
boundariesConcept -> threatModelingPractice
aiAssistants -> threatModelingPractice
trainingCourses -> threatModelingPractice
conferenceChannels -> trainingCourses
evolve trainingCourses 0.55

Aurora Ransomware

CloudSEK and TRM Labs profile a Russian-speaking Aurora ransomware affiliate through an accidentally exposed operator directory — shell history, Cursor chat logs, exploit tooling, and the Zig-written encryptor itself. The operator ran a repeatable AD-compromise playbook across more than twenty organizations in nine countries, used an agentic coding assistant to plan attacks in Russian, and deployed cross-platform Zig encryptors (Windows, Linux, ESXi). On-chain tracing tied victim payments to shared laundering infrastructure and revealed per-victim affiliate splits, showing an individual operator moving from intrusion to extortion on a working schedule rather than brokering access onward.

Watch for:

  • AI-assisted attack planning (Cursor / agentic coding) appearing in more threat-actor tradecraft.
  • Ransomware encryptors written in less common languages like Zig to evade corpus-trained signatures.
  • ADCS and coercion-based domain compromise (ESC1/6/8, PetitPotam, noPac) accelerating time-to-encryption.

Wardley signals:

  • Components: Aurora ransomware, Zig encryptors, ADCS/noPac/NTLM-relay tooling, Cursor (AI coding assistant), on-chain tracing (TRM), laundering infrastructure.

  • Evolution stage: Ransomware-as-a-service is Product — rented kits and leak sites; affiliate operations are industrializing toward Commodity, while AI-assisted planning remains at Custom/Genesis.

  • Doctrine hits/misses: Miss “Bias towards open” and “Use appropriate methods” on the defense side; attacker mirrors doctrine “Exploit the landscape” via opportunistic victim spread.

  • Climatic patterns: “Creative Destruction”; “Capital flows to new areas of value” — crypto laundering consolidation hubs; “Competitors’ actions will change the game”.

  • Diffusion markers: Per-victim negotiated affiliate cuts, shared laundering consolidation points, and a replicable AD playbook across sectors signal a maturing affiliate economy.

  • 🚩 Aurora Ransomware Affiliate Uses AI-Assisted Planning, AD Exploitation, and Cross-Platform Zig Encryptors

wardley-beta
%% Q1 users: incident responders and enterprise defenders
%% Q2 needs: understand and defend against a repeatable AD-compromise ransomware playbook
%% Q3 capabilities: AD compromise detection, encryptor analysis, financial/on-chain tracing, threat intel
%% Q4 components: AD compromise playbook, AI-assisted planning, Zig encryptors, affiliate operation, laundering network, threat intelligence
%% Q5 maturity: AD playbook and Zig encryptors Custom; AI planning Genesis; RaaS affiliate model Product; laundering network Custom->Product; threat intel Product
%% Q6 managed by: attacker affiliate for the offensive side; CloudSEK/TRM and defenders for the defensive side
anchor defenseNeed [0.96, 0.93]
component adCompromisePlaybook [0.30, 0.62]
component aiPlanningAssist [0.15, 0.75]
component zigEncryptors [0.35, 0.55]
component affiliateOperation [0.42, 0.48]
component launderingNetwork [0.55, 0.40]
component threatIntel [0.78, 0.50]
adCompromisePlaybook -> defenseNeed
aiPlanningAssist -> adCompromisePlaybook
zigEncryptors -> adCompromisePlaybook
affiliateOperation -> adCompromisePlaybook
launderingNetwork -> affiliateOperation
threatIntel -> defenseNeed
evolve aiPlanningAssist 0.15
evolve threatIntel 0.78

Spring Ring Vishing Campaign

Palo Alto’s Unit 42 documents Spring Ring, a coordinated social-engineering operation that weaponized Microsoft Teams to impersonate IT help desk staff. Attackers used external .onmicrosoft.com tenants and professional personas, then escalated from chat to voice-phishing (vishing) calls that walked victims into running legitimate RMM tools or obfuscated PowerShell RATs. The advanced variant pivoted to PetitPotam-coerced NTLM relay against the domain controller, aiming for domain takeover; more than 150 employees across 10+ companies were targeted. With collaboration-platform phishing rising sharply, the report shows identity and trusted SaaS platforms becoming the new perimeter.

Watch for:

  • Vishing over Teams and other collaboration platforms increasing as a primary attack vector.
  • External-tenant impersonation lures moving from credential harvesting to full domain compromise.
  • Vendors shipping collaboration-tool detection and analytics (e.g., chat-to-call ratio profiling).

Wardley signals:

  • Components: Microsoft Teams, .onmicrosoft.com tenants, vishing/RMM delivery, PowerShell RATs, NTLM relay/PetitPotam, EDR/XDR detection.

  • Evolution stage: Social engineering via collaboration platforms is Product — a repeatable playbook with standardized persona tooling; voice+AI lures are still emerging (Custom).

  • Doctrine hits/misses: Miss “Know your users” — employees trust help-desk personas; defense leans on “Listen to your ecosystem” through telemetry-driven detection.

  • Climatic patterns: “Evolution of communication mechanisms can increase the speed of diffusion” — collaboration tools accelerate attack spread; identity becomes the perimeter.

  • Diffusion markers: Copy-cat campaigns — spoofed tenants, personas, and playbooks spreading across organizations — plus proliferating vendor detection suites.

  • 🚩 Spring Ring Vishing Campaign Abuses Microsoft Teams to Deliver RMM Tools, RATs, and NTLM Relay Attacks

wardley-beta
%% Q1 users: enterprise security teams defending collaboration platforms
%% Q2 needs: detect Teams impersonation and prevent escalation to domain takeover
%% Q3 capabilities: identity profiling, voice-phishing awareness, RMM/malware delivery blocking, coercion/NTLM-relay defense
%% Q4 components: impersonation personas, vishing tactics, RMM delivery, NTLM relay, Teams platform, detection analytics
%% Q5 maturity: Teams platform Product->Commodity; personas/vishing Custom; RMM delivery Product; NTLM relay Custom; detection analytics Product
%% Q6 managed by: attackers for lures; Unit 42/vendors and internal SOC for detection
anchor socNeed [0.96, 0.93]
component impersonationPersonas [0.18, 0.72]
component vishingTactics [0.25, 0.65]
component rmmDelivery [0.35, 0.55]
component ntlmRelay [0.40, 0.50]
component teamsPlatform [0.68, 0.45]
component detectionAnalytics [0.75, 0.50]
impersonationPersonas -> socNeed
vishingTactics -> impersonationPersonas
rmmDelivery -> vishingTactics
ntlmRelay -> rmmDelivery
teamsPlatform -> rmmDelivery
detectionAnalytics -> socNeed
evolve detectionAnalytics 0.75

TerminalFix ClickFix Campaign

Microsoft Threat Intelligence describes TerminalFix, a ClickFix variant that plants a fake Cloudflare CAPTCHA on compromised websites and tricks users into pasting a “verification” PowerShell command into Windows Terminal. What stands out is the depth after the lure: DLL sideloading through a signed LockScreenContentServer.exe, payloads concealed in PNG pixel data, dual Registry/scheduled-task persistence, broad Active Directory reconnaissance, and a Python reverse-tunnel implant that gives attackers SOCKS-style TCP access into the victim network over an encrypted WebSocket. The report matters because the initial social-engineering trick is trivial, but the resulting network-level pivot is enterprise-grade.

Watch for:

  • ClickFix/TerminalFix CAPTCHA lures spreading to more compromised websites.
  • Reverse-tunnel implants (WebSocket/TLS) turning endpoints into network pivots.
  • Steganographic payload delivery and DLL sideloading through signed binaries becoming standard chains.

Wardley signals:

  • Components: fake Cloudflare CAPTCHA, PowerShell paste-and-run, DLL sideloading, steganography, reverse-tunnel implant (pythonw), WebSocket C2.

  • Evolution stage: ClickFix-style delivery is Product — widely replicated kits; the multi-stage reverse-tunnel chain is Custom, bespoke to this campaign.

  • Doctrine hits/misses: Miss “Set exceptional standards” — users paste unvetted commands; defense “Use appropriate methods” — AppLocker, script-block logging, App Control.

  • Climatic patterns: “Copy-cat campaigns” spread as delivery patterns commoditize; “No single method fits all” — detection needs layered behavioral coverage.

  • Diffusion markers: Variants (TerminalFix) branching off ClickFix show technique diffusion; attacker reuse of signed binaries and official Python runtimes spreads trust abuse.

  • 🚩 TerminalFix Campaign Uses Fake Cloudflare CAPTCHA to Deploy Steganographic Payloads and Reverse-Tunnel Access

wardley-beta
%% Q1 users: enterprise defenders and users targeted by fake CAPTCHA lures
%% Q2 needs: block paste-and-run payload chains and detect reverse-tunnel pivots
%% Q3 capabilities: CAPTCHA-lure awareness, DLL-sideload monitoring, steganography detection, tunnel/WebSocket C2 visibility
%% Q4 components: fake CAPTCHA lures, paste-and-run delivery, DLL sideloading, steganographic payloads, reverse-tunnel implant, WebSocket C2
%% Q5 maturity: ClickFix delivery Product; fake CAPTCHA lures Product; DLL sideloading and steganography Custom; reverse-tunnel implant Custom; C2 channel Product
%% Q6 managed by: attackers for the chain; Microsoft and enterprise defenders for detection/hardening
anchor defenseNeed [0.96, 0.93]
component captchaLures [0.30, 0.66]
component pasteDelivery [0.38, 0.56]
component dllSideloading [0.45, 0.48]
component steganography [0.52, 0.42]
component reverseTunnel [0.58, 0.38]
component c2Channel [0.68, 0.45]
captchaLures -> defenseNeed
pasteDelivery -> captchaLures
dllSideloading -> pasteDelivery
steganography -> dllSideloading
reverseTunnel -> steganography
c2Channel -> reverseTunnel
evolve captchaLures 0.30
evolve c2Channel 0.68

Sovereign AI Investment

SemiAnalysis reports on Korea’s trillion-dollar sovereign AI investment and its market winners and losers: Nvidia stands to win while Hynix loses ground. Sovereign AI programs — national-scale compute build-outs funded by state industrial policy — are becoming a distinct capital force that shapes chip demand, vendor selection, and regional supply chains. For a technical reader the throughline is industrial policy directly driving AI infrastructure procurement, with large ordering effects on who captures value across the GPU and memory stack. (Article body was unavailable; this summary is derived from title and feed.)

Watch for:

  • Follow-on sovereign AI compute contracts in Korea and other states, and their vendor mixes.
  • Memory-vendor share shifts (Hynix vs competitors) as sovereign build-outs land.
  • Whether sovereign programs accelerate or fragment AI infrastructure standardization.

Wardley signals:

  • Components: sovereign AI compute programs, Nvidia GPUs, Hynix memory/HBM, national industrial policy, AI data centers.

  • Evolution stage: AI training infrastructure is Product — high-value and differentiated, moving toward commodity; sovereign programs industrialize state-level procurement.

  • Doctrine hits/misses: “Exploit the landscape” — states shaping the map; “Market enablement” and industrial policy as accelerators; “There is no core” — vendor positions shift.

  • Climatic patterns: “Capital flows to new areas of value”; “Higher order systems create new sources of value”; creative destruction among memory/chip vendors.

  • Diffusion markers: National AI investment waves spreading (sovereign AI as an emerging pattern) signals ecosystem moves and N-factor markets.

  • Korea’s Trillion-Dollar Sovereign AI Investment: Nvidia Wins, Hynix Loses

wardley-beta
%% Q1 users: national AI planners, infrastructure investors, and chip buyers
%% Q2 needs: understand the winners and losers of sovereign AI compute build-outs
%% Q3 capabilities: state industrial policy, compute build-out, chip procurement, market analysis
%% Q4 components: sovereign AI programs, national policy, data-center build-out, GPU supply, memory supply, market intelligence
%% Q5 maturity: national policy Custom; sovereign programs Genesis->Custom; data centers Product; GPU supply Product; memory supply Product; market intel Product
%% Q6 managed by: states and their agencies for programs; Nvidia/Hynix and SemiAnalysis for supply/analysis
anchor plannerNeed [0.96, 0.93]
component sovereignPrograms [0.30, 0.70]
component nationalPolicy [0.20, 0.78]
component dataCenterBuildout [0.45, 0.55]
component gpuSupply [0.55, 0.45]
component memorySupply [0.60, 0.40]
component industryIntel [0.78, 0.50]
sovereignPrograms -> plannerNeed
nationalPolicy -> sovereignPrograms
dataCenterBuildout -> sovereignPrograms
gpuSupply -> dataCenterBuildout
memorySupply -> dataCenterBuildout
industryIntel -> plannerNeed
evolve sovereignPrograms 0.30
evolve industryIntel 0.78

Vibe Coding

Rick Brewster, Paint.NET’s author, describes how Claude produced an internal, clean-room rewrite of Direct2D — roughly 180,000 lines that let Paint.NET run on WINE — written largely “vibe coded” with thin review because the scale exceeds human verification. The quote captures both the promise and the risk of AI-generated codebases: Claude did tireless reverse engineering of Direct2D’s effects library, yet needed constant babysitting around COM reference counting and architecture. It matters because it is a concrete signal that agent-generated code is moving from demos to shipped, load-bearing software.

Watch for:

  • More shipped products containing large AI-authored components with thin human review.
  • The verification bottleneck — how teams validate code they cannot fully read.
  • AI writing clean-room reimplementations of proprietary APIs as a growing pattern.

Wardley signals:

  • Components: Claude/LLM coding agents, Paint.NET, Direct2D, WINE, clean-room reimplementation, vibe-coding practice.

  • Evolution stage: AI-assisted code generation is Product — broadly available and improving; large vibe-coded codebases remain Custom (bespoke, hands-on).

  • Doctrine hits/misses: Miss “Set exceptional standards” and “Manage failure” — unreviewed code accepted; hit “Use appropriate tools” and “Be pragmatic” in leveraging AI for a hard port.

  • Climatic patterns: “Efficiency enables innovation” — low marginal cost of generation; “Red Queen” — teams must keep pace with AI-generated code volume.

  • Diffusion markers: Vibe-coding vocabulary and AI-authored modules moving into mainstream products; coding benchmarks testing model ability.

  • Quoting Rick Brewster

wardley-beta
%% Q1 users: software engineers and maintainers of shipping products
%% Q2 needs: produce and verify large AI-generated codebases that cannot be fully read
%% Q3 capabilities: agent-assisted coding, clean-room reimplementation, code review, testing/verification
%% Q4 components: coding assistants, vibe-coded code, clean-room reimplementation, code review, test suites
%% Q5 maturity: coding assistants Product; vibe-coded code Custom; clean-room reimplementation Genesis->Custom; review Product; test suites Product
%% Q6 managed by: individual maintainers (e.g. Paint.NET's Rick Brewster) with heavy babysitting
anchor engineerNeed [0.96, 0.93]
component codingAssistants [0.35, 0.55]
component vibeCodedCode [0.28, 0.62]
component cleanRoomReimpl [0.20, 0.70]
component codeReview [0.55, 0.45]
component testSuites [0.62, 0.40]
vibeCodedCode -> engineerNeed
codingAssistants -> vibeCodedCode
cleanRoomReimpl -> vibeCodedCode
codeReview -> vibeCodedCode
testSuites -> codeReview
evolve codingAssistants 0.35
evolve testSuites 0.62

Claude Fable 5.1

Simon Willison evaluates the Claude Fable 5.1 (with Mythos) release, the Anthropic model pitched as “a new standard for coding, knowledge work, and long-running problem-solving.” He tests it across its five reasoning levels — low, medium, high, xhigh, max — on the pelican-riding-a-bicycle SVG benchmark, finding reasoning is skipped at low/medium but scales dramatically and expensively at xhigh/max: 65,927 output tokens and a $3.30 max-effort pelican, later animated via a follow-up prompt. The post works as a model-release test harness: benchmark scores, cost-per-effort-level, and reasoning-trace quality become measurable inputs to developer tooling decisions.

Watch for:

  • Terminal-Bench-Science-class benchmarks becoming standard model-release metrics.
  • Adoption of reasoning-effort levels in coding-agent workflows (cost/quality trade-offs).
  • Whether per-level reasoning skipping is deliberate design or a quirk in other models.

Wardley signals:

  • Components: Claude Fable 5.1/Mythos, reasoning-effort levels, Terminal-Bench-Science, pelican SVG benchmark, llm tooling.

  • Evolution stage: Frontier LLMs are Product — differentiated and rapidly improving; benchmarks as measurement infrastructure are emerging standards (Product→Commodity).

  • Doctrine hits/misses: “Bias towards data” — Simon benchmarks before judging; “Challenge Assumptions” — questioning the pelican benchmark’s validity.

  • Climatic patterns: “Rates of evolution can vary by ecosystem”; “Change is not always linear” — effort-level discontinuities; “Future value is inversely proportional to certainty”.

  • Diffusion markers: Benchmark-driven model comparison spreading; reasoning-effort trade-off discourse diffusing; model families shipping reasoning levels.

  • Claude Fable 5.1 made me a really nice animated pelican

wardley-beta
%% Q1 users: developers and AI practitioners evaluating frontier models
%% Q2 needs: compare model capability and the cost of reasoning effort levels
%% Q3 capabilities: model release evaluation, reasoning-effort control, benchmark measurement, cost tracking
%% Q4 components: frontier models, reasoning effort, benchmarks, evaluation tooling, cost models
%% Q5 maturity: frontier models Product; reasoning effort Custom->Product; benchmarks Product; eval tooling Product; cost models Product
%% Q6 managed by: model vendors (Anthropic) for models; practitioners (Simon Willison) and benchmark authors for evaluation
anchor devNeed [0.96, 0.93]
component frontierModels [0.35, 0.55]
component reasoningEffort [0.30, 0.62]
component benchmarks [0.60, 0.45]
component evalTooling [0.68, 0.40]
component costModels [0.45, 0.50]
frontierModels -> devNeed
reasoningEffort -> frontierModels
benchmarks -> frontierModels
evalTooling -> benchmarks
costModels -> frontierModels
evolve reasoningEffort 0.30
evolve benchmarks 0.60

Codex Runtime Internals

Simon Willison digs into the OpenAI Codex desktop app (since rebranded to ChatGPT) and finds its ~1.7GB codex-primary-runtime bundles a full Python installation, a full Node.js installation, and native binaries for Poppler, git, and the LibreOffice suite — with skills telling the agent how to use those binaries for document processing. It is a window into how coding agents ship self-contained execution environments that do not assume host tools exist. The insight matters because agent runtimes are becoming a distribution channel: bundled interpreters and document tooling inside an agent’s sandbox reshape what environment reproducibility and supply-chain trust mean.

Watch for:

  • Agent runtime bundles growing (interpreters, office suites, PDF tooling) as the norm.
  • Sandboxing and supply-chain risk of bundled binaries inside agent runtimes.
  • Whether other coding agents follow with document-processing bundles.

Wardley signals:

  • Components: Codex/ChatGPT desktop runtime, bundled Python/Node.js, Poppler, LibreOffice, agent skills.

  • Evolution stage: Agent runtime packaging is Product — standardized bundles; document tooling is re-commoditized by being bundled into a central runtime.

  • Doctrine hits/misses: “Use appropriate tools” and “Use standards” — reusing LibreOffice/Poppler; “Think small teams” analog — lean on existing components.

  • Climatic patterns: “Commoditisation <> Centralisation” — bundling pulls commodity tools into one runtime; “Componentisation effect” — efficiency via pre-packaged components.

  • Diffusion markers: The bundled-runtime pattern spreading across agent products; skills-as-interfaces for bundled tools becoming an ecosystem convention.

  • Codex bundles LibreOffice

wardley-beta
%% Q1 users: coding-agent users and agent-runtime operators
%% Q2 needs: self-contained agent environments with reliable bundled document tooling
%% Q3 capabilities: runtime packaging, bundled interpreters/tools, skills layer, document processing, sandboxing
%% Q4 components: agent runtime, bundled tooling, skills layer, document processing, supply-chain trust
%% Q5 maturity: agent runtime Product; skills layer Custom->Product; bundled tools Commodity; document processing Product; supply-chain trust Custom
%% Q6 managed by: OpenAI (Codex/ChatGPT) and open-source maintainers of the bundled tools
anchor userNeed [0.96, 0.93]
component agentRuntime [0.35, 0.55]
component bundledTooling [0.40, 0.48]
component skillsLayer [0.30, 0.60]
component documentProcessing [0.55, 0.45]
component supplyChainTrust [0.62, 0.40]
agentRuntime -> userNeed
skillsLayer -> agentRuntime
bundledTooling -> agentRuntime
documentProcessing -> bundledTooling
supplyChainTrust -> agentRuntime
evolve bundledTooling 0.40
evolve documentProcessing 0.55

GeoJSON Map Viewer

Simon Willison shares a new tool he built with AI agents: a GeoJSON Map Viewer that renders GeoJSON features on an interactive OpenStreetMap with customizable fill and stroke styling, born from a need to display and export local political-boundary maps. The build was a multi-agent effort — GPT-5.6-Sol suggested the tool, Claude Code and Fable 5.1 iterated the web app, and ChatGPT Work assembled boundary polygons from government data sources. It is a representative example of agent-assisted tool building: a bespoke utility produced in hours by composing several models and open data sources.

Watch for:

  • More single-purpose AI-built web tools appearing in personal blogs as a genre.
  • Agent-stitched data assembly (government boundary data to GeoJSON) becoming routine.
  • Whether “ask an agent to build a viewer” replaces manual GIS/visualization tooling.

Wardley signals:

  • Components: GeoJSON, OpenStreetMap, LLM coding agents (GPT-5.6-Sol, Claude Code, Fable 5.1), web map viewers.

  • Evolution stage: GeoJSON visualization is Product→Commodity — standards-based with many viewers; AI-assisted tool construction is Custom (per-need bespoke generation).

  • Doctrine hits/misses: “Focus on the outcome” and “Use appropriate tools” — the agent picks the right viewer; “Think fast, inexpensive, restrained and elegant”.

  • Climatic patterns: “Efficiency enables innovation” — low-cost bespoke tool building; “Componentisation effect” — reuse of OSM/GeoJSON components.

  • Diffusion markers: AI-agent-built tools appearing regularly in individual workflows; LLM-as-tool-builder practice spreading.

  • GeoJSON Map Viewer

wardley-beta
%% Q1 users: tinkerers and analysts needing quick map visualizations
%% Q2 needs: view and export GeoJSON boundaries without manual GIS tooling
%% Q3 capabilities: agent-assisted tool building, GeoJSON rendering, basemap access, boundary data assembly
%% Q4 components: map viewer, GeoJSON data, OpenStreetMap, AI build agents, government data sources
%% Q5 maturity: map viewer Custom->Product; GeoJSON data Product; OpenStreetMap Commodity; AI build agents Product; government data Custom
%% Q6 managed by: individual builders (Simon Willison) composing multiple models and open data sources
anchor viewerNeed [0.96, 0.93]
component mapViewer [0.45, 0.55]
component geojsonData [0.55, 0.45]
component openstreetmap [0.75, 0.40]
component aiBuildAgents [0.30, 0.65]
component govDataSources [0.50, 0.48]
mapViewer -> viewerNeed
geojsonData -> mapViewer
openstreetmap -> mapViewer
govDataSources -> geojsonData
aiBuildAgents -> mapViewer
evolve mapViewer 0.45
evolve openstreetmap 0.75

Dwarf Fortress

A short Simon Willison “Quoting” post features Tarn Adams, co-creator of Dwarf Fortress: “They took the letters from me! I have to talk about dwarf behavior now… It’s dwarf behavior, and they misbehave sometimes.” It is a wry comment on simulating creatures whose emergent behavior defies clean “AI” framing — the joke being that Dwarf Fortress dwarfs are not an AI you design but a behavior system that acts up. A light interlude among the day’s security and tooling posts, it still touches the theme of emergent, hard-to-control agency in software systems.

Watch for:

  • Emergent-behavior simulation discourse (game AI versus “behavior”) resurfacing.
  • More shorthand quotes capturing agentic-software unpredictability.
  • Whether Dwarf Fortress-style simulation lessons inform agent design discussions.

Wardley signals:

  • Components: Dwarf Fortress, simulated agent behavior, game AI/behavior systems.

  • Evolution stage: Emergent behavior simulation is Product — established in games, well-understood enough to be a genre staple.

  • Doctrine hits/misses: “Challenge Assumptions” — reframing “dwarf AI” as behavior; “Embrace uncertainty” — systems that misbehave.

  • Climatic patterns: “Change is not always linear” — emergent behavior; “Not everything survives” and unpredictability.

  • Diffusion markers: Vocabulary (“behavior” versus “AI”) diffusing from simulation into agentic-software discussions.

  • Quoting Tarn Adams

wardley-beta
%% Q1 users: players and designers of simulation games
%% Q2 needs: simulate emergent, sometimes misbehaving character behavior
%% Q3 capabilities: behavior simulation, emergent-behavior scripting, narrative generation, community play
%% Q4 components: emergent behavior, simulation engine, behavior scripting, player narratives, game community
%% Q5 maturity: simulation engine Custom->Product; emergent behavior Product; behavior scripting Custom; player narratives Product; community Commodity
%% Q6 managed by: developers (Tarn Adams) for the engine; players for emergent narratives
anchor playerNeed [0.96, 0.93]
component emergentBehavior [0.40, 0.55]
component simulationEngine [0.35, 0.60]
component behaviorScripting [0.45, 0.48]
component playerNarratives [0.60, 0.40]
component gameCommunity [0.70, 0.38]
emergentBehavior -> playerNeed
simulationEngine -> emergentBehavior
behaviorScripting -> emergentBehavior
playerNarratives -> emergentBehavior
gameCommunity -> playerNarratives
evolve simulationEngine 0.35
evolve gameCommunity 0.70

Datasette MCP Plugin

Simon Willison announces datasette-mcp 0.2, the first non-alpha release of the Datasette MCP plugin. The key change: rows from execute_sql are now arrays of objects rather than arrays of arrays, which helps weaker models map column names to values instead of losing track of positional elements, and the plugin now depends on mcp>=2.1.1. It is a short release note, but it signals that MCP (Model Context Protocol) tooling is maturing — a plugin stabilizing its schema for LLM consumption reflects the broader move to make data tools speak model-native protocols.

Watch for:

  • The MCP server/plugin ecosystem stabilizing past alpha as adoption grows.
  • Schema ergonomics for LLM consumers (objects over positional arrays) becoming a convention.
  • Datasette MCP serving as a reference implementation for database-to-agent access.

Wardley signals:

  • Components: Datasette, MCP (Model Context Protocol), datasette-mcp plugin, LLM tool use.

  • Evolution stage: MCP integrations are Product — maturing and versioned, moving toward standard; Datasette as a data tool is Product/Commodity.

  • Doctrine hits/misses: “Use standards” — adopting MCP; “Focus on the outcome” — model usability; “Bias towards open”.

  • Climatic patterns: “Components can co-evolve” — Datasette co-evolves with MCP; “Efficiency enables innovation”.

  • Diffusion markers: MCP plugin ecosystem spreading (non-alpha releases, stable mcp dependency); agent-friendly schema conventions standardizing.

  • datasette-mcp 0.2

wardley-beta
%% Q1 users: data-tool builders and LLM application developers
%% Q2 needs: expose databases to models through MCP with schemas models can use
%% Q3 capabilities: MCP integration, agent-friendly row schemas, database serving, model tool use
%% Q4 components: MCP plugin, MCP protocol, Datasette, model tool use, row schema conventions
%% Q5 maturity: MCP protocol Product; plugin Custom->Product; Datasette Product->Commodity; model tool use Product; row schema conventions Custom
%% Q6 managed by: plugin author (Simon Willison) and the MCP ecosystem
anchor dataBuilderNeed [0.96, 0.93]
component mcpPlugin [0.40, 0.60]
component mcpProtocol [0.45, 0.55]
component datasette [0.55, 0.45]
component modelToolUse [0.30, 0.70]
component rowSchema [0.50, 0.50]
mcpPlugin -> dataBuilderNeed
mcpProtocol -> mcpPlugin
datasette -> mcpPlugin
modelToolUse -> mcpPlugin
rowSchema -> mcpPlugin
evolve mcpProtocol 0.45
evolve datasette 0.55

Python 3.15

Simon Willison links to Hugo van Kemenade’s announcement of Python 3.15.0 candidate 2, the final release candidate ahead of an October release. The post doubles as release-readiness advice: maintainers should publish 3.15 wheels on PyPI during the RC window, and CI matrices can use actions/setup-python with allow-prereleases and check-latest to track RCs automatically. Simon’s own testing — Datasette and sqlite-utils pass while LLM waits on a scikit-learn 3.15 wheel — illustrates why he tests RCs after a bug he found in Python 3.10 shipped. It is a routine language-release cadence note with a real workflow signal: ecosystem packages tracking pre-releases keeps breakage from shipping.

Watch for:

  • The Python 3.15.0 final release and wheel availability on PyPI in October.
  • Adoption of allow-prereleases/check-latest CI matrices for RC tracking.
  • Third-party package lag (like scikit-learn wheels) as 3.15 lands.

Wardley signals:

  • Components: Python 3.15, release candidates, PyPI wheels, GitHub Actions/setup-python, ecosystem packages.

  • Evolution stage: Python is Commodity — universally accepted infrastructure; RC/wheel tooling is Product, well-practiced.

  • Doctrine hits/misses: “Bias towards action” — testing RCs early; “Use standards” — wheels and CI conventions; “Know the details” (release manager).

  • Climatic patterns: “Efficiency does not mean a reduced spend” — testing costs but prevents regressions; “Shifts from product to utility” show punctuated equilibrium at release phases.

  • Diffusion markers: RC-testing practice spreading; ecosystem wheel readiness becoming a standard release gate.

  • Python 3.15.0 candidate 2 is here!

wardley-beta
%% Q1 users: Python maintainers and third-party package authors
%% Q2 needs: ship a 3.15 release with a wheel-ready, regression-tested ecosystem
%% Q3 capabilities: release-candidate process, wheel publishing, CI pre-release testing, ecosystem coordination
%% Q4 components: Python release, release candidates, wheel ecosystem, CI testing, package maintainers
%% Q5 maturity: Python Commodity; RC process Product; wheels Product->Commodity; CI testing Product; maintainer coordination Custom
%% Q6 managed by: release manager (Hugo van Kemenade) and the wider maintainer community
anchor maintainerNeed [0.96, 0.93]
component pythonRelease [0.55, 0.45]
component releaseCandidates [0.45, 0.55]
component wheelEcosystem [0.60, 0.40]
component ciTesting [0.50, 0.50]
component packageMaintainers [0.40, 0.60]
pythonRelease -> maintainerNeed
releaseCandidates -> pythonRelease
wheelEcosystem -> pythonRelease
ciTesting -> wheelEcosystem
packageMaintainers -> pythonRelease
evolve pythonRelease 0.55
evolve wheelEcosystem 0.60