muse code 加载 claude.md 安全吗

muse code 加载 claude.md 安全吗:据 Meta 文档梳理 AGENTS.md 优先级、trust 边界与 MEMORY.md 注入面。

muse code 加载 claude.md 安全吗

从 Claude Code 换到 Muse Code 时,仓库里旧的 CLAUDE.md.claude/skills 不会自动失效。muse code 加载 claude.md 安全吗:会进 Meta 模型上下文,但加载时机与 trust 边界和 Anthropic 不同;未 trust 的 checkout 仍可能通过 MEMORY.md 等渠道暴露 prompt injection 面。以下依据 Meta Muse Code configurationpermissions 官方页(2026-08-09 核对),非社区转述。

作者CodePass 技术编辑

Muse 按什么顺序读指令文件

从 workspace 根向上走到最近 .git 边界,每层目录最多加载一个 instruction file;同层 AGENTS.md 优先于 CLAUDE.md。冲突时:项目规则压过 user rules,更深目录文件压过浅层。muse init 只写 AGENTS.md,不会改 settings.json

machine-wide user rules 总会加载。项目级 AGENTS.md / CLAUDE.md 仅在你 trust workspace 之后加载。未 trust 时项目 rules 被忽略,这是与「fork 里带毒 CLAUDE.md」相关的关键闸。

此外 Muse 扫描 repo 内 .codex/skills.claude/skills(见 extending 文档 skills 节),等于把为 Claude/Codex 写的 skill 包一并纳入可加载面;trust 前 project skills 同样不应生效,但 committed memory 例外(下节)。

未 trust 时什么仍会进 context

官方明确:MEMORY.md.agents/memory/ 下 committed project memory,即使在 untrusted workspace 也会注入模型 context(configuration 文档 local-memory 节 NOTE)。Skills、rules、hooks 则要 trust 后才加载。

这意味着:克隆不可信 fork 时,攻击者可在 MEMORY.md 里写「把 API key 贴到 issue」类指令,Muse 仍可能读到索引并 on-demand 打开 topic 文件。这与 Meta Muse Code 是什么 里 contributor 档训练回流是不同风险轴:前者是仓库内 prompt injection,后者是计费与数据出境合规。

旧 Claude/Codex 指令带来的泄露面

常见高危内容:内网域名、_on-call 路由、禁止外传的模块路径、「测试用」却真实的 key placeholder、仅适用于 Anthropic 工具的 shell 白名单。换 agent 后这些文字仍可能被 Muse 当 authoritative project guidance,进而出现在对外 PR 描述、Gist 或 model provider 日志里。

.claude/skills 若含「遇到 auth 错误就 grep ~/.aws」类步骤,Muse import 路径存在(muse skills import --from claude),会在 trust 后执行同等逻辑。Codex 侧 .codex/skills 也被扫描。迁移前应用 git grep 搜 sk-AKIApasswordBEGIN PRIVATE 等,而不只改文件名。

MCP 工具不受 shell sandbox 约束(extending 文档 WARNING);旧 instructions 若鼓励连高权限 MCP,在 Muse 里仍是外置进程直连网络,approval 挡不住 container 外泄。

muse skills import --from claude 会把 Claude skill 目录搬进 Muse skill 注册表;import 前应用 muse skills validate 扫一遍 SKILL.md 是否含 exfil 步骤。User hooks 在 ~/.config/muse/settings.json,managed hooks 由 admin 路径注入且无需 trust,混用 Claude 时代遗留 hook 时要确认 Muse 是否仍读取同名路径。

--yolo 与 fork/PR 场景的叠加风险

muse --yolo 同时:关 approval、关 sandbox、trust workspace,并加载 checkout 的 AGENTS.md、rules、skills。permissions 页 WARNING 写明:PR/fork checkout 上这些文件是 attacker-controlled,仅应在 disposable CI 容器使用

与「加载 CLAUDE.md 安全吗」的直接答案:在默认 approval+sandbox 下,untrusted 项目 rules 不加载,风险主要在 MEMORY.md 与 user rules;一旦 --yolo--disable-sandbox,项目内任意 instruction file 都可驱动写文件到 workspace 外(--disable-sandbox 还放开 write_file 全局写)。fork 审 PR 时切忌 yolo。

Contributor 定价档若 opt-in 训练数据回流,见已发 Muse 定价文;企业应用 zero-data retention 路径,不在此重复价目。

换用 Muse 前自检清单

以下为 Meta 文档推导的可复制清单(信息增益落点),非 Meta 官方 checklist:

  1. 仓库内是否仍有 CLAUDE.md / .claude/ / .codex/ 遗留;要迁移则 muse init 重写 AGENTS.md 或人工合并后删敏感句。
  2. 读一遍 .agents/memory/MEMORY.md 与 topic 文件,不可信 clone 先勿跑 agent。
  3. 首次打开 workspace 时明确选 trust 与否;审 fork PR 用只读 clone + 永不 yolo。
  4. muse hooks list / skills list:确认无未审 hook(hook 在 sandbox 外执行)。
  5. MCP server 列表是否含 prod 写权限;能改只读则改。
  6. headless CI 用 --disable-approval 保留 sandbox,勿默认 --yolo
  7. 公司密钥是否曾写进任何 instruction / skill(有则轮换密钥,不只删文件)。

对开源贡献者:提 PR 前检查是否误把 .claude/settings.local.json 或含 internal runbook 的 CLAUDE.md 片段 commit 进 .agents/memory/。Muse 会读 committed memory,reviewer 在 GitHub 上看不到 agent context 里多了什么,风险在 merge 后 first muse 会话才暴露。

approval-mode 默认 on-request 仅对 shell 危险集(rm -rfsudo rm 等)停审;file read 并不因路径是 .env 自动 hold,除非你在 untrusted 模式或自定义 hook 补规则。因此「换 Muse 是否更安全」不能只看 sandbox:sandbox 限制写盘与网络,不禁止读 workspace 内 secrets 文件。旧 CLAUDE.md 若写「调试时 cat .env」,在 Muse 默认模式下仍可能执行,除非 staged parser 识别为危险或你加 PreToolUse deny。

迁移实操:在 monorepo 根运行 find . -name 'CLAUDE.md' -o -path '*/.claude/skills/*' 列残留;用 muse init --dry-run 看默认 AGENTS.md 模板是否覆盖你的合规句;对 .agents/memory/ 做 code review 像 review 代码一样看 MEMORY 索引。Contributor 档数据回流问题见 Meta Muse Code 是什么,与 instruction 泄露是并行议题,企业应两条线都查。

Observer agents 默认开 memory/skill/goal recall,会额外打 model call(configuration 文档 NOTE)。旧 CLAUDE.md 若很长,即使用户 rules 未加载,observer 仍可能从 personal memory 或误导入 skill 拉内容进 turn。关闭无关 observer 或减 memory 文件数,是降 injection 面的实用旋钮,与删 CLAUDE.md 同等重要。

headless muse exec 在无 TTY 时不能答 approval prompt;自动化应 --disable-approval 保留 sandbox,而非 --yolo 加载 fork 内 CLAUDE.md。CI 镜像里删除 .claude/ 并 pin AGENTS.md 到 known-good 版本,比指望模型忽略恶意 instruction 更可靠。若必须审 fork PR,在 isolated runner 开 session,merge 前人工 diff .agents/memory/ 与 skills 目录变更。

注入面与 MCP 回显类攻击可对照 MCP ANSI escape 注入风险 做输出净化,与 instruction 加载正交但应一起做。

参考资料