用途:该技能用于修复由无效数据引发的缺陷,核心理念是不要只在某一处加校验,而要在数据流经的每一层都做校验,使 bug 在结构上无法复现。它面向 GitHub Copilot、Claude Code、Codex 等客户端使用。
主要能力:把校验划分为四层。第一层入口点校验,在 API 边界拒绝明显非法输入,例如检查工作目录非空、存在且为目录。第二层业务逻辑校验,确保数据对当前操作有意义。第三层环境守卫,在特定上下文中阻止危险操作,例如测试环境下拒绝在临时目录之外执行 git init。第四层调试埋点,用栈信息记录上下文以便取证。
使用方式:发现 bug 后,追踪数据流找到坏值来源与使用位置,列出数据经过的所有检查点,在入口、业务、环境、调试各层补上校验,并逐层测试,尝试绕过第一层并确认第二层能捕获。文中给出的示例中,四层分别加在 Project.create、WorkspaceManager、WorktreeManager 与 git init 日志上,最终 1847 个测试全部通过。
跨客户端:Copilot 可将文件夹放入可见技能路径;Claude Code 放入本地技能目录或兼容插件源;Codex 安装或同步到 $CODEX_HOME/skills/defense-in-depth,重大改动后重启。
限制与校验:无需 MCP 服务器。无 MCP 时使用提供的回退提示,依赖本地说明、资源、标准 shell 或编辑器工具及直接验证。不得在宿主未暴露 MCP 时声称使用了 MCP 操作。完成前需按协议逐项检查激活边界、依赖与安全检查、最窄工作流、以及用本地测试或源证据验证输出。