Claude Code Harness 安全检查终极清单:AI 长跑前必查 15 项
Claude Code Harness 安全检查终极清单AI 长跑前必查 15 项【免费下载链接】claude-code-harnessClaude Code Dedicated Development Harness - Achieving High-Quality Development Through an Autonomous Plan→Work→Review Cycle项目地址: https://gitcode.com/GitHub_Trending/cl/claude-code-harnessClaude Code Harness 是一个为 Claude Code 等 AI 编程助手打造的开发安全框架通过「Plan → Work → Review」自主开发循环保证交付质量。当你让 AI 长时间无人值守地跑任务俗称长跑时一个误删、一次密钥外泄、一次强推 main 分支都可能是灾难。这份安全检查终极清单汇总了 15 个必查项帮助你快速建立 AI 自主运行前的安全底线。一、先看懂安全网的三层结构Harness 与提示词模板的本质区别在于每一次工具调用在执行前都会被一个 Go 原生引擎裁决而不是事后看 diff文件变更无法看到网络发送和删除操作。安全网分两层层级数量裁决方式能否被配置绕过Runtime Floor 运行时底线5 大类直接拒绝❌ 任何配置、环境变量、权限模式都无效Guardrails 护栏R01–R15拒绝 / 确认 / 警告⭕ 部分可按项目配置Runtime Floor 覆盖五大类计费操作、网络外发、密钥读取、生产部署、任务 worktree 之外的破坏性操作。它运行在隔离代码路径上没有关闭开关——AI 无法说服它放行。源码可在 go/internal/runtimefloor/ 和 go/internal/guardrail/ 中查证。 关键认知长跑风险不来自 AI 变笨而来自边界没设好。下面的 15 项就是帮你把边界逐项锁死。二、起跑前检查第 1–5 项1. 确认 Plan 审批门禁已生效/harness-plan生成的spec.md和Plans.md必须先由你批准或修正才能进入执行。长跑的第一步永远是人审计划而不是让 AI 自己定范围。2. 检查计划期预审批是否最小化Harness 把风险确认从运行中打断移到计划期一次问完。预审批记录plan-preapproval.v2自带过期时间、任务范围、使用次数上限——一项审批绝不成为永久性漏洞。长跑前检查没有为用不到的操作预批宽权限。3. 声明密钥读取白名单默认拒绝长跑中如果任务需要读取密钥文件提前在 claude-code-harness.config.schema.json 对应的runtimefloor.secretAllow中声明具体路径。注意三点空字符串、*、**、/一律视为无效按拒绝处理项目根目录之外的绝对路径配置中声明无效未声明的密钥读取仍会被运行时底线拦停详细契约见 docs/runtime-floor-secret-allowlist.md。4. 确认你的宿主工具加固等级不同宿主的安全强度并不对等这是新手最容易踩的坑宿主执行前拦截说明Claude Code强多工具类型首选主安全基线Codex CLI仅 Bash 命令另有质量门 合并门兜底Cursor可拒绝但无文件系统隔离权限白名单只是尽力而为Grok❌ 不在共享底线范围内不要期待危险操作被执行前拦截完整对照表见 docs/hardening-parity.md。安全敏感的长跑任务优先走 Claude Code 路径。5. 用/harness-sync校准基线开工前对比计划与实际代码的偏差drift。基线不清就跑全量/harness-work all等于让 AI 在未知地图上盲跑。三、权限规则检查第 6–10 项Harness 项目自己的 harness.toml 就是一份标准答案可直接对照自己的项目配置。6. 保护分支推送 先问人protectedBranchPush ask是默认值AI 直推main/master前必须人工确认。长跑场景下别图省事改成allow。7. 高危命令在 deny 名单里对照你的配置确认以下命令已被拒绝sudo、rm -rf/rm -fr、数据库客户端psql、mysql、mongo等、外部 MCP 通道如mcp__codex__*。deny 名单是硬地板运行时底线叠加在其上。8. 敏感操作在 ask 名单里强推git push -f/--force-with-lease、git reset --hard、git clean -fx、npm install/npx等长跑中每次触发都应弹出确认——这正是你应该在起跑前就确认它还会问的行为。9. 密钥文件读取被全面拦截确认以下路径在 deny 名单中AI 无法读取.env及.env.*、secrets/**、*.pem、*.key、*id_rsa*、*id_ed25519*、.aws/**、.ssh/**、.npmrc。这是防止密钥被顺手带出去的第一道闸门。10. 自我防护AI 改不了自己的约束.claude/settings*和.claude-plugin/settings*的 Write/Edit 被禁止——AI 无法自行放宽自己的安全限制。想改安全配置只能你手动编辑源文件如 harness.toml再重新同步生成。这条AI 无自我解锁权的设计是长跑安全的核心支柱之一。四、运行时封控检查第 11–13 项11. 沙箱不可用即失败fail-closed[safety.sandbox] 中failIfUnavailable true沙箱起不来就整体停止而不是降级为无保护运行。长跑最怕的正是静默降级——这一项必须为真。参考模板见 templates/sandbox-settings.json.template。12. 网络出口黑名单覆盖数据外泄通道deniedDomains至少包含两类即使白名单放行了这些域名也优先拒绝云元数据端点169.254.169.254、metadata.google.internal、metadata.azure.com—— 防止 SSRF 窃取实例凭证粘贴板/临时文件站pastebin.com、transfer.sh、0x0.st、paste.ee、termbin.com、ix.io—— 防止代码和密钥被外发需要临时放开外网域名时走 docs/sandbox-allowlist-recipe.md 中的手动合并流程注意该文件禁止 AI 自行修改需你本人操作。13. worktree 边界递归删除只许在自己家里R05 规则对rm -rf类操作做目标解析目标全部落在任务 worktree 内才可能免确认任何..逃逸、符号链接指向外部、解析失败——一律保持确认。worktree 之外的破坏性操作直接命中运行时底线硬拒绝。另外worktree 内删除只保护能恢复的未提交的变更删掉就是永久丢失长跑前建议先打 checkpoint参考 scripts/auto-checkpoint.sh。五、可追溯与验证检查第 14–15 项14. 审计日志每次拦截都有据可查每一次拦截都会写入 JSONL 日志规则 ID、类别、裁决结果。命令原文永不落盘——只记录哈希和长度密钥读取和计费类连这个都不记。长跑结束后你可以数一数实际被拦了什么而不是靠猜。15. 起跑前跑一遍验证证明护栏真的生效写好了不等于生效了。起跑前建议运行护栏行为测试 tests/test-guardrails-r01-r13.sh确认 R01–R13 各规则实际拦截老用户先跑迁移报告bin/harness doctor --migration-report清点陈旧缓存、重复技能、旧符号链接——只盘点不删除发布前跑 scripts/release-preflight.sh 预检未通过绝不发布漏洞报告渠道与安全支持版本说明见 SECURITY.md发现异常请优先升级到最新版。总结15 项清单速查表#检查项所属层1Plan 审批门禁生效起跑前2预审批最小化过期范围次数起跑前3密钥读取白名单已声明起跑前4宿主加固等级匹配任务风险起跑前5基线 drift 已校准起跑前6保护分支推送 ask权限7高危命令 deny权限8敏感操作 ask权限9密钥文件读取拦截权限10自我防护settings 不可改权限11沙箱 fail-closed运行时12网络外泄通道 deny运行时13worktree 删除边界运行时14审计日志可追溯可追溯15护栏测试 preflight 通过可追溯✅ 记住一句话Runtime Floor 管住绝对不行Guardrails 管住先问再行审计日志管住事后能查。15 项全部打勾你的 AI 才值得被托付一场长跑。 【免费下载链接】claude-code-harnessClaude Code Dedicated Development Harness - Achieving High-Quality Development Through an Autonomous Plan→Work→Review Cycle项目地址: https://gitcode.com/GitHub_Trending/cl/claude-code-harness创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考