~learn.

For about 40 minutes, Google warned that every website might harm your computer.

One character, "/", went into Google's list of harmful sites. It matched every URL, so every search result got a malware warning.

Google · 2009 · 2 min read · a true story, sources below

watch it first · newThe whole story in a 3-minute animated lectureask the AI about any moment · captions, chapters and speed

Google warns you before you click a dangerous link. If a site is known to install malicious software "in the background or otherwise surreptitiously", the search result carries a message: "This site may harm your computer." Behind that message is a list of such sites, kept up to date by hand and by automated methods, with criteria worked out with a non-profit, StopBadware.org.

On the morning of 31 January 2009, Google released one of its periodic updates to that list. In Google's words, "here's the human error": the URL '/' was mistakenly checked in as a value in the file. A slash on its own is the start of every web address, so, as the post put it, "'/' expands to all URLs".

Every site on the web was now on the harmful list. Anyone who searched between about 6:30 and 7:25 a.m. Pacific time likely saw the warning next to "each and every search result".

Google's on-call site reliability team found the problem quickly and reverted the file. Because the list goes out in a staggered, rolling way, the errors didn't appear or vanish everywhere at once: they began appearing between 6:27 and 6:40 a.m. and began disappearing between 7:10 and 7:25 a.m. For any one user, the problem lasted about 40 minutes.

The same day, Marissa Mayer, then VP of Search Products & User Experience, apologised on the official Google blog, to users and to site owners whose pages were wrongly labelled. Google said it would "put more robust file checks in place" so it couldn't happen again.

The numbers
  • 1 character, "/", that matched every URL
  • Each and every search result flagged
  • About 40 minutes of trouble for any one user
  • About 6:30 to 7:25 a.m. Pacific time, 31 January 2009

Why it matters: A data file that changes how every request is handled is as risky as code. Check its contents before it ships (a single entry that matches everything should never pass), roll it out in stages, and keep a fast way to revert.

Sources

the idea behind it · W10 · DAY 03Deployment Strategiesread the lesson →