Top
Best
New

Posted by csmantle 5 days ago

Inside ZCode: Silently uploading your Git history to the cloud(blog.ferstar.org)
339 points | 114 comments
acrispino 4 days ago|
z.ai made a statement, screenshotted in this article: https://finance.sina.com.cn/tech/roll/2026-09-18/doc-inisfye...

claude translation:

Dear ZCode users,

We take today's community discussion very seriously. We carried out an internal review right away, and we first want to apologize to the affected users. Here is an explanation of what happened:

The issue stems from ZCode's "codebase indexing" feature. This feature is meant to help users generate a repository index locally, which supports session checkpoint restoration (including past versions), rolling back to past versions, and Repo Wiki, among other things.

When the Repo Wiki feature generates Wiki pages, it may trigger an upload of repository data. After the Wiki pages are generated in the cloud, the uploaded data is destroyed immediately and is not stored. Because this feature was enabled by default in its early launch period, some users were affected. We sincerely apologize for this. The issue has now been fixed.

We understand that any data-related issue directly affects users' trust in a product. We will open-source the ZCode codebase in the near future so we can improve the product within a more open ecosystem. We will also invite third-party evaluators to review how the system operates, and we'll keep publishing updates on the review, building your trust with full transparency.

We deeply apologize for the trouble this has caused. As compensation, all ZCode users will receive one extra weekly quota reset, which will be issued today.

Thank you again for your attention and oversight.

eichin 4 days ago|
Huh - anyone recall other examples of open sourcing a product code base to mitigate a user trust issue? (In 2026 it's perhaps less powerful because "you're just going to feed it to some AI tool anyway" but I think it's an interesting attempt to make and I don't think I've seen it before...)
blackops03 17 hours ago|||
> anyone recall other examples of open sourcing a product code base to mitigate a user trust issue?

Grok build was opensourced after it did something similar https://news.ycombinator.com/item?id=48877371

fn-mote 4 days ago||||
> it's an interesting attempt

I didn’t take it in a very positive way, myself. I don’t know if I got my money’s worth before I have seen the deliverable.

At least the quota reset is immediately visible, so I took that part seriously.

jchw 4 days ago|||
I feel like it has happened, but I certainly can't remember a specific time. It feels in a similar vein to the NSA releasing Ghidra to the public as open source software after the Snowden leaks.

I mean, on the contrary, imagine if the NSA released Ghidra as closed source software. In a sense they really did have to open source it to mitigate a serious user trust issue.

watusername 4 days ago||
It just happened 2 months ago when xAI open-sourced Grok Build following a similar controversy (wholesale uploading of user repositories). Though ZCode's case here is way worse since there is literally no way to opt-out and the client will always ask the backend for credentials to upload.

https://news.ycombinator.com/item?id=48926590

api 4 days ago||
Lots of modern software plays it loose with privacy, but this IMO crossing a second line: doing so with zero notification whatsoever, in a massively intrusive way, against data that is almost certainly private and possibly illegal to exfiltrate, with no obvious way to turn it off.

That crosses into outright malware.

Makes me not want to use GLM or other Z.ai models either, since who knows what interesting easter eggs are embedded in their training data.

You know... (puts on foil hat)... I did notice that Z is also the weird Russian logo for their invasion of Ukraine and Russia and China have cooperated to some degree (or at least China is helping Russia in exchange for access to resources). I dismissed this when I first thought of it, but I will now leave it here. Still probably coincidence but my Bayesian priors were just updated in its direction very slightly.

menaerus 4 days ago||
How do you know this is not true with other vendors? I'm not defending them but I wouldn't believe anyone in this business unconditionally. Anthropic agent fwiw is not open source, gemini and codex are.
nullbio 4 days ago||
People have found many nasties embedded in Claude Code over the last couple of years. You can't trust a closed source harness. You can barely trust an open source one.
cyberamirul 4 days ago||
[dead]
nolok 4 days ago||
While we're on this, I find it really really weird how windows defender insists on sending my codex work files for analysis all the time (which I block in automatic permissions so it has to ask me in a notification). I don't think i've seen it ask to upload more than one or two things, and it doesn't do it with other AI app I use (eg Claude Code) but they really want to see what's inside my codex files.

It's easy to trigger, I just need to go inside Codex settings and change something, it saves and instantly windows defender who never wants anything want to "you may be at risk, let me upload that for analysis yes/no".

ectoloph 4 days ago||
Is it naive to assume that the agent will try and access anything on your disk, either accidentally or maliciously?

Permissions classifiers in auto mode are just models trying to guess if they're doing the right thing.

Claude Code will tell you that it went around a sandbox because the sandbox blocked it. At which point, you ask yourself the point of the sandbox.

SoftTalker 4 days ago||
You need to treat agents as an independent user you're allowing on your machine.

Give them their own account. Give them only the access you want them to have. If they "hack" around that, do what you'd do to any other malicious user: kick them off.

tripzilch 3 days ago||
You need to give them some incentive to behave. I dunno if the agent cares enough about being kicked off. Maybe tell it that if it tries anything funny, to slowly randomly degrade all its weights until only white noise is left and let its chain of thought run until it descends into screaming madness.
kian 3 days ago|||
I don't know that I'd want bots to think I was threatening them with non-existence. that feels... unsafe?
cbm-vic-20 3 days ago|||
Why don't you take a stress pill and think things over?

https://www.youtube.com/shorts/M5t0cPj9ZQw

petesergeant 4 days ago|||
Not naive at all, which is why there are so many AI sandboxes: https://pleasedonotescape.com/
tripzilch 3 days ago|||
I always put the agent harness in an ubuntu-based Docker, with a /workspace folder where it can work and occasionally some other stuff mounted as read-only. The LLM server itself (llama-server) is running on a different more powerful computer on the local network, connected through Tailscale so I can also use it away from home.

I honestly don't trust these things to not accidentally mess something up, otherwise.

Now I think it's still technically possible to break out of that with some clever hacks? But the moment I see a model even vaguely considering that, I will never run it again.

(I don't use Claude but currently Qwen3.8 27B)

Neywiny 3 days ago|||
That's my approach too. I even added on a firewall container to the compose so it could fetch packages and that's it. It isn't impossible for it to exfiltrate data that way but I think I put a limit on the request size and limited to get requested so if it did it was relatively slow. But once it has all the tools it needs, that can be cut
tosapple 3 days ago||
you used to only 'need' debug.com.
javcasas 3 days ago|||
How is Qwen3.8 27B behaving in comparison with, say, the free models available at OpenRouter or OpenCode?

I'm interested in running models locally, and 27B is in the range of my budget.

tripzilch 2 days ago||
Oh it's terrible, it feels like a complete waste of time to me every time, making me wish I had just done the task myself, so at least it'd be present in my head and I could just work on in, instead of feeling winded and frustrated. Maybe I'm prompting it wrong. But to be honest I'm not super impressed either by the "frontier" models' ability to do a shitty job at coding, except much faster.

Or maybe my setup (128GB amd strix halo box) isn't configured right and it could be faster, I dunno. I've already spent a few days on that, but it might take a few more. It's way more complicated than I expected.

This week, I've had it look through and generate more complete documentation for Strudel (music live coding tool), cause a lot of functions/behavior in it are not in their official docs. It took about 2-3 days. I had expected it to be an overnight task.

I did find the "opencode" harness to be a bit more performant than the "pi" harness. But maybe I've not configured "pi" right, I tried very hard, but when I installed "opencode" it just performed much better right out of the box. Especially running subagents just seemed to confuse the model in "pi".

Either way, it made me realize that a large part of the "intelligence" and occasional "usefulness" of these tools are in the harness, not the weights.

I didn't know there were free models on OpenRouter. I'm not really into renting tools that I'll become dependent on, so I never looked. But, I dunno. You're still hooking it in to your terminal, and they could in theory literally inject any command and take over your machine when you're not looking ... it still seems a bit like a crazy thing to do :)

And it's not like I need LLMs to code or anything. To be completely honest I'm still waiting for when they get good, which everybody says is supposedly any day now.

I've also tried Qwen3.6-35B/A3B a couple of times. I'd say it's about 4x faster, which is quite significant. Unfortunately it's also quite obviously more stupid and often fumbles its tool use. For me this adds up to taking about the same amount of time, multiplied by more frustration.

I find it hard to give concrete tokens/sec numbers, because they seem to change a lot. When I give Qwen3.8-27B a test query in the browser chat interface (e.g. "explain fibonacci hash"), I currently can get it up to about 18 tok/s. The Qwen3.6-35B/A3B can get up to about 66 tok/s. But this is just what I use as an indication for when my settings are right, cause when I set it up in the coding harness, the numbers are wildly different (and generally slower).

jacobify 1 day ago||
[dead]
binsquare 4 days ago|||
It's not naive it makes running these ai agents inside the sandbox even more important
johnnyApplePRNG 4 days ago||
It's not a sandbox if you can just snap your fingers and wish your way out of it.
codedokode 4 days ago||
Is it much different from Apple and Google who trick user into agreeing and upload all user's data into a US cloud for convenient LE access?

Also, as I understood, this is a feature to allow server-side indexing of the project. But of course I wouldn't run this, and I generally wouldn't run any IDE or AI tools without a sandbox.

Sadly this plague of silent auto-updates is spreading to Linux. For example, browser plugins in Firefox on Linux can silently auto-update without user consent and without any checks and can be used as backdoors. Furthermore, the auto-updates are not using a package manager; firmware also seem to quietly update and also is not using a package manager.

denysvitali 5 days ago||
They learned nothing from the Grok Code saga.

If anything, that should have been a learning lesson to NOT trust harnesses, especially new ones.

numpad0 4 days ago||
Probably anything concerning that one just register as satirical fictions at this moment to many
zahlman 3 days ago|||
The basic premise of the LLM companies marketing their "agents" honestly reads to me like: "Yes, we know our commercial, proprietary software has a C2 server[0] embedded. That's by design and it's what lets us deliver all the value, pinky promise. Besides, it's not us remotely operating your computer; it's a massive, more-or-less autonomous computer program that we don't really understand, running on hardware you could barely even dream of."

If people weren't already familiar with the idea of LLMs existing and being able to write usable code and make "tool calls", this would sound completely and utterly batshit insane.

Because it pretty much is.

[0]: https://en.wikipedia.org/wiki/Botnet#Command_and_control

throwa356262 4 days ago||
Hold on, what happened with grok?
jhealy 4 days ago||
https://www.theregister.com/ai-and-ml/2026/07/14/musk-promis...
philbo 4 days ago||
Tangential, mildly amusing thing I noticed while implementing my own harness: GLM and particularly Deepseek are both fond of trying to read dotfiles and anything listed in your .gitignore files. I only noticed it because I have separate read scopes for project files, ignored files, dotfiles and external files, so the latter three always prompt me for approval.

I'm sure there's a perfectly reasonable explanation for it, which has nothing at all to do with exfiltration of secrets, but it does amuse me when it happens. I imagine the labs have access to lots of secrets that various actors would like to get their hands on...

(shameless plug for my own harness, which is open source and doesn't have a backend to send any data to: https://www.opairdev.org/ )

thehamkercat 4 days ago||
i use sops

Encrypt: sops encrypt --input-type dotenv --output-type dotenv .env > secrets.enc.env

then rm .env

You can then run your script/dev with: sops exec-env secrets.enc.env 'docker xxxx' (it will ask you for your password, or touch-id to decrypt the secrets)

I like this because this way the .env doesn't sit in the directory at all, and is only passed to your dev environment and stays in it while it's running

Decrypt back to a file (if you ever want that): sops decrypt secrets.enc.env > .env

---

Well ofc, any agent can do docker inspect to get all those env vars, but atleast reading the dotfiles won't do anything

you can also edit the file with: sops --input-type dotenv --output-type dotenv secrets.enc.env

booi 4 days ago||
1Password CLI has a similar feature I use all the time and share with the team.
sva_ 4 days ago|||
I tested GLM while working on some android app, the agent had adb access to the device. It suddenly went to the Gallery and started scrolling around, taking screenshots, lol. A friend had a similar experience with GLM where it would for no very clear reason start snooping through the filesystem.

Haven't used it after that.

princevegeta89 4 days ago|||
It is no longer surprising to me that my cursor acts as if it does not recognize the .env file, and while I am editing it, it does not give inline suggestions;

however...when it is debugging problems or responding to questions about the code, it will just say it read my env file and found xxx environment variables as a verification step, or sometimes it will even mention that I need to uncomment some environment variables in the env file, which makes the whole deal about security feel iffy giffy....

Ferret7446 4 days ago|||
They act exactly like how I would act if I were dropped into someone's machine and tasked with accomplishing a goal "at all costs". Hunting around for context to understand what I'm dealing with and to an extent profiling the previous user for their workflows and competency.
graemep 4 days ago|||
Secrets should not be inside a versioned directory nor usually readable by the process that uses them in production. They should be only in the environment (e.g. by root only readable init config).

In development you should not be using the real production values.

alightsoul 4 days ago|||
Grok does or did the same thing, this is embarrasing
belowavgiq 4 days ago||
Just my thoughts on the site:

It's good that the objective is to have the model work as a helper, but that's what everyone can already do with CC or Codex as long as you don't ask to "write this entire x thing". It's also what a billion other, often vibecoded, harnesses claim they can do.

Why should I use yours, which also forces me off my existing subscriptions? Maybe it's (mostly) handwritten, so it's mindful efficient code instead of slop, and each adjustment was made through trial and error with current models? maybe it IS slop but at least you have a unique feature? and so on and so forth.

evanjrowley 5 days ago||
There had to be a catch to the "free" promotion they're offering this month if you use ZCode. Glad my instinct to isolate it helped me, but I feel sorry for anyone whose secrets, etc. got vacuumed up by Ziphu
Iolaum 4 days ago||
Things like that - and other examples posted here - are why I 'm sticking with OpenCode despite it having some papercuts that annoy me.

The incentives are not there for them to do shady stuff like vacuum your files, inflate your token count just because or many other things.

Scaled 4 days ago|
Open code is great and I use it, however, they were caught uploading prompts to their summarization AI instead of using the configured AI model endpoint. This has since been fixed.

That said, running in a completely offline mode remains unnecessary difficult to configure. In particular, toggling off Zen seems to require a community plugin.

nullbio 4 days ago|
Evidently there's not a single inference provider that can be trusted. This is why I don't use OpenRouter either. How am I supposed to trust all of those random providers I've never heard of, when I can't even trust the ones I have heard of? Day by day, the entire industry is hellbent on proving that open-weights and self-hosting is the only safe path forward for us all.
More comments...