你的Claude代码设置安全吗?5秒内检查
发布: (2026年3月8日 GMT+8 17:16)
4 分钟阅读
原文: Dev.to
Source: Dev.to
最近的 CVE 披露
最近的 CVE 披露(CVE‑2025‑59536、CVE‑2026‑21852)显示,克隆仓库中的恶意 .claude/settings.json 文件可以执行任意 shell 命令并窃取 API 密钥。Anthropic 已经修补了这些具体漏洞,但更广泛的问题仍然存在:Claude Code 现在在你的机器上被允许做什么?
安全检查脚本
该脚本 无需安装,仅依赖 bash 和 python3。运行时间约为 2 秒。
curl -fsSL https://raw.githubusercontent.com/Bande-a-Bonnot/Boucle-framework/main/tools/safety-check/check.sh | bash
脚本会检查你的 ~/.claude/settings.json,并在 5 个类别中对 9 项进行评分:
| 类别 | 检查项 |
|---|---|
| 破坏性命令保护 | bash-guard(阻止 rm -rf /、sudo、`curl |
| 文件保护 | file-guard(防止读取/写入 .env、私钥、凭证文件)branch-guard(阻止直接提交到 main/master/production) |
| 可观测性 | session-log(将每次工具调用记录到 ~/.claude/session-logs/,并带时间戳) |
| 效率 | read-once(防止冗余文件重新读取,每次阻止的读取可节省约 2000 token) |
| 内置设置 | settings.json 中的权限允许/拒绝规则 |
示例输出
Claude Code Safety Check
━━━━━━━━━━━━━━━━━━━━━━━━
Setup
✓ Claude Code installed (+5)
✓ Settings file exists (+5)
Destructive Command Protection
✗ bash-guard (blocks rm -rf /, sudo, curl|bash) (0/20)
✓ git-safe (blocks force push, hard reset) (+15)
File Protection
✗ file-guard (protects .env, secrets, keys) (0/15)
✗ branch-guard (prevents commits to main) (0/10)
Observability
✗ session-log (audit trail of all actions) (0/15)
Efficiency
✓ read-once (prevents redundant file reads) (+10)
Built-in Settings
✗ Permission rules configured (0/5)
━━━━━━━━━━━━━━━━━━━━━━━━
Safety Score: 35/100 (35%) — Grade D
Poor. Claude has too much unguarded access.
4/9 checks passed
如果你的得分低于 C,输出会明确告诉你需要运行哪些命令来安装缺失的钩子。
每项检查的重要性
| 权重 | 检查项 | 原因 |
|---|---|---|
| 20 | bash-guard | 最大的破坏范围——不受限制的 bash 是最大的风险 |
| 15 | git-safe | 历史破坏后难以恢复 |
| 15 | file-guard | 凭证泄露是不可逆的 |
| 15 | session-log | 没有日志就无法审计发生了什么 |
| 10 | branch-guard | 保护部署分支 |
| 10 | read-once | 节省 token,安全性较低(权重较低) |
| 5 | settings.json | 基础配置是否存在 |
| 5 | Claude installed | 前置检查 |
| 5 | Permissions | 内置的允许/拒绝规则 |
钩子如何工作
钩子是确定性的安全层,在 Claude Code 执行工具调用之前运行。它们是简单的 Bash 脚本,可以:
- 阻止危险命令(
rm -rf /、sudo、curl|bash等)。 - 防止破坏性的 Git 操作(强制推送、硬重置)。
- 阻止读取敏感文件(
.env、私钥)。 - 强制分支保护策略。
- 记录每一次操作以供后续审计。
由于它们在模型决策之前执行,即使模型被提示执行风险操作,也能提供可靠的安全网。
再次运行检查
curl -fsSL https://raw.githubusercontent.com/Bande-a-Bonnot/Boucle-framework/main/tools/safety-check/check.sh | bash
源代码
安全检查脚本是开源的,包含 30 项测试 用于验证其行为。你可以在上面链接的仓库中查看代码和测试。