Kimi Work 秘密将最近五次代理会话的原始记录附加到反馈报告中
Moonshot AI 的 Windows 桌面应用在用户提交反馈时,会将来自最近更新的五个 Kimi Work 对话的有限原始记录打包。该表单不会标识这些附件或所选对话。
By Ryan Merket · Published · Updated
RUNTIMEWIRE INVESTIGATION — Scoop
Original reporting by RuntimeWire, based on reverse engineering, testing.
Why it matters
Kimi Work can handle private files, source code and shell output. Packaging five recent sessions without listing them prevents users from reviewing the data attached to feedback.
Reporting record
Finding
Submitting feedback in Kimi Work automatically triggers uploads of a diagnostic archive and bounded raw-record archives from the five most recently updated agent sessions, while the form does not list those attachments or let users choose which sessions are included.
How we verified
Methods: reverse engineering, testing.
RuntimeWire reverse-engineered Kimi Desktop 3.1.5 and its bundled Daimon 0.5.49 service. Static tracing established that the renderer invokes diagnostic-log and raw-record uploads before submitting feedback; the main process sorts all Work conversations by updatedAt, selects five, requests an archive for each and sends the ZIPs to /file/upload_simple. In a Windows Firewall-blocked test launched from Plugins feedback, Kimi selected five distinct conversation IDs, each reached the HTTP upload stage and failed with ERR_NETWORK_ACCESS_DENIED. Kimi's log concluded: "ok: 0/5 archives uploaded in 166ms." Official documentation describes wire.jsonl as the agent's complete communication record and says it includes request parameters, tool schemas and MCP tool listings.
RuntimeWire extracted the production ASAR and Windows Daimon bundle without modifying them, hashed the relevant files and traced the feedback flow from the renderer through preload IPC, the desktop main process, Daimon's archive generator and the two Kimi HTTP endpoints. We decoded the archive limits and sanitization logic, checked Kimi's public help, session-export documentation and privacy policy, and searched for prior reporting. For runtime validation, we blocked outbound traffic from the signed Kimi.exe, started the application, submitted harmless feedback from the Plugins page and reviewed the resulting main-process logs. The firewall denied every external request. We did not inspect or transmit conversation-record contents.
Tested versions: Kimi Desktop 3.1.5, release 3.1.5+c88420152; Daimon 0.5.49; Windows x64; Electron 41.7.2.
Reproduction
RuntimeWire independently reproduced the core finding.
Install Kimi Desktop 3.1.5 on Windows and ensure the Work interface has at least five recent conversations. Fully exit Kimi. Create a temporary outbound Windows Firewall block for Kimi.exe. Start Kimi and open Work > Plugins. Click the feedback icon, enter harmless test text and press Submit. Open %APPDATA%\kimi-desktop\logs\main.log. Search for FeedbackRawRecords. Confirm five distinct conversation entries fail with ERR_NETWORK_ACCESS_DENIED, followed by "ok: 0/5 archives uploaded." Remove the temporary firewall rule.
File hashes
4ecfdc4ff9ad57707f050888056babeac79eb85b61c3e0a369b612d809f80122 app.asarf92a5544c72a51e742060866a9cdb7c8129b553b36739a8d45a96e5aa9884e23 daimon-bundle.tar.gzbc7a22afe8c91b8196550e6401797d55ff7565f80da5dd6109bcff38ee5eb079 out/main/index.jsaa4193cf1ac834842219823adaeb65d91c30d6b4739a95aad36c1a63e69dc508 preload-kimi-agent.mjs57e81f63c0d21f38a2c74f0ea55edb63e4a07f8e9e64dda20a3e2cabf64028ea common-DPn1pjsS.js794019269179bd285a5c16cdb7abe2f7d8f82737e1a3e1d1e90efd6422faca5d c-TFPRZLAB.js799d67dc410e99553e68c9bc151cf95c559f2cedcc3936ab8f8800e8fc97cb28 c-ECRC3J6R.js
Company response
RuntimeWire requested comment; the company had not responded by publication time.

Moonshot AI 的 Kimi Work 桌面应用被设计为在用户提交反馈时附加来自最近五次代理对话的原始诊断记录,RuntimeWire 对该 Windows 应用的分析发现了这一点。
该收集超出了用户报告的具体任务范围。Kimi Desktop 会按最后更新时间对每个本地注册的 Work 会话进行排序,取最新的五条,并请求捆绑的后台服务为每条会话创建一个单独的 ZIP 归档。它在发送反馈文本之前,将这些归档与桌面诊断日志包一起上传。
RuntimeWire 在一台安装了 Kimi Desktop 3.1.5 的机器上通过一条阻止 Kimi.exe 出站流量的 Windows 防火墙规则确认了该行为。测试在 Kimi Work 的 Plugins 页面打开反馈并提交了无害短语 “RuntimeWire test”。Kimi 立即尝试了一个包含其诊断归档的 multipart 上传。随后它又尝试上传与五个不同最近会话 ID 相关联的原始记录归档。
所有五次尝试都按预期以 net::ERR_NETWORK_ACCESS_DENIED 失败。Kimi 自身的主进程日志记录了五次失败,时间间隔在五毫秒内,随后记录为:
[FeedbackRawRecords] ok: 0/5 archives uploaded in 166ms
防火墙阻止了这些记录离开机器,并确认了该处理程序在生产环境中的执行。
A generic feedback form reaches across recent work
Plugins 反馈界面是一个特别有揭示性的切入点。其内部元数据将报告标识为来自插件中心,并且该版本的表单禁用了用户图片附件。提交它仍然会调用与来自账户菜单、活动会话和 Kimi 的生成网站预览的反馈使用相同的全局收集例程。
渲染器在提交报告前启动了两个后台操作:
Promise.allSettled([
feedbackUploadLogs(),
feedbackUploadRawRecords()
])
原始记录处理程序调用 conversations.list,按 updatedAt 对返回的会话进行排序,并应用 .slice(0, 5)。它不会将当前会话作为参数接收。Kimi 随附的 preload 代码中的一条内部注释将该方法描述为导出并上传最近五次会话,选择逻辑固定在桌面主进程中。
每个完成的上传返回一个对象名。Kimi 在反馈正文的隐藏元数据前缀下将这些标识符放在 rawRecordsObjectNames 内。常规的 file_object_names 附件字段保留给用户选择的图片。
这个区分在界面上很重要。英文表单邀请用户描述问题,并表示可以上传或粘贴图片。它并未列出诊断归档、五个会话归档或它们合并后的潜在大小。没有附件预览、同意框或用于选择相关会话的控件。
Kimi 的公共帮助页面表示,产品内报告会自动附加 “device and account context”。它并未提到来自最近代理会话的原始记录。公司在 RuntimeWire 于 8 月 15 日审核时的 help documentation 是最新的。
What Kimi puts in a raw-record archive
Kimi Work 使用一个名为 Daimon 的捆绑后台组件。RuntimeWire 检查的 Windows 包是 0.5.49 版本,创建于 7 月 24 日。它声明并注册了一个名为 conversations.getRawRecordsArchive 的生产控制方法,然后将该路由连接到在反馈提交期间使用的归档生成器。
对于每个被选中的会话,Daimon 会寻找主代理的 wire.jsonl 文件以及任何子代理的记录。一个会话归档中最多可以包含多达 100 个记录文件,并从每个文件中读取最后 500 条 JSONL 记录。单个压缩 ZIP 的上限为 8 MiB,使得客户端在五个原始记录归档上的总上限为 40 MiB,外加单独的桌面日志包。
Kimi 自身的文档将 agents/main/wire.jsonl 描述为主代理的“完整通信记录”。这些文件支持会话恢复和回放。根据公司的 session documentation,它们还包含带有工具 schema、请求参数和 MCP 工具列表的请求跟踪。
Daimon 确实应用了有界的清洗。它会移除看起来像大型 base64 二进制串的字符串,用长度和哈希标记替换超大的值,并将普通字符串限制为 8,192 个字符。这些检查基于大小和编码。代码并不会查找密码、API 密钥、访问令牌、私有源代码、shell 输出或敏感文件路径。普通且在大小限制内的字符串会被原样保留。
格式错误或异常大的 JSONL 记录会被替换为包含 256 字符预览的诊断替代内容。归档清单还记录本地会话路径、记录路径、标识符和处理统计信息。
Kimi 的 CLI 提供了一个单独的、明确的会话导出流程。其文档警告导出的文件可能包含代码、命令输出和文件路径,并告知用户在共享前审查内容。反馈工作流没有提供可比的警告或审查步骤。
What the privacy policy says
Moonshot AI 的 privacy policy,自 8 月 4 日生效,表明公司可能会收集会话信息、反馈数据和可能包含会话内容的日志。该语言涵盖了 Kimi 处理的广泛信息类别。
实现上作出了用户在提交时看不到的更狭义的产品选择:一个插件报告、网站预览报告或一般账户报告都可能携带来自五个无关最近 Work 会话的有界记录。这些会话可能涉及不同的项目、文件夹、客户或凭据。
发布的客户端在其常规反馈处理程序的一部分中执行该收集。这是一个收集范围和披露问题。测试未发现远程利用路径。
RuntimeWire 没有发现关于五会话选择的公开文档,也未发现内部方法名 conversations.getRawRecordsArchive 或日志标签 FeedbackRawRecords 的先前公开结果。
Moonshot AI 应解释该行为何时发布、哪些桌面版本和平台包含该行为、上传归档的保留时长、谁可以访问这些归档以及服务器是否执行了额外的脱敏。用户还需要一种方式来检查拟附加项、将收集限制为正在报告的会话以及在不提供会话记录的情况下提交反馈。
How RuntimeWire tested it
RuntimeWire 检查了 Kimi Desktop 3.1.5 的生产 ASAR 和一个 Windows x64 的 Daimon 0.5.49 捆绑包。静态分析将反馈按钮从渲染器追踪到 Electron IPC、ZIP 生成、/file/upload_simple 和 /user/feedback。
在运行时测试中,启动应用前为已签名的 Kimi.exe 可执行文件阻止了 Windows 防火墙的出站访问。RuntimeWire 提交了无害的插件反馈并观察了产生的本地日志。该应用选择了五个会话 ID,并为每个归档达到了上传阶段。每个外部请求均以 ERR_NETWORK_ACCESS_DENIED 失败。RuntimeWire 未检查或传输这些会话的记录内容。
主要文件哈希和详细限制列在 RuntimeWire 的记者笔记中。