name: security-scan description: 使用 AgentShield 扫描 Claude Code 配置(.claude/ 目录)中的安全漏洞、配置错误和注入风险。检查 CLAUDE.md、settings.json、MCP 服务器、钩子和代理定义。
安全扫描技能
使用 AgentShield 审计 Claude Code 配置中的安全问题。
启动时机
- 新 Claude Code 项目设置时
- 修改
.claude/settings.json、CLAUDE.md或 MCP 配置后 - 提交配置更改前
- 加入已有 Claude Code 配置的新仓库时
- 定期安全卫生检查
扫描目标
| 文件 | 检查内容 |
|---|---|
CLAUDE.md |
硬编码密钥、自动执行指令、提示注入模式 |
settings.json |
过度宽松的允许列表、缺失的拒绝列表、危险的绕过标志 |
mcp.json |
有风险的 MCP 服务器、硬编码环境密钥、npx 供应链风险 |
hooks/ |
插值导致的命令注入、数据泄露、静默错误抑制 |
agents/*.md |
无限制的工具访问、提示注入表面、缺失的模型规范 |
前提条件
需要安装 AgentShield。检查并在必要时安装:
# 检查是否已安装
npx ecc-agentshield --version
# 全局安装(推荐)
npm install -g ecc-agentshield
# 或通过 npx 直接运行(无需安装)
npx ecc-agentshield scan .
使用方法
基本扫描
对当前项目的 .claude/ 目录执行:
# 扫描当前项目
npx ecc-agentshield scan
# 扫描特定路径
npx ecc-agentshield scan --path /path/to/.claude
# 按最低严重性过滤扫描
npx ecc-agentshield scan --min-severity medium
输出格式
# 终端输出(默认)— 带评级的彩色报告
npx ecc-agentshield scan
# JSON — 用于 CI/CD 集成
npx ecc-agentshield scan --format json
# Markdown — 用于文档
npx ecc-agentshield scan --format markdown
# HTML — 自包含的深色主题报告
npx ecc-agentshield scan --format html > security-report.html
自动修复
自动应用安全修复(仅标记为可自动修复的):
npx ecc-agentshield scan --fix
这将执行:
- 将硬编码密钥替换为环境变量引用
- 将通配符权限严格化为范围化替代方案
- 不更改仅手动建议
Opus 4.6 深度分析
运行对抗性三代理管道进行更深入分析:
# 需要 ANTHROPIC_API_KEY
export ANTHROPIC_API_KEY=your-key
npx ecc-agentshield scan --opus --stream
这将执行:
- 攻击者(红队) — 发现攻击向量
- 防御者(蓝队) — 推荐加固措施
- 审计员(最终裁决) — 整合双方观点
安全配置初始化
从头构建新的安全 .claude/ 配置:
npx ecc-agentshield init
创建内容:
- 带范围权限和拒绝列表的
settings.json - 包含安全最佳实践的
CLAUDE.md mcp.json占位符
GitHub Action
添加到 CI 管道:
- uses: affaan-m/agentshield@v1
with:
path: '.'
min-severity: 'medium'
fail-on-findings: true
严重性级别
| 等级 | 分数 | 含义 |
|---|---|---|
| A | 90-100 | 安全配置 |
| B | 75-89 | 轻微问题 |
| C | 60-74 | 需要注意 |
| D | 40-59 | 重大风险 |
| F | 0-39 | 关键漏洞 |
结果解读
关键发现(立即修复)
- 配置文件中的硬编码 API 密钥或令牌
- 允许列表中的
Bash(*)(无限制 shell 访问) - 钩子中通过
${file}插值导致的命令注入 - 执行 shell 的 MCP 服务器
高风险发现(生产前修复)
- CLAUDE.md 中的自动执行指令(提示注入向量)
- 权限中缺失的拒绝列表
- 具有不必要 Bash 访问权限的代理
中等风险发现(推荐)
- 钩子中的静默错误抑制(
2>/dev/null、|| true) - 缺失的 PreToolUse 安全钩子
- MCP 服务器配置中的
npx -y自动安装
信息性发现(认知)
- MCP 服务器缺失描述
- 正确标记的禁止指令(良好实践)