WNC LogoWNC
ServicesSolutionsEntrepriseAcadémieLabsContact
Ouvrir Kanban

We No Code. We Architect.

Démarrer un projet daniel@we-nocode.com
WNC LogoWNC

Partenaire IA & automatisation. Conçu avec soin aux États-Unis, en Pologne, en Estonie, au Brésil et en Ukraine.

daniel@we-nocode.com+38 (068) 758-94-22+38 (095) 411-95-37
100 % à distance, partout dans le monde

Solutions

  • Atflow
  • Alt Auth
  • AdCrier
  • Pastukh
  • Olymp Hill

Portails

  • Portail client
  • Portail investisseurs
  • Portail partenaires

Entreprise

  • À propos
  • Notre équipe
  • Études de cas
  • Témoignages
  • Investissement
  • Blog
  • Actualités
  • Carrières
  • Implantations
  • Contact

Labs

  • Miltech
  • AI Labs
  • Internet of Things
  • Robotics

Initiatives

  • Startup Program
  • Academy
  • Olymp Hill

Services

Tous les services
IA
  • Systèmes d’IA agentique
  • Agents IA & copilotes
  • Serveurs MCP
  • Pipelines RAG
  • Agents vocaux IA
  • Logiciels natifs IA
  • Automatisation des flux de travail
  • LLMOps et evals
  • Fine-tuning et modèles
  • IA documentaire
  • Vision par ordinateur
Développement
  • Développement web
  • Développement mobile
  • Développement SaaS et MVP
  • Design UI/UX et produit
  • Intégrations et APIs
  • Développement e-commerce
  • Modernisation legacy
  • QA et tests automatisés
  • No-code et low-code
  • Développement desktop
Embarqué & IoT
  • Solutions IoT
  • Firmware embarqué
  • Linux embarqué & SoC
  • Edge AI & TinyML
  • Sans fil & connectivité
  • Prototypage matériel
  • Plateforme & cloud IoT
  • Gestion de flotte & OTA
  • IoT industriel (IIoT)
  • Sécurité IoT
Cloud & données
  • Ingénierie des données
  • Infrastructure cloud pour l’IA
  • Développement serveur
  • DevOps et plateformes
  • Migration et FinOps
  • BI et tableaux de bord
  • Analytique de performance
  • Support et SRE
Sécurité
  • Pentest
  • Red teaming IA
  • Conformité
  • Authentification
  • Sécurité du cloud
  • Développement sécurisé
  • Chaîne logicielle
  • Audits de sécurité
  • Surveillance sécurité
  • Zero trust
  • Vie privée et RGPD
Conseil
  • Conseil & accompagnement
  • CTO as a service
  • Stratégie et gouvernance IA
  • Due diligence technique
  • Équipe dédiée
  • Formation IA pour les entreprises
R&D / innovation
  • Preuve de concept & faisabilité
  • Prototypage rapide
  • Recherche en IA appliquée
  • Veille & choix technologiques

© 2026 WNC. Tous droits réservés.

🇺🇦Soutenez l’Ukraine

We No Code

Back to News
Claude Code's Entire Source Code Got Leaked via a Sourcemap in npm, Let's Talk About It
March 31, 2026GitHub

Claude Code's Entire Source Code Got Leaked via a Sourcemap in npm, Let's Talk About It

How Did This Even Happen?

This is the part that honestly made me go "...really?" When you publish a JavaScript/TypeScript package to npm, the build toolchain often generates source map files (.map files). These files are a bridge between the minified/bundled production code and the original source, they exist so that when something crashes in production the stack trace can point you to the actual line of code in the original file, not some unintelligible line 1, column 48293 of a minified blob. But the fun part is source maps contain the original source code. The actual, literal, raw source code, embedded as strings inside a JSON file. The structure of a .map file looks something like this:

"{ "version": 3, "sources": ["../src/main.tsx", "../src/tools/BashTool.ts", "..."], "sourcesContent": ["// The ENTIRE original source code of each file", "..."], "mappings": "AAAA,SAAS,OAAO..." }"

That sourcesContent array? That's everything. Every file. Every comment. Every internal constant. Every system prompt. All of it, sitting right there in a JSON file that npm happily serves to anyone who runs npm pack or even just browses the package contents. This is not a novel attack vector. It's happened before and honestly it'll happen again. The mistake is almost always the same: someone forgets to add *.map to their .npmignore or doesn't configure their bundler to skip source map generation for production builds. With Bun's bundler (which Claude Code uses), source maps are generated by default unless you explicitly turn them off.

Claude Code's Entire Source Code Got Leaked via a Sourcemap in npm, Let's Talk About It

The funniest part is, there's an entire system called "Undercover Mode" specifically designed to prevent Anthropic's internal information from leaking. They built a whole subsystem to stop their AI from accidentally revealing internal codenames in git commits... and then shipped the entire source in a .map file, likely by Claude.

What's Claude Under The Hood?

If you've been living under a rock, Claude Code is Anthropic's official CLI tool for coding with Claude and the most popular AI coding agent. From the outside, it looks like a polished but relatively simple CLI. From the inside, It's a 785KB main.tsx entry point, a custom React terminal renderer, 40+ tools, a multi-agent orchestration system, a background memory consolidation engine called "dream," and much more Enough yapping, here's some parts about the source code that are genuinely cool that I found after an afternoon deep dive:

BUDDY - A Tamagotchi Inside Your Terminal

I am not making this up. Claude Code has a full Tamagotchi-style companion pet system called "Buddy." A deterministic gacha system with species rarity, shiny variants, procedurally generated stats, and a soul description written by Claude on first hatch like OpenClaw. The entire thing lives in buddy/ and is gated behind the BUDDY compile-time feature flag.

The Gacha System

Your buddy's species is determined by a Mulberry32 PRNG, a fast 32-bit pseudo-random number generator seeded from your userId hash with the salt 'friend-2026-401':

"// Mulberry32 PRNG - deterministic, reproducible per-user function mulberry32(seed: number): () => number { return function() { seed |= 0; seed = seed + 0x6D2B79F5 | 0; var t = Math.imul(seed ^ seed >>> 15, 1 | seed); t = t + Math.imul(t ^ t >>> 7, 61 | t) ^ t; return ((t ^ t >>> 14) >>> 0) / 4294967296; } }"

Same user always gets the same buddy.

18 Species (Obfuscated in Code)

The species names are hidden via String.fromCharCode() arrays - Anthropic clearly didn't want these showing up in string searches. Decoded, the full species list is:

Claude Code's Entire Source Code Got Leaked via a Sourcemap in npm, Let's Talk About It

On top of that, there's a 1% shiny chance completely independent of rarity. So a Shiny Legendary Nebulynx has a 0.01% chance of being rolled. Dang.

Stats, Eyes, Hats, and Soul

Each buddy gets procedurally generated: 5 stats: DEBUGGING, PATIENCE, CHAOS, WISDOM, SNARK (0-100 each) 6 possible eye styles and 8 hat options (some gated by rarity) A "soul" as mentioned, the personality generated by Claude on first hatch, written in character The sprites are rendered as 5-line-tall, 12-character-wide ASCII art with multiple animation frames. There are idle animations, reaction animations, and they sit next to your input prompt.

The Lore

The code references April 1-7, 2026 as a teaser window (so probably for easter?), with a full launch gated for May 2026. The companion has a system prompt that tells Claude:

"A small {species} named {name} sits beside the user's input box and occasionally comments in a speech bubble. You're not {name} - it's a separate watcher."

So it's not just cosmetic - the buddy has its own personality and can respond when addressed by name. I really do hope they ship it.

Read more:

https://github.com/Kuberwastaken/claude-code

Back to all news