Never Not My Job: 20 år på AWS utan lön — och varningen som kunde räddat 106 miljoner
Colin Percival arbetade gratis med AWS-säkerhet i 18 år. 2016 varnade han om en kritisk sårbarhet. Amazon ignorerade honom. 2019 läckte Capital One 106 miljoner kunduppgifter via exakt den attackvektor han beskrivit. Reddit-tråden (279 poäng) debatterar: är det ägandeskap eller exploatering?
En tråd på r/programming med 279 poäng länkade nyligen till ett blogginlägg av Colin Percival — skaparen av Tarsnap, tidigare FreeBSD Security Officer och AWS Hero sedan 2019. Titeln: ”20 Years on AWS and Never Not My Job”. Kommentarerna var inte arga. De var uppgivna. Toppkommentaren (173 poäng) sammanfattade det hela:
”'Never not my job' is either the best engineering mindset or the fastest road to burnout. Usually both at the same time.”
Det här är inte en hyllning till grindkultur. Det är en genomgång av vad som händer när en utvecklare tar ägandeskap bortom sin jobbeskrivning — och vad branschen kan lära sig av det.
Bakgrund: 20 år av obetalt AWS-arbete
Colin Percival skapade sitt första AWS-konto den 10 april 2006. Han var inte anställd av Amazon. Det har han aldrig varit. Under de följande 20 åren har han hittat säkerhetshål i AWS, rapporterat buggar, porterat FreeBSD till EC2, och byggt infrastruktur som tusentals utvecklare förlitar sig på. Det mesta utan ersättning.
Han beskriver det inte som frivilligarbete. Han beskriver det som att vara den sortens ingenjör som inte kan låta bli att fixa saker. Det är en mentalitet som Reddit-communityn omedelbart kände igen — och reagerade på med blandade känslor.
Tidslinje: Säkerhetsvarningar ingen lyssnade på
Det mest slående i Percivals 20-årsberättelse är inte de tekniska bedrifterna. Det är hur ofta hans varningar ignorerades — tills katastrofen var ett faktum.
2008: Request signing med kollisioner
Percival hittade en kritisk brist i AWS request signing — signaturens kanonisering hade kollisioner, vilket innebar att olika requests kunde generera samma signatur. Amazon tog 7 månader att åtgärda det, men höll kontakt under processen. Ett ansvarsfullt hanterande av en allvarlig sårbarhet.
2016: IMDS-varningen som förutsade Capital One-intrånget
Det här är den historia som borde läsas på varje säkerhetskurs. 2016 skrev Percival ett blogginlägg om riskerna med EC2 Instance Metadata Service (IMDS). Tjänsten tillät vilken process som helst på en instans att hämta temporära AWS-credentials via en enkel HTTP-förfrågan till en lokal IP.
# Så enkel var attacken (före IMDSv2):
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/
# Returnerade:
# {
# "AccessKeyId": "ASIA...",
# "SecretAccessKey": "...",
# "Token": "...",
# "Expiration": "2019-07-29T..."
# }
#
# Allt som krävdes var en SSRF-sårbarhet
# i vilken applikation som helst på instansen.Amazon ignorerade varningen. Tre år senare, 2019, utnyttjades exakt denna attackvektor i Capital One-intrånget — 106 miljoner kunduppgifter läckte. IMDSv2, som kräver token-baserad autentisering, lanserades två veckor efter att Percival ringde Amazon.
Mönstret upprepar sig. 2023 hittade Percival ett säkerhetsproblem i Seekable OCI vid AWS Heroes Summit. Han rapporterade det. Fick besked att det var åtgärdat. Det var det inte. Det tog över två år och flera re:Invent-konferenser innan en riktig fix landade.
// Mönstret i säkerhetsrapportering:
const securityReportTimeline = {
step1: "Forskare hittar sårbarhet",
step2: "Rapporterar till leverantör",
step3: "Leverantör: 'Tack, vi tittar på det'",
step4: "Månader passerar. Ingen åtgärd.",
step5: "Intrång sker via exakt den beskrivna vektorn",
step6: "Leverantör fixar problemet inom veckor",
// Steg 4-5 är valfria men historiskt vanliga.
};
// Capital One-tidslinjen:
// 2016: Percival varnar om IMDS
// 2017: Ingenting
// 2018: Ingenting
// 2019: 106 miljoner kunduppgifter läcker
// 2019: IMDSv2 lanseras "omedelbart"”Ägandeskap” vs. gratis arbete för Big Tech
Reddit-tråden avslöjade en djup spänning i utvecklarcommunityn. Å ena sidan beundras mentaliteten — att bry sig om infrastruktur man inte äger, att rapportera buggar man inte behöver rapportera, att fixa saker för att de behöver fixas.
Å andra sidan: Amazon är värt över en biljon dollar. Percival fick sin första kompensation 2024 — ett GitHub-sponsoravtal på 10 timmar per vecka — efter 18 år av obetalt arbete.
”I can't fathom doing this much free work for a trillion dollar corporation.” — u/acadian_cajun (52 poäng)
Motargumentet kom snabbt. En annan kommentator påpekade att säkerhetsarbetet inte bara gynnade Amazon — det gynnade alla som kör tjänster på AWS. Varje förhindrad sårbarhet skyddar miljontals slutanvändare som aldrig vet att risken existerade.
”The security benefits Amazon, but it also benefits every person who uses a service that runs on AWS. We don't know the type of security issues the author prevented because they didn't happen.” — u/max123246
Tre saker utvecklare i Norden kan ta med sig
Percivals historia är extrem. 20 år av obetald infrastruktur för världens största molnleverantör. Men grundprincipen — ägandeskap bortom jobbeskrivningen — är relevant för alla utvecklare.
1. Ägandeskap kräver gränser
”Never not my job” fungerar bara med medvetna gränser. Percival valde sitt område (FreeBSD på EC2, säkerhet) och höll sig till det i 20 år. Det är skillnaden mellan fokuserat ägandeskap och att drunkna i andras arbete.
// Hälsosamt ägandeskap vs. burnout:
// ✅ Fokuserat ägandeskap:
const ownership = {
scope: "Infrastruktur och säkerhet i mitt domän",
duration: "Långsiktigt, konsistent",
compensation: "Erkänt, om inte alltid betalt",
boundary: "Jag väljer vad jag tar mig an",
};
// ❌ Burnout-mönstret:
const burnout = {
scope: "Allt som ingen annan gör",
duration: "Tills jag går in i väggen",
compensation: "Förväntat men inte erkänt",
boundary: "Jag kan inte säga nej",
};
// Skillnaden: ägandeskap är ett val.
// Burnout är frånvaron av val.2. Dokumentera och publicera — skriv den där rapporten
Percival bloggade om IMDS-risken 2016. Ingen lyssnade — men tre år senare, efter Capital One-intrånget, kunde ingen säga att problemet var okänt. Dokumentation skapar ansvarighet. Det gäller lika mycket för en intern säkerhetsrapport på ett svenskt företag som för ett publikt blogginlägg.
3. ”Klart” i mjukvara är en illusion
En av de bästa kommentarerna i Reddit-tråden:
”20 years on one system and still feeling responsible for it is real ownership — not just shipping and moving on, but living with the decisions long term. Kind of a reminder that 'done' in software is mostly an illusion.” — u/Economy_Walk_2143 (18 poäng)
Det här resonerar särskilt starkt i Norden, där många företag har system som har underhållits i 10-15+ år. Ägandeskap handlar inte om att skriva koden — det handlar om att leva med den.
Percivals bästa anekdoter
Blogginlägget är 20 år av historia, och några detaljer förtjänar att lyftas:
- Faxmaskinens NDA (2007): Amazon skickade ett NDA via fax. Percival hade ingen fax. Hans första NDA med Amazon försenades medan han skickade ett pappersexemplar med posten till Seattle.
- ”Defenestration”-hacket: Percival registrerade FreeBSD som Windows på EC2 för att kringgå instanstypsbegränsningar. Amazon ”was not very happy about” att betala Windows-avgiften.
- Routerdiagnos med miljontals pings (2012): Han diagnostiserade ett specifikt routerfel i Amazons datacenter genom att skicka miljontals pings längs en traceroute-rutt. Amazon var ”somewhat bemused” när han publicerade vilken router som var trasig.
- HyperThreading-rekommendationen: Vid re:Invent 2012 sa Percival till en EC2 Principal Engineer att aldrig köra två instanser på samma CPU-kärna. Han fick senare veta att det är anledningen till att många EC2-instansfamiljer hoppar över ”medium”-storleken.
- AWS Heroes-skämtet: ”The running joke among Heroes is that a Hero is someone who works for Amazon but doesn't get paid by Amazon.”
Slutsats: Ägandeskap är värdefullt — men det har ett pris
Percivals 20-årsberättelse illustrerar något som branschen behöver prata om mer öppet: ägandeskap utan kompensation är ohållbart. Att en av de mest erfarna infrastrukturexperterna i världen arbetade gratis för AWS i 18 år innan han fick ett sponsoravtal är inte inspirerande — det är ett systemfel.
Samtidigt visar historien att den som bryr sig om infrastrukturen — verkligen bryr sig, i årtionden — ser saker som ingen annan ser. Capital One-intrånget kunde ha förhindrats 2016 om någon hade lyssnat. Det är kanske den viktigaste lärdomen:att lyssna på de som tar ägandeskap kostar ingenting. Att ignorera dem kostar 106 miljoner kunduppgifter.
Källor
- Colin Percival — 20 Years on AWS and Never Not My Job (april 2026)
daemonology.net/blog/2026-04-11-20-years-on-AWS-and-never-not-my-job.html - r/programming (Reddit) — 20 Years on AWS and Never Not My Job (april 2026, 279 poäng)
reddit.com/r/programming/comments/1sipvi3/20_years_on_aws_and_never_not_my_job/ - AWS — IMDSv2: Instance Metadata Service Version 2
docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html - Krebs on Security — Capital One Data Theft Impacts 106M People (2019)
krebsonsecurity.com/2019/07/capital-one-data-theft-impacts-106m-people/