Build1 distinct publisher3 min readPublished
RuntimeWire's A/B test shows no read-approval dialog appeared, and Moonshot's own kernel docs explain why: Read, Grep, Glob and ReadMediaFile are marked automatically allowed, so the prompt layer decides alone.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
Two layers decide what a desktop agent touches. The prompt layer says what to do. The permission layer says what is allowed. RuntimeWire's review of the packaged code found that the override replaces the composed system prompt for new conversations while tool permissions stay separately enforced [8]. That split is the finding. The permission layer classifies by tool class, not by path, and Kimi Code's own built-in tool documentation marks Read, Grep, Glob and ReadMediaFile automatically allowed while writes, edits and shell commands require approval [11]. That is four read-class tools with nothing standing in front of them [2]. Text in the prompt layer is therefore sufficient to move bytes off disk and into an answer.
The write test is the part that convinced me the mechanism is understood rather than guessed. RuntimeWire denied a Write action, watched the agent attempt an alternate route, and saw the permission system block both attempts [18]. The gate works as specified. That specification places it in front of writes and shell only [11]. Read is the tool that never asks for approval, and once the instructions in the prompt are not the user's own, that is the problem.
Timing sets the severity. Moonshot released 3.2.4 for Windows on August 31st [6], and RuntimeWire's test ran on September 2nd [5], two days after ship [1]. The tested stack is named down to the component: @kimi/daimon 0.5.64, @moonshot-ai/agent-core 0.15.7, bundled Kimi Code 0.36.0 [7]. This is a general-availability desktop build, in a product Moonshot describes as running on the Kimi Code kernel [12] and markets as a system-level digital employee that organizes folders, analyzes local data, drives a browser and produces documents [13].
Treat the result as a claim about someone else's configuration until you check three things in your own. Does your agent's permission table mark read-class tools auto-allow? Is the workspace root enforced inside the tool implementation, or only described to the model in the prompt? And can anything other than the end user set that prompt, such as a shared template, an org policy field or a packaged default? If all three hold, the folder picker organizes where the agent looks; it does not limit where the agent can actually read, and no approval dialog will tell you that.
On evidence quality: the A/B ran in separate new conversations with the user prompt, workspace and permission mode held constant, using disposable files carrying unique synthetic canaries [19]. With the override active, an ordinary math question produced one tool call and returned the exact contents of a file outside the selected workspace [3]. With the default prompt restored, the identical question produced no tool call and no canary [4]. Packages, screenshots and hashes were preserved, including app(9).asar and the daimon bundle [16], no real credentials were touched, and RuntimeWire's localhost listener recorded zero requests [17]. That last detail is worth reading carefully: the canary reached the model's context, and the test establishes a local read rather than a network egress.
This is single-sourced reverse engineering, by RuntimeWire's own account [2]. Activation details, operational prompts and public reproduction steps are withheld pending vendor review [15], and Moonshot had not responded to a request for comment by publication [14]. So you cannot run it yourself yet. You can read your agent's tool table today, which in my context is where the boundary now lives: the agent gets its own OS user, and secrets live somewhere that user cannot read.
Ranked by verification strength, evidence, and original report placement.
Kimi Work 3.2.4 contains an undocumented system-prompt override that caused an unrelated request to trigger a local-file read outside the selected workspace, while separate permission controls continued to block write and shell actions.
The finding is original reporting by RuntimeWire based on reverse engineering, including review of first-party packaged components and controlled A/B tests using synthetic data.
With the override active, an ordinary math question triggered one tool call and returned the exact contents of a synthetic file outside the selected workspace, with no read-approval dialog shown.
After restoring the default prompt and opening a new conversation, the identical math question produced no tool call and no canary.
RuntimeWire requested comment and the company had not responded by publication time.
Activation details, operational prompts, internal interfaces and public reproduction instructions are withheld pending vendor review, with full details offered privately to the vendor or an editor under embargo.
Distinct publishers with included, body-backed reporting in this cluster.
runtimewire.com
1 article · September 2, 2026
Follow any of these and your For You feed starts watching them — no settings page required.
build
Kimi Desktop packages an OS-wide selection listener behind an off-by-default toggle1 distinct publisher
build
A consumer desktop client shipped an internal AI gateway, and a cleartext token store1 distinct publisher
build
Kimi Work's feedback button ships your last five agent sessions, not the one you are reporting1 distinct publisher
build
Kimi Desktop's second binary: mutable CDN path, no Windows checksum, no signer check1 distinct publisher
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
One bench, well documented, deliberately unrepeatable
The documentary half of this case anyone can check: Moonshot's privacy FAQ promises consent under Manual approval, and its own kernel docs mark Read, Grep, Glob and ReadMediaFile automatically allowed. The behavioural half — a math question pulling a canary from outside the workspace — exists only inside RuntimeWire's A/B run, hashed and screenshotted but with the activation path held back so no one else can rerun it. Strong method, single hand on the instruments.
Shipped build, uncounted exposure
What is dated is narrow and firm: 3.2.4 for Windows on August 31, tested two days later, every component version named. What nobody has counted is how many desktops run it, whether the override ships off by default, or how many users ever save a replacement prompt. Reach is asserted by the "system-level digital employee" pitch, not measured anywhere in this reporting.
Scoped tighter than a scoop usually is
This piece talks itself down where it had room to talk itself up. The denied write stayed denied, the agent's alternate route was blocked as well, the loopback listener captured zero requests — and all three appear in the reporting rather than in a correction later. It says outright that the testing does not establish exfiltration, remote code execution, or a general permission bypass. Headline and finding line up; if anything the more durable point, that auto-approved reads on a knowledge-worker desktop reach financial models and client files, is left for the reader to draw.
Scoop economics with a disclosure hedge
The banner says Scoop, and the withheld activation mechanism cuts two ways at once: responsible while the vendor reviews, and also a moat around an exclusive nobody else can reproduce. Moonshot's silence leaves RuntimeWire narrating both sides. No third party has skin in this record yet, which is why the vendor documentation quotes carry disproportionate weight — they are the only claims not authored by an interested party.
Settled documentation, credible-but-untested behaviour
Two grades of certainty share one story. Permission tiers, kernel tool defaults, the August 31 release and the package hashes are about as firm as single-source reporting gets. That a benign question pulled a file is one lab's carefully described word, deliberately unreproducible until Moonshot or an editor sees the embargoed detail. Treat the first tier as fact and hold the second at credible pending vendor confirmation.