构建安全的 AI 编程环境需要覆盖代码、配置和运行时操作三个层面。Everything Claude Code 提供三大安全支柱:Security Review 提供了涵盖 secrets、注入、认证等 OWASP Top 10 风险的 10 大类检查清单;Security Scan 利用 AgentShield 工具自动审计 .claude/ 目录的安全配置;Safety Guard 通过 Careful/Freeze/Guard 三种模式在生产操作前拦截破坏性命令,形成从开发到部署的纵深防御。
全栈安全审查与配置防护:OWASP 清单、AgentShield 扫描与生产环境加固
在 AI 编程助手驱动的自动化开发流中,安全问题可能潜伏于代码逻辑、项目配置乃至自主执行的每一个命令中。传统单一的安全检查点已不足以应对。要系统性地保障生产安全,需要一个覆盖编码、配置、运维三个层面的防御体系。Everything Claude Code 通过 Security Review、Security Scan 和 Safety Guard 三大 Skill 的协同,构建了这样一套完整的安全防护网。本文将引导你完成从建立安全审查基线、扫描配置漏洞到加固生产环境操作的全流程。
一、安全三层架构:从代码到命令的全面覆盖
在 Everything Claude Code 的安全体系中,三个核心组件各司其职,共同构成一个纵深防御模型:
- Security Review (应用层代码安全):聚焦于你编写或 AI 生成的业务代码本身。它提供一份详细的、基于 OWASP Top 10 等安全标准的检查清单,帮助你在代码编写或审查阶段,系统性地排查注入、认证、授权、数据泄露等常见漏洞。
- Security Scan (配置层安全):专注于
.claude/目录。这个目录包含了项目规则、Agent 定义、MCP 服务器配置和 Hooks 脚本,是 AI 编程助手行为的“大脑”。Security Scan 使用 AgentShield 工具对它进行静态安全审计,防止配置错误或恶意提示注入导致 AI 助手行为失控。 - Safety Guard (运行时操作安全):这是最后一道防线。当 AI 助手或自动化流程准备执行实际的 Bash 命令、数据库操作或文件写入时,Safety Guard 会进行实时拦截和确认,防止
rm -rf、DROP TABLE、错误推送等不可逆的破坏性操作。
二、Security Review:建立全栈安全审查基线
Security Review Skill 将安全最佳实践转化为一个结构化的、可复用的清单。你可以在新增认证模块、处理用户输入、开发 API 端点或进行支付集成时主动调用它。
触发与使用
- 自动触发:在检测到涉及安全敏感区域的代码变更时,由 Code Reviewer 或 Security Reviewer Agent 自动调用。
- 手动触发:在 IDE 中选中相关代码,或通过命令行调用。
claude -p security-review ./src/auth
核心检查清单(10大类)
Skill 会基于你的代码内容,输出以下类别的检查项和修复建议:
- Secrets 管理:检查硬编码密钥,确认使用环境变量,验证
.gitignore包含.env文件。 - 用户输入校验:验证是否使用 zod/Joi 等库进行 Schema 校验,是否采用白名单策略。
- SQL 注入防御:检查数据库查询是否使用参数化查询,ORM 使用是否正确。
- 认证与授权:确认 Token 是否存储于 httpOnly Cookie,敏感操作前是否有权限校验。
- XSS/CSRF 防护:检查用户生成内容是否经过消毒(如 DOMPurify),CSP 头是否配置。
- 速率限制:确认关键 API 是否添加了如
express-rate-limit的中间件。 - 敏感数据泄露:检查日志中是否记录了密码或 Token,错误信息是否泛化。
- 依赖安全:验证是否定期运行
npm audit,锁文件是否提交。 - 云/支付/区块链安全:根据上下文检查 AWS 权限、Stripe 交互、钱包签名验证等。
- 文件与资源安全:检查文件上传是否限制类型和大小,CORS 配置是否严格。
输出与验证
输出不是模糊的建议,而是具体的代码模式和验证步骤。例如,它可能会指出:“/api/users 端点缺少输入校验,建议添加如下 Zod schema…”,并提供修复后的代码片段。你可以将此 Skill 集成到 Verification Loop 中,确保安全检查是每次发布前的必经环节。
三、Security Scan:用 AgentShield 审计 .claude/ 目录
.claude/ 目录的安全至关重要。一个配置不当的 settings.json 或包含恶意指令的 CLAUDE.md,可能导致 AI 助手拥有过宽的权限或执行有害操作。
安装与运行
确保安装了 AgentShield 工具:
npm install -g ecc-agentshield
# 或使用 npx
npx ecc-agentshield scan .
扫描内容与风险评分
AgentShield 会全面扫描 .claude/ 下的关键文件:
CLAUDE.md:检测提示注入模式、自动执行指令。settings.json:审查过宽的allow列表、缺失的deny列表、危险的bypass标志。mcp.json:识别高风险 MCP 服务器、硬编码的环境变量、npx 命令的供应链风险。hooks/:检查命令中的插值注入、数据外泄风险。agents/*.md:验证工具权限是否过宽,模型规格是否缺失。
扫描完成后,项目会获得一个从 A(安全)到 F(严重漏洞)的评分。输出报告清晰列出每个文件、具体问题及其严重等级(CRITICAL, HIGH, MEDIUM, LOW)。
自动修复与 CI 集成
对于明确的安全问题(如硬编码密钥),可以使用 --fix 参数进行自动修复:
npx ecc-agentshield scan --fix
将扫描命令集成到 CI/CD 流程中,可以自动阻断存在严重配置风险的提交:
# GitHub Actions 示例
- name: Scan .claude directory
run: npx ecc-agentshield scan --format json --min-severity high --fail-on-findings
四、Safety Guard:生产环境操作的三重防护
即使代码和配置都安全,执行阶段的一个错误命令也可能造成灾难。Safety Guard 提供了三种渐进式的防护模式。
1. Careful Mode(命令拦截)
默认在后台运行。当 AI 或你输入高危命令时(如 rm -rf /, git push --force, DROP TABLE),它会暂停执行,展示命令详情,并请求确认。
# 当 AI 试图执行时,将看到类似拦截信息:
⚠️ 检测到高危操作:git push --force origin main
此命令将强制覆盖远程分支历史,可能导致协作冲突!
请确认是否继续?(yes/no)
建议:先执行 git pull --rebase 解决冲突。
2. Freeze Mode(目录冻结)
用于限制 AI 的写入范围,防止其修改无关或核心文件。特别适合在多 Agent 协作或代码生成场景中使用。
# 激活模式,只允许编辑 src/ 目录
/safety-guard freeze src/
# 任何尝试编辑 package.json 或配置文件的操作都将被拒绝。
3. Guard Mode(全防护模式)
结合了 Careful 和 Freeze 的功能,是自主 Agent 或无人值守任务的最佳选择。
# 激活全防护,允许读取任何地方,但只能写入 src/app/,且拦截所有高危命令
/safety-guard guard --dir src/app/ --allow-read-all
所有被拦截的操作都会记录到 ~/.claude/safety-guard.log 中,便于审计。
五、协同工作:构建端到端安全流水线
这三大 Skill 并非孤立使用,它们可以融入 Everything Claude Code 的 Hooks 体系 和开发流,形成自动化闭环:
- 开发时:编写涉及认证或输入的代码后,手动或通过 Agent 触发 Security Review。
- 提交前:Git Pre-commit Hook 自动运行 Security Scan,检查
.claude/目录配置。 - 执行前:当 AI 助手准备运行 Shell 命令时,Safety Guard 实时拦截危险操作。
- 部署前:在 CI/CD 的 Verification Loop 阶段,同时运行 Security Scan 和 Security Review 的自动化测试。
通过这种分层、集成的安全策略,你可以在享受 AI 编程助手高效率的同时,构建起足以抵御常见威胁的坚固防线,让生产环境真正安全可控。
FAQ
Q: Security Review Skill 能自动修复它发现的所有安全问题吗? A: 它主要负责检测和提供建议,部分简单问题可以生成修复代码。但复杂的业务逻辑安全问题或需要权衡的调整,仍需开发者审查确认。
Q: 如何将 Safety Guard 与 Claude Code 或其他 AI 编程助手集成?
A: Safety Guard 通过 Everything Claude Code 的 Hooks 系统集成。你可以在 hooks/ 目录下配置脚本,监听 PreToolUse 事件,将 Safety Guard 的检查逻辑注入到命令执行前的流程中。
Q: Security Scan 的 “自动修复” 功能会改变我的业务逻辑吗?
A: 不会。自动修复仅处理明确的安全问题,例如将硬编码的 API_KEY=sk-123 替换为 process.env.API_KEY,或收紧过于宽泛的 Bash 权限。它不会修改与业务功能相关的配置。