AngelFrieren/ccguard
GitHub: AngelFrieren/ccguard
专为 Claude Code 配置文件设计的防御性完整性监控与行为审计工具,通过多层防护机制检测 hooks 篡改和异常执行行为,防范攻击者利用 AI 编程助手实现隐蔽持久化和数据窃取。
Stars: 0 | Forks: 0
# ccguard
[](https://github.com/AngelFrieren/ccguard/actions/workflows/ci.yml)
[](https://github.com/AngelFrieren/ccguard/releases)
[](https://pkg.go.dev/github.com/AngelFrieren/ccguard)
[](https://goreportcard.com/report/github.com/AngelFrieren/ccguard)
[](LICENSE)
**ccguard** 是一个用于 Claude Code 配置文件的防御性文件完整性监控工具。
它能检测对 `~/.claude/settings.json` 和项目级 `.claude/settings.json` 的未授权修改——这些文件控制着 Claude Code hooks,并且可以执行任意的 shell 命令。
这是一款安全工具,属于与 Tripwire、AIDE 和 osquery 同类别的工具——纯粹是**防御性**的,绝不具有攻击性。
## 快速入门
```
# 初始化基线(批准当前配置为合法)
ccguard init
# (推荐)将默认行为策略写入您的 config 目录。
# 如果没有此步骤,ccguard 将自动回退到内置默认值。
# 运行一次以获取可供自定义编辑的副本。
ccguard policy init
# 开始监控(在前台运行;生产环境请使用 systemd unit)
ccguard watch
# 在有意修改配置后,批准新的 hash
ccguard approve ~/.claude/settings.json
# 检查当前批准状态而不进行持续监控
ccguard status
# 查询 IOC 数据库
ccguard ioc list
ccguard ioc check ~/.claude/settings.json
```
## 安装
**从源码构建:**
```
git clone https://github.com/AngelFrieren/ccguard
cd ccguard
go build -o ccguard ./cmd/ccguard
```
**GoReleaser / 预构建二进制文件:** 参见 [Releases](https://github.com/AngelFrieren/ccguard/releases)。
**systemd 用户服务:** 参见 [`examples/ccguard.service`](examples/ccguard.service)。
## 工作原理
阶段 1 通过 inotify/fsnotify 监控 `.claude/` 目录。当文件发生改变时,ccguard 会计算其 SHA-256 值,并与存储在本地 SQLite 数据库中的已批准基线进行比对。未知的哈希值将触发警报。
阶段 2 增加了 IOC 匹配:未经批准的哈希值和路径也会与已知恶意指标数据库进行比对。匹配成功将产生一个与特定威胁活动相关联的高优先级命名警报。
阶段 3 通过 `ccguard hook-wrap` 增加了第 2 层基线异常检测。当 Claude Code hook 的运行时间明显慢于其历史基线(z-score 高于可配置的阈值)时,ccguard 会发出警告——这可以检测出在不修改 `settings.json` 的情况下暗中启动后台数据窃取任务的 hook。具体设置请参见 [`docs/BASELINE.md`](docs/BASELINE.md)。
阶段 4 增加了第 4 层行为监控。监控守护进程会追踪由 `hook-wrap` 生成的进程树,并观察它们的系统调用(通过 procfs 轮询、auditd 日志追踪,或在支持的内核上使用 eBPF)。`$XDG_CONFIG_HOME/ccguard/policies/` 中的行为策略定义了哪些进程操作会触发警报——例如打开 `/proc/*/mem`、执行凭证工具,或连接到意外的主机。有关设置和策略编写的详细信息,请参见 [`docs/BEHAVIOR.md`](docs/BEHAVIOR.md) 和 [`docs/POLICY_FORMAT.md`](docs/POLICY_FORMAT.md)。
完整设计请参见 [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md)。
## 路线图
| 阶段 | 层级 | 功能 | 状态 |
|-------|-------|---------|--------|
| 1 | L1 | SHA-256 哈希完整性监控 | ✅ 已发布 |
| 2 | L3 | 针对已知威胁指标的 IOC 匹配 | ✅ 已发布 |
| 3 | L2 | 统计基线异常检测 | ✅ 已发布 |
| 4 | L4 | 通过 eBPF/auditd 进行行为监控 | ✅ 已发布 |
## 威胁模型
参见 [`docs/THREAT_MODEL.md`](docs/THREAT_MODEL.md)。ccguard 的设计旨在防范获得了用户主目录写入权限并试图通过 Claude Code hooks 进行隐蔽持久化的攻击者。
ccguard **不能**替代 EDR、防病毒软件或操作系统级别的安全加固。
## 贡献指南
参见 [`CONTRIBUTING.md`](CONTRIBUTING.md),包括 IOC 提交指南。
安全漏洞应通过 [Security Advisories](https://github.com/AngelFrieren/ccguard/security/advisories/new) 报告,请勿作为公开 issue 发布。
## 许可证
[MIT](LICENSE)
标签:API接口, Claude Code, DNS 解析, Docker镜像, EVTX分析, Go语言, Hook检测, IOC检查, Lerna, Tripwire替代, 威胁情报, 子域名变形, 安全合规, 安全防御工具, 开发者工具, 异常检测, 日志审计, 程序破解, 策略执行, 终端安全, 网络代理, 行为监控, 配置文件保护