名称: 审计设置 描述: 审计 Claude Code 的 settings.json 文件以确保质量、合规性和安全性。用于在部署前验证配置或检查暴露的密钥。 参数提示: [项目 | 用户 | 所有] [–强制 | --跳过验证] 允许工具: 读取, Bash, Glob, Grep, 任务 模型: opus
审计设置命令
审计 Claude Code 的 settings.json 文件以确保质量、合规性和安全性。
初始化
在审计之前,初始化环境:
获取当前 UTC 日期,捕获项目根路径,确保临时目录存在,并清理过时的审计文件。settings-management 技能提供权威的验证指导(当此命令运行时自动加载)。
审计内容
- JSON 语法有效性
- 模式合规性(有效的设置选项)
- 权限规则配置
- 沙箱设置
- 环境变量配置
- 安全(无暴露的密钥)
命令参数
| 参数 | 描述 |
|---|---|
| (无) | 审计所有可发现的设置文件 |
项目 |
仅审计 .claude/settings.json |
用户 |
仅审计 ~/.claude/settings.json |
所有 |
显式审计所有范围 |
--强制 |
无论修改状态如何都进行审计 |
--跳过验证 |
跳过查找验证(更快,但可能包含误报) |
步骤 1:发现设置文件
检查项目设置(.claude/settings.json)、用户设置(在 Unix 上为 ~/.claude/settings.json,在 Windows 上为 %USERPROFILE%\.claude\settings.json),以及市场仓库中的插件设置。
步骤 2:解析参数
解析范围选择器和 --强制 标志。过滤文件以匹配请求的范围。
步骤 3:展示审计计划
显示模式、发现的文件,以及列出范围和最后修改日期的列表。
步骤 4:执行审计
对于每个文件,使用范围、路径和最后审计日期启动 settings-auditor 子代理。当存在多个时并行运行。
子代理将发现写入 .claude/temp/。主对话线程收集结果并使用其写入/编辑工具更新审计日志。
步骤 4.5:验证发现
除非 --跳过验证 标志存在:
- 启动
audit-finding-validator代理,参数为:project_root:捕获的项目根路径audit_type:“设置”audit_files:.claude/temp/audit-*-settings-*.json文件路径列表
- 等待验证完成
- 读取更新后的 JSON 文件(包含验证结果)
- 在聚合前完全过滤掉 FALSE_POSITIVE 发现
- 注意:过滤的发现被记录到
.claude/temp/audit-filtered-findings.json
如果 --跳过验证 标志存在:
- 完全跳过验证阶段(保持当前速度)
- 展示所有发现而不过滤
- 在摘要中注明:“验证:已跳过”
步骤 5:最终摘要
报告按范围审计的总数、结果和详细信息表。列出安全警报及修复措施。
包括验证统计(如果执行了验证):
- 验证执行:是/否
- 发现已验证:X
- 误报已过滤:Y
- 已验证发现:Z
- 未验证发现:W
安全考虑
| 范围 | 发现凭据 | 结果 |
|---|---|---|
| 项目 | 是 | 关键 - 版本控制 |
| 用户 | 是 | 警告 - 无版本控制 |
项目设置应绝不包含 API 密钥或令牌(版本控制)。
跨平台路径
| 平台 | 用户设置 |
|---|---|
| Unix | ~/.claude/settings.json |
| Windows | %USERPROFILE%\.claude\settings.json |
审计日志位置
所有审计结果写入 .claude/audit/settings.md。
使用 /audit-log settings 查看当前审计状态。
使用示例
示例 1:审计所有设置文件
用户: /audit-settings
Claude: 正在发现设置文件...
## 审计计划
**模式**: 智能
**发现文件**: 2
1. [项目] .claude/settings.json
2. [用户] ~/.claude/settings.json
[启动 settings-auditor 子代理]
## 审计完成
| 范围 | 文件 | 结果 | 分数 |
| --- | --- | --- | --- |
| 项目 | .claude/settings.json | 通过 | 100/100 |
| 用户 | ~/.claude/settings.json | 通过 | 98/100 |
示例 2:仅审计项目
用户: /audit-settings 项目
Claude: 正在审计项目设置...