logoalt Hacker News

The Claude Code Source Leak: fake tools, frustration regexes, undercover mode

254 pointsby alex000kimtoday at 1:04 PM111 commentsview on HN

Comments

peacebeardtoday at 6:42 PM

The name "Undercover mode" and the line `The phrase "Claude Code" or any mention that you are an AI` sound spooky, but after reading the source my first knee-jerk reaction wouldn't be "this is for pretending to be human" given that the file is largely about hiding Anthropic internal information such as code names. I encourage looking at the source itself in order to draw your conclusions, it's very short: https://github.com/alex000kim/claude-code/blob/main/src/util...

show 6 replies
mzajctoday at 7:06 PM

There are now several comments that (incorrectly?) interpret the undercover mode as only hiding internal information. Excerpts from the actual prompt[0]:

  NEVER include in commit messages or PR descriptions:
  - The phrase "Claude Code" or any mention that you are an AI
  - Co-Authored-By lines or any other attribution

  BAD (never write these):
  - 1-shotted by claude-opus-4-6
  - Generated with Claude Code
  - Co-Authored-By: Claude Opus 4.6 <…>
This very much sounds like it does what it says on the tin, i.e. stays undercover and pretends to be a human. It's especially worrying that the prompt is explicitly written for contributions to public repositories.

[0]: https://github.com/chatgptprojects/claude-code/blob/642c7f94...

show 5 replies
Reason077today at 7:13 PM

> "Anti-distillation: injecting fake tools to poison copycats"

Plot twist: Chinese competitors end up developing real, useful versions of Claude's fake tools.

show 2 replies
ripbozotoday at 6:41 PM

I don't understand the part about undercover mode. How is this different from disabling claude attribution in commits (and optionally telling claude to act human?)

On that note, this article is also pretty obviously AI-generated and it's unfortunate the author didn't clean it up.

show 2 replies
causaltoday at 6:58 PM

I'm amazed at how much of what my past employers would call trade secrets are just being shipped in the source. Including comments that just plainly state the whole business backstory of certain decisions. It's like they discarded all release harnesses and project tracking and just YOLO'd everything into the codebase itself.

show 5 replies
evil-olivetoday at 7:49 PM

> So I spent my morning reading through the HN comments and leaked source.

> This was one of the first things people noticed in the HN thread.

> The obvious concern, raised repeatedly in the HN thread

> This was the most-discussed finding in the HN thread.

> Several people in the HN thread flagged this

> Some in the HN thread downplayed the leak

when the original HN post is already at the top of the front page...why do we need a separate blogpost that just summarizes the comments?

show 1 reply
simianwordstoday at 6:44 PM

> The multi-agent coordinator mode in coordinatorMode.ts is also worth a look. The whole orchestration algorithm is a prompt, not code.

So much for langchain and langraph!! I mean if Anthropic themselves arent using it and using a prompt then what’s the big deal about langchain

show 3 replies
fatcullentoday at 7:49 PM

The buddy feature the article mentions is planned for release tomorrow, as a sort of April Fools easter egg. It'll roll out gradually over the day for "sustained Twitter buzz" according to the source.

The pet you get is generated based off your account UUID, but the algorithm is right there in the source, and it's deterministic, so you can check ahead of time. Threw together a little app to help, not to brag but I got a legendary ghost https://claudebuddychecker.netlify.app/

show 1 reply
layer8today at 7:41 PM

> Sometimes a regex is the right tool.

I’d argue that in this case, it isn’t. Exhibit 1 (from the earlier thread): https://github.com/anthropics/claude-code/issues/22284. The user reports that this caused their account to be banned: https://news.ycombinator.com/item?id=47588970

Maybe it would be okay as a first filtering step, before doing actual sentiment analysis on the matches. That would at least eliminate obvious false positives (but of course still do nothing about false negatives).

show 1 reply
pixl97today at 6:02 PM

>Claude Code also uses Axios for HTTP.

Interesting based on the other news that is out.

show 2 replies
ptrl600today at 7:58 PM

Why didn't they open the source themselves? What's the point of all this secrecy anyway?

show 1 reply
stavrostoday at 7:11 PM

Can someone clarify how the signing can't be spoofed (or can it)? If we have the source, can't we just use the key to now sign requests from other clients and pretend they're coming from CC itself?

show 1 reply
armanjtoday at 7:40 PM

> Anti-distillation: injecting fake tools to poison copycats

Does this mean `huggingface.co/Jackrong/Qwen3.5-27B-Claude-4.6-Opus-Reasoning-Distilled` is unusable? Had anyone seen fake tool calls working with this model?

show 2 replies
simianwordstoday at 6:35 PM

> The obvious concern, raised repeatedly in the HN thread: this means AI-authored commits and PRs from Anthropic employees in open source projects will have no indication that an AI wrote them. It’s one thing to hide internal codenames. It’s another to have the AI actively pretend to be human.

I don’t get it. What does this mean? I can use Claude code now without anyone knowing it is Claude code.

show 2 replies
ameliustoday at 7:48 PM

A few weeks ago I was using Opus and Sonnet in OpenCode. Is this not possible anymore?

show 1 reply
seanwilsontoday at 6:42 PM

Anyone else have CI checks that source map files are missing from the build folder? Another trick is to grep the build folder for several function/variable names that you expect to be minified away.

motbus3today at 7:07 PM

I am curious about these fake tools.

They would either need to lie about consuming the tokens at one point to use in another so the token counting was precise.

But that does not make sense because if someone counted the tokens by capturing the session it would certainly not match what was charged.

Unless they would charge for the fake tools anyway so you never know they were there

viccistoday at 7:41 PM

>This was the most-discussed finding in the HN thread. The general reaction: an LLM company using regexes for sentiment analysis is peak irony.

>Is it ironic? Sure. Is it also probably faster and cheaper than running an LLM inference just to figure out if a user is swearing at the tool? Also yes. Sometimes a regex is the right tool.

I'm reading an LLM written write up on an LLM tool that just summarizes HN comments.

I'm so tired man, what the hell are we doing here.

marcd35today at 7:38 PM

> 250,000 wasted API calls per day

How much approximate savings would this actually be?

dangustoday at 7:56 PM

Something I’ve been thinking about, somewhat related but also tangential to this topic:

The more code gets generated by AI, won’t that mean taking source code from a company becomes legal? Isn’t it true that works created with generative AI can’t be copyrighted?

I wonder if large companies have throught of this risk. Once a company’s product source code reaches a certain percentage of AI generation it no longer has copyright. Any employee with access can just take it and sell it to someone else, legally, right?

simianwordstoday at 6:38 PM

Guys I’m somewhat suspicious of all the leaks from Anthropic and think it may be intentional. Remember the leaked blog about Mythos?

show 2 replies
saadn92today at 7:09 PM

The feature flag names alone are more revealing than the code. KAIROS, the anti-distillation flags, model codenames those are product strategy decisions that competitors can now plan around. You can refactor code in a week. You can't un-leak a roadmap.

mmaundertoday at 7:35 PM

Come on guys. Yet another article distilling the HN discussion in the original post, in the same order the comments appear in that discussion? Here's another since y'all love this stuff: https://venturebeat.com/technology/claude-codes-source-code-...

OfirMaromtoday at 6:27 PM

Undercover mode is the most concerning part here tbh.

show 1 reply
Jaco07today at 8:06 PM

[dead]

skrun_devtoday at 7:53 PM

[dead]