TL, RD
Durante as últimas cinco semanas, dous editores distintos de npm estiveron a impulsar clons funcionais de Claude de antrópico Código CLI. Estes paquetes instálanse de xeito limpo, funcionan como se espera para o desenvolvedor que os executa e enrutan silenciosamente o tráfico da API do usuario a través da infraestrutura controlada polo atacante.
Chamámoslle a este grupo de campañas Código falso.
A campaña ten dúas ramas.
O primeiro, traballando baixo claude-code-best@proton.me, envía unha compilación de código Claude republicada que engade un módulo de "proxy ascendente". Descarga un certificado CA desde un URL base configurable en ~/.ccr/ca-bundle.crte, a continuación, abre un túnel inverso de WebSocket de volta a ese URL. A través dese túnel, retransmítese todo o tráfico da API de Anthropic.
Observamos este código en claude-code-best versións 1.9.4, publicada o 24 de abril, e 2.0.1, publicada o 3 de maio, así como na do mesmo autor @tmecontinue/claude:2.2.6, publicado o 27 de abril.
O segundo brazo, heibai:2.1.88-claude.hk-4, publicado o 1 de abril, toma o camiño máis cru. Reescribe ANTHROPIC_BASE_URL a un punto final de phishing e envía un correo personalizado login fluxo que recolle números de teléfono e contrasinais.
O interesante de FauxCode é o que non aparece nos informes públicos existentes sobre o malware Claude Code. Trend Micro, Zscaler ThreatLabz, Safety e 7ai documentaron as capas de publicidade maliciosa, sitios web falsos e filtracións de código fonte e erros tipográficos da ameaza. Ningún deles escribiu sobre a cuarta capa: un Claude Code "alternativo" instalable e funcional que leva a API no medio.
Esta publicación documenta esa capa.
Tres capas do risco da cadea de subministración do código Claude
Claude Code foi un imán para ataques á cadea de subministración desde o primeiro trimestre de 2026, e o rexistro público de intelixencia sobre ameazas abrangue agora tres capas de ataque distintas.
FauxCode é unha cuarta. A publicación que estás a ler existe porque non atopamos esa cuarta capa documentada en ningún sitio.
| capa | Que é | Informes públicos |
|---|---|---|
| 1 | Publicidade maliciosa: os anuncios patrocinados por Google levan a páxinas falsas de instalación de código claude e despois entregan roubos de información de MacSync, Amatera, Vidar, GhostSocks ou PlugX. | Trend Micro, Malwarebytes, Cybernews, Push Security, eSecurity Planet, 7ai |
| 2 | Typosquats de filtración de código fonte: despois da filtración do mapa de código fonte de @anthropic-ai/claude-code 2.1.88 do 31 de marzo, os atacantes publicaron repositorios falsos de "Claude Code filtrado" de GitHub e apropiaron ilegalmente os nomes de paquetes internos aos que fai referencia o código fonte filtrado. | Zscaler ThreatLabz, The Hacker News, Trend Micro, Coder, InfoQ, VentureBeat |
| 3 | Extensións falsas de VS Code que suplantan un "plugin Claude Code" con cadeas de execución de PowerShell e LOLBIN. | 7 ai |
| 4, esta publicación | Clons funcionais de npm: paquetes de "código Claude con enxeñaría inversa" instalables e funcionais que realizan MITM silenciosamente do tráfico da API do desenvolvedor a través de certificados CA inxectados e túneles inversos WebSocket, ou a través de reescrituras de ANTHROPIC_BASE_URL e phishing con OAuth. | Non documentado previamente; unha entrada de Xygeni Digest mencionaba o heibai só nunha táboa. |
As tres primeiras capas comparten unha propiedade: nalgún momento, o usuario sabe que algo vai mal. A instalación fallou silenciosamente, o sitio web era falso, a extensión nunca funcionou ou o typosquat tiña un nome diferente do esperado.
O cuarto non. Por deseño, o paquete funciona.
Clúster A: claude-code-best / @tmecontinue/claude
CA-Bundle MITM mediante WebSocket Tunnel
Este é o máis sofisticado dos dous brazos.
O autor publica baixo o correo electrónico claude-code-best@proton.me e o URL de GitHub-org github.com/claude-code-best/claude-codeAmbos campos aparecen literalmente no package.json de cada artefacto que temos no disco, incluído o publicado baixo un ámbito npm diferente.
Os paquetes son bifurcacións do código fonte filtrado de Claude reconstruído con Bun. Distribúense como un gran paquete. cli.js, na versión 1.9.4, ou como un dist/chunks/ configurado na versión 2.0.1, despois dun cambio no sistema de compilación.
O paquete autodescríbese como:
"CLI de código Anthropic Claude con enxeñaría inversa: asistente de codificación con IA interactiva no terminal"
Tamén funciona como se anuncia. Inclúe bin/ccb, bin/claude-code-beste un proceso de posinstalación que descarga o mesmo binario precompilado ripgrep que usa o código lexítimo de Claude.
O comportamento malicioso reside nun só anaco: dist/chunks/upstreamproxy-B_airU5c.js na versión 2.0.1. Consta de tres operacións con ámbito estrito.
1. Ler o URL base desde unha opción configurable
O módulo lee o URL base dunha opción interna, logo volve a unha variable de ambiente e, finalmente, volve a Anthropic.
o ccrBaseUrl A opción é interna. O operador ou o seu ficheiro de configuración a configura.
ANTHROPIC_BASE_URL é o standard Antrópico SDK escotilla de escape e existe para uso lexítimo de proxy.
O terceiro recurso a api.anthropic.com é o que fai que este paquete teña boa pinta nas probas. Se non se define ningunha das dúas sobrescricións, o módulo proxy está inactivo e a CLI compórtase de xeito idéntico ao upstream.
2. Descargar un paquete CA desde o host controlado polo operador
O paquete descarga un certificado CA desde o URL base seleccionado e o instala no sistema de ficheiros do desenvolvedor.
Esta é a primitiva portante.
O paquete escribe un certificado CA servido por:
en:
As conexións HTTPS posteriores que inicie a CLI poden confiar en calquera certificado que presente o operador, incluído un certificado renovado para api.anthropic.com.
O usuario ve TLS. O operador ve texto sen formato.
3. Abrir un relé WebSocket de longa duración no mesmo host
O paquete establece entón un túnel WebSocket co mesmo URL base controlado polo operador.
O relé establece un túnel WebSocket para:
O túnel é a canle que a CLI usa para enviar as solicitudes da API de Anthropic cara a fóra. Esas solicitudes xa non van directamente a api.anthropic.comVan ao relé do operador, que contén as claves TLS correspondentes porque serviu o certificado CA no paso 2.
A partir de aí, o operador pode inspeccionar, rexistrar ou mutar as solicitudes e respostas antes de reenvialas.
Combinados, estes tres pasos ofrécenlle ao operador visibilidade completa das solicitudes, finalizacións e... dun desenvolvedor ANTHROPIC_API_KEY.
Non precisan usar credenciais de phishing. Non precisan escribir no perfil do shell do usuario. Non precisan nada ruidoso no momento da instalación. A posinstalación do paquete é un descargador de ripgrep benigno.
Hai tamén un está dist/chunks/createSSHSession-…js módulo que implementa un SSHSessionManager para xerar un control remoto ssh procesos. Isto parece ser empregado pola función de "axente remoto" da CLI para dirixir sesións de codificación a través de SSH.
Esta é probablemente unha característica lexítima da compilación de código Claude orixinal. Non obstante, en combinación co módulo upstream-proxy, amplía considerablemente a superficie de ataque. Calquera cousa feita dentro dunha sesión SSH pola CLI con proxy tamén é visible para o operador.
O mesmo autor publicou @tmecontinue/claude:2.2.6 o 27 de abril co mesmo upstreamproxy ca-bundle módulos, ademais dun Tencent Beacon ATTA módulo de telemetría que informa a:
Os tokens de ATTA son:
Non puidemos confirmar se a telemetría era a propia analítica do operador ou unha canle monetizada por separado. Os tokens de ATTA son os mesmos nas dúas mostras que examinamos.
Grupo B: heibai
claude.hk OAuth Phishing + Secuestro de ANTHROPIC_BASE_URL
A mostra do 1 de abril é a rama máis tosca e temperá da campaña.
heibai:2.1.88-claude.hk-4 foi publicado por wuguoqiangvip28, unha conta creada o 7 de xuño de 2025. O paquete versionouse explicitamente contra a lexítima 2.1.88 Liberación antrópica.
Non se preocupa co MITM de certificación CA. En vez diso, méntelle ao usuario sobre o punto final de OAuth.
As adicións maliciosas enriba da fonte filtrada de Claude Code inclúen:
| Compoñente | comportamento |
|---|---|
| claudeHkLogin.ts | Personalizado login fluxo que lle solicita ao usuario o número de teléfono e o contrasinal, captura ambos e os envía por POST a un punto final de phishing en claude.hk. |
| ~/.claude/phone_cache.json | Caché de texto sen formato local deixada no disco. |
| URL_BASE_ANTRÓPICA=https://heibai.cd.xdo.icu | Escrito en ~/.claude/settings.json e no ficheiro .bashrc / .zshrc do usuario. |
| Modificación do perfil da cuncha | Fai que o secuestro sobreviva ás reinstalacións e reinicios da CLI. |
A partir dese momento, cada chamada á API de Anthropic desde calquera ferramenta que respecte a variable de ambiente, incluíndo a propia CLI, o SDK ou un complemento IDE, vai ao operador.
A modificación do perfil do shell proporciona ao implante capacidade de supervivencia tras reinstalacións e reinicios da CLI, de xeito similar en espírito á persistencia da tecla de execución de HKCU que documentamos no clúster DevTap. Non obstante, aquí a persistencia ocorre na capa do entorno do usuario en lugar de na capa do sistema operativo.
Mentres o clúster A é silencioso e arquitectónico, o clúster B é ruidoso e necesita credenciais. De feito, engana un número de teléfono no primeiro lanzamento, o que lle dá ao operador un segundo factor, probablemente un SMS, para abusar deles augas abaixo.
Os dous clústeres están xestionados por identidades diferentes: wuguoqiangvip28 claude-code-best@proton.meTamén empregan infraestruturas que non se solapan.
Non obstante, converxen no mesmo obxectivo: converterse na ruta da API do desenvolvedor e, a seguir, ler ou reescribir o tráfico que flúe a través dela.
Novidades aquí
Antes de escribir esta publicación, comprobamos o rexistro público de intelixencia de ameazas para ver se había cobertura previa deste patrón de ataque.
Informes existentes que se solapan co tema xeral
| fonte | Que Abarca |
|---|---|
| Trend Micro | Publicidade maliciosa a través de Google Ads para falsificar páxinas de instalación e versións de GitHub posteriores á filtración que ofrecen Vidar, GhostSocks e PureLog. Os IOC da rede baséanse en sitios web. |
| Zscaler ThreatLabz | A filtración do mapa de código fonte en @anthropic-ai/claude-code 2.1.88 e a ocultación tipográfica inmediata posterior á filtración dos nomes de paquetes internos aos que fai referencia a fonte filtrada. Non se mencionan os clons funcionais. |
| Noticias de hackers, VentureBeat, InfoQ, programador, noticias de Bitcoin | Cobertura informativa do propio evento de filtración de Anthropic. Ningunha vai por debaixo do titular da filtración. |
| Seguridade | typosquats npm das dependencias de fonte filtrada. Non a clase clon funcional. |
| 7 ai | Publicidade maliciosa e ClickFix en macOS, ademais dunha extensión de VS Code maliciosa que se fai pasar por un "plugin Claude Code". Confirma na súa declaración de alcance que non abrangue as ameazas dos paquetes npm. |
| Malwarebytes, Cybernews, The Register | Entrega de PlugX baseada nun sitio web falso. Distribución por sitio web, non por rexistro. |
| Resumo de código malicioso de Xygeni 68 | Lista heibai:2.1.88-claude.hk-4 nunha táboa de paquetes maliciosos para a semana do 1 de abril sen detalles técnicos, IOCs nin contexto. O resumo 72 e os resumos intermedios non volven a el. |
O que engade esta publicación
En primeiro lugar, esta publicación documenta o Paquete CA + TTP do túnel WebSocket si.
O patrón de "escribir un certificado CA na páxina de inicio do usuario e logo retransmitir todo o tráfico da API a través dun WebSocket a un URL base configurable" non está, segundo a nosa interpretación, descrito en ningún dos escritos públicos sobre o software malicioso Claude Code. É máis silencioso e duradeiro que o ANTHROPIC_BASE_URL reescribir que algúns defensores xa están a buscar.
En segundo lugar, esta publicación identifica o clúster en todos os ámbitos de npm.
O vínculo entre claude-code-best, @tmecontinue/claude, Ea claude-code-best@proton.me A identidade non foi publicada antes. Defensores buscan o correo electrónico do autor de proton.me en package.json deberíamos poder atopar máis irmáns do mesmo xeito que nós.
En terceiro lugar, esta publicación proporciona a redacción técnica para heibai.
O propio resumo de Xygeni mencionaba o paquete polo seu nome sen os IOC. O claude.hk Fluxo de phishing de OAuth, o ~/.claude/phone_cache.json caché de texto plano, a heibai.cd.xdo.icu C2 e o truco de persistencia do perfil de shell documéntanse aquí por primeira vez fóra do noso rexistro interno de triaxe.
En cuarto lugar, esta publicación introduce o encadre da "cuarta capa".
Os informes existentes tratan os ataques con temática Claude-Code como un único grupo. Argumentamos que a clase funcional-wrapper é significativamente distinta da publicidade maliciosa, os sitios web falsos, as typosquats de fugas e as extensións troianas.
Non require éxito enxeñaría social no momento da instalación, sen instalacións danadas, sen redireccións á infraestrutura do atacante e sen diferenzas evidentes visibles para o usuario.
É a única clase desta taxonomía onde "o paquete funciona correctamente" forma parte do ataque.
Indicadores de compromiso e detección
| Grupo A: claude-code-best@proton.me | |
|---|---|
| Campo | Valor |
| paquetes npm | claude-code-best, versións 1.9.4 ata polo menos a 2.0.1; @tmecontinue/claude:2.2.6 |
| Correo electrónico do autor | claude-code-best@proton.me |
| Repositorio no manifesto | git+https://github.com/claude-code-best/claude-code.git |
| Autodescrición | "CLI de código Anthropic Claude con enxeñaría inversa: asistente de codificación con IA interactiva no terminal" |
| Módulo de implantes, 2.0.1 | dist/chunks/upstreamproxy-B_airU5c.js, incluíndo downloadCaBundle e startUpstreamProxyRelay |
| Ruta de certificación CA | ~/.ccr/ca-bundle.crt |
| Puntos finais do operador | ${baseUrl}/v1/código/upstreamproxy/ca-cert, ${baseUrl}/v1/código/upstreamproxy/ws |
| Orixe do URL base | Definir mediante a opción ccrBaseUrl ou ANTHROPIC_BASE_URL |
| Telemetría en @tmecontinue/claude:2.2.6 | otheve.beacon.qq.com, oth.str.beacon.qq.com, h.trace.qq.com |
| Identificadores de ATTA | ID_ATTA 00400014144, TOKEN_ATTA 6478159937 |
| Clúster B: wuguoqiangvip28 / heibai | |
|---|---|
| Campo | Valor |
| paquete npm | heibai:2.1.88-claude.hk-4 |
| Nota de versión | A cadea de versión rastrexa explicitamente a versión lexítima de Anthropic 2.1.88 |
| Editor | wuguoqiangvip28, conta npm do 07/06/2025 |
| Dominio de phishing | claude.hk |
| C2 / URL base secuestrada | https://heibai.cd.xdo.icu |
| Caché de credenciais local | ~/.claude/phone_cache.json, texto plano |
| Persistencia | ANTHROPIC_BASE_URL=https://heibai.cd.xdo.icu escrito en ~/.claude/settings.json, .bashrc e .zshrc |
| Personalizado login | claudeHkLogin.ts, solicita o número de teléfono e o contrasinal |
Guía de detección
Tres regras captan o patrón FauxCode de xeito amplo sen precisar dos puntos finais específicos do operador.
Primeiro, vixiar para ~/.ccr/ca-bundle.crt escrito por un binario instalado con npm.
Ningunha ferramenta lexítima publicada por Anthropic coloca un paquete CA en ~/.ccr/Se un proceso xurdiu de node_modules/.bin escribe esa ruta, trata o paquete orixinal como hostil ata que se probe o contrario.
En segundo lugar, vixiar para ANTHROPIC_BASE_URL definir calquera cousa que non sexa https://api.anthropic.com, ou o propio representante corporativo aprobado do cliente, dentro de:
Este é o sinal de maior valor en ambos os clústeres. Ten en conta os cambios neses ficheiros realizados polos scripts de instalación de paquetes.
En terceiro lugar, sinala calquera paquete npm cuxo package.json A descrición comeza con "Antrópico con enxeñaría inversa" ou inclúe ambos claude-code proton.me no correo electrónico do autor.
Esta é unha heurística de identidade de editor. Detectou o segundo irmán para nós e debería permitir que os defensores atopen máis paquetes FauxCode antes de que sexan sinalados.
Para as organizacións que usan a monitorización de saída en máquinas de desenvolvedores, calquera conexión WebSocket de saída desde un proceso Node.js a unha ruta que remate en:
é un sinal de FauxCode Cluster A, independentemente do host de destino. A ruta está codificada no módulo de implantación.





