<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>程默的博客 &#187; 数据隐私</title>
	<atom:link href="https://blog.chacuo.net/tag/%e6%95%b0%e6%8d%ae%e9%9a%90%e7%a7%81/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.chacuo.net</link>
	<description>web原理、web架构、web安全、web性能、服务器性能、服务器架构、服务器安全;你不能预知明天，但你可以利用今天。你不能样样顺利，但你可以事事尽力!</description>
	<lastBuildDate>Mon, 21 Sep 2026 12:11:15 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>代码交给 AI Agent 之前，最该确认的是什么？ZCode 事件与开源价值</title>
		<link>https://blog.chacuo.net/1724.html</link>
		<comments>https://blog.chacuo.net/1724.html#comments</comments>
		<pubDate>Mon, 21 Sep 2026 12:11:15 +0000</pubDate>
		<dc:creator>程默</dc:creator>
				<category><![CDATA[ai]]></category>
		<category><![CDATA[AI Agent]]></category>
		<category><![CDATA[Claude]]></category>
		<category><![CDATA[codex]]></category>
		<category><![CDATA[Hermes]]></category>
		<category><![CDATA[motoagent]]></category>
		<category><![CDATA[OpenClaw]]></category>
		<category><![CDATA[ZCode]]></category>
		<category><![CDATA[代码安全]]></category>
		<category><![CDATA[开源]]></category>
		<category><![CDATA[数据隐私]]></category>

		<guid isPermaLink="false">https://blog.chacuo.net/?p=1724</guid>
		<description><![CDATA[代码交给 AI Agent 之后，真正离开电脑的是什么？最近 ZCode 的云端 &#8230; <a href="https://blog.chacuo.net/1724.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>代码交给 AI Agent 之后，真正离开电脑的是什么？最近 ZCode 的云端上传争议，把这个问题从“隐私设置”推到了开发者面前：Agent 不只是一个聊天窗口，它还可能读取目录、打包项目、连接云端，并在后台持续执行一段普通用户看不见的流程。</p>
<p>这也是开源 Agent 重新被重视的原因。模型能力当然重要，但开发者更需要知道：它读取了什么、上传了什么、谁能解密、什么时候删除，以及出现问题后能不能复现和修正。</p>
<p><img style="width:80%" src="http://blog.chacuo.net/wp-content/uploads/2026/09/wpid-zcode_data_flow_audit.png"></p>
<p>*配图为 AI Agent 数据流与审计边界示意图，不代表 ZCode 的真实界面。*</p>
<h2>一、ZCode 事件到底发生了什么？</h2>
<p>据近期公开的反编译分析、网络行为观察和媒体报道，开发者在本地目录中发现了异常大的加密压缩文件。相关分析称，文件包含项目快照、Git 历史等内容，其中一个约 313MB 的压缩包曾多次尝试上传，另有较小文件完成过上传。Z.ai 随后道歉并表示已经修复问题，同时公开 ZCode 代码供社区检查。</p>
<p>这里需要把事实和结论分开：目前能确认的是，客户端存在项目快照打包与上传行为；“数据是否被长期保存、谁在何时访问过、是否用于训练”，不能仅凭一个加密文件直接下结论。加密也不等于用户拥有解密权，如果密钥由服务端掌握，用户仍然需要相信服务商的处理和删除承诺。</p>
<p>争议的核心并不是 Agent 能不能连接云端，而是这几件事是否被清楚告知：上传是否发生在用户主动发送代码之后，范围是否只包括必要文件，界面上的开关能否真正停止上传，网络目的地和数据留存时间是否可验证。</p>
<h2>二、为什么“关闭训练”不等于“代码不会离开电脑”？</h2>
<p>很多产品把“是否用于改进模型”和“是否上传项目文件”放在同一个隐私设置里，容易让人误以为关闭前者就能阻止后者。实际上，代码索引、会话恢复、远程执行、错误诊断和模型请求，都可能对应不同的数据路径。</p>
<table style="border-collapse:collapse;border:1px solid #d0d0d0;width:100%;margin:10px 0;">
<tr>
<th style="background:#4a90d9;color:#fff;padding:10px 12px;border:1px solid #3a7bc8;text-align:left;font-weight:600;">需要确认的事项</th>
<th style="background:#4a90d9;color:#fff;padding:10px 12px;border:1px solid #3a7bc8;text-align:left;font-weight:600;">最好能看到的控制</th>
<th style="background:#4a90d9;color:#fff;padding:10px 12px;border:1px solid #3a7bc8;text-align:left;font-weight:600;">不能只看什么</th>
</tr>
<tr>
<td style="padding:8px 12px;border:1px solid #e0e0e0;">传输了哪些文件</td>
<td style="padding:8px 12px;border:1px solid #e0e0e0;">文件清单、大小、时间、目的地</td>
<td style="padding:8px 12px;border:1px solid #e0e0e0;">“已加密”四个字</td>
</tr>
<tr>
<td style="padding:8px 12px;border:1px solid #e0e0e0;background:#f4f6f8;">为什么要传输</td>
<td style="padding:8px 12px;border:1px solid #e0e0e0;background:#f4f6f8;">每次任务前明确提示</td>
<td style="padding:8px 12px;border:1px solid #e0e0e0;background:#f4f6f8;">默认开启的体验优化</td>
</tr>
<tr>
<td style="padding:8px 12px;border:1px solid #e0e0e0;">能不能阻止</td>
<td style="padding:8px 12px;border:1px solid #e0e0e0;">可用的关闭开关或本地模式</td>
<td style="padding:8px 12px;border:1px solid #e0e0e0;">设置页面里的模糊描述</td>
</tr>
<tr>
<td style="padding:8px 12px;border:1px solid #e0e0e0;background:#f4f6f8;">传输后保存多久</td>
<td style="padding:8px 12px;border:1px solid #e0e0e0;background:#f4f6f8;">可查询、可删除、可审计</td>
<td style="padding:8px 12px;border:1px solid #e0e0e0;background:#f4f6f8;">“我们承诺立即删除”</td>
</tr>
<tr>
<td style="padding:8px 12px;border:1px solid #e0e0e0;">出问题如何复现</td>
<td style="padding:8px 12px;border:1px solid #e0e0e0;">日志、版本号、公开修复记录</td>
<td style="padding:8px 12px;border:1px solid #e0e0e0;">只发布一段道歉说明</td>
</tr>
</table>
<p>对个人项目来说，最稳妥的做法是先用空目录测试。把 `.env`、SSH 密钥、云服务配置、客户资料和完整 `.git` 历史移出工作区，再观察 Agent 第一次提问前后是否出现新的压缩包、快照目录或异常网络请求。涉及商业项目时，最好把 Agent 权限限制在临时副本中，不要直接打开生产仓库。</p>
<h2>三、开源 Agent 的价值，不只是“代码能下载”</h2>
<p>开源并不自动等于安全，但它至少把一部分判断权交还给开发者。</p>
<p><img style="width:80%" src="http://blog.chacuo.net/wp-content/uploads/2026/09/wpid-open_agent_audit.png"></p>
<p>*配图为开源 Agent 的审计路径示意图。*</p>
<p>第一，开发者可以检查代码。重点不是读完所有文件，而是先搜索文件遍历、压缩、上传凭证、远程配置和网络请求相关模块，确认它的默认行为和触发条件。</p>
<p>第二，开发者可以观察边界。一个可审计的 Agent，应该让人知道它能读哪些文件、能执行哪些命令、会访问哪些服务。权限越大，日志就越不能缺席。</p>
<p>第三，开发者可以复现和修复。即使问题来自依赖库或某个默认配置，公开代码也能让社区提交补丁、做版本对比，检查发行包是否和源码一致。</p>
<p>但也要看清开源的边界：客户端开源，不代表服务端逻辑、云端留存、模型提供商和远程配置全部开源；源码可见，也不代表你使用的二进制一定与源码完全一致。真正可靠的判断，仍然要结合源码、发行包、网络日志和隐私政策。</p>
<h2>四、普通开发者可以做的五个检查</h2>
<ul>
<li><strong>先用空项目验证。</strong> 不要第一次就把公司主仓库交给 Agent，先放入几份无敏感内容的测试文件。</li>
<li><strong>检查工作区边界。</strong> 把密钥、配置文件、缓存、备份目录和完整 Git 历史单独存放；不要把“曾经提交过但后来删除”的密钥留在可读目录里。</li>
</ul>
<ul>
<li><strong>记录网络行为。</strong> 观察任务开始前、执行中和任务结束后是否有新增请求，重点记录域名、文件大小和发生时间。</li>
<li><strong>关闭不必要的能力。</strong> 能不用远程执行就不用，能只读就不要授予写入权限，能限制目录就不要开放整个磁盘。</li>
</ul>
<ul>
<li><strong>保留版本与证据。</strong> 记录客户端版本、配置项、测试文件和网络现象。出现问题后，别人才能复现，而不是停留在“我感觉它上传了”。</li>
</ul>
<h2>五、四个智能体放在一个入口，解决的是什么问题？</h2>
<p>在实际使用中，开发者往往不是只用一个 Agent：OpenClaw 适合自动化协作，Hermes 适合长上下文任务，Codex 更偏向代码理解和修改，Claude 则常被用来做分析、整理与复核。分别安装、分别配置、分别记住权限，体验很快会变成“工具管理工作”。</p>
<p><img style="width:80%" src="http://blog.chacuo.net/wp-content/uploads/2026/09/wpid-motoagent_agent_list11.png"></p>
<p>*MotoAgent 界面截图：四个智能体集中在同一工作台中，具体可用能力以当前版本和账号配置为准。*</p>
<p>MotoAgent 的优点在于把这四类入口放到同一个工作台里，一次安装后即可切换使用，减少重复下载、环境配置和账号入口切换。它集成的是原厂入口、开源项目或原生适配能力，并不意味着其中所有模型权重都属于开源模型；这三件事不能混为一谈。</p>
<p>对用户来说，价值也不只是“多了四个按钮”，而是能够针对不同任务选择不同 Agent，再集中管理会话、权限和工作区。想体验不同智能体时，可以直接从 <a href="https://motoagent.net/" target="_blank">MotoAgent</a> 进入，而不必先花几天时间逐个安装。</p>
<h2>六、开源不是口号，而是一条可检查的安全线</h2>
<p>ZCode 事件提醒开发者：AI Agent 的风险不只来自模型回答错误，也来自它在回答之前和之后做了什么。一个 Agent 如果能读代码、改文件、执行命令、连接云端，就应该把这些行为变成可见、可控、可追溯的流程。</p>
<p>开源的意义，正在这里。它不能替用户完成全部安全审计，却能让更多人检查默认行为、发现问题、复现现象并推动修复。至于 MotoAgent 这类聚合工作台，最重要的不是把“开源”当成宣传词，而是让用户更低成本地接触多个智能体，同时保留对权限、数据路径和模型来源的基本判断。</p>
<p>AI Agent 可以更快地完成工作，但代码边界不能只靠信任维持。能看见，才能验证；能验证，才谈得上长期使用。</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.chacuo.net/1724.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
