AngelFrieren/ccguard

GitHub: AngelFrieren/ccguard

专为 Claude Code 配置文件设计的防御性完整性监控与行为审计工具,通过多层防护机制检测 hooks 篡改和异常执行行为,防范攻击者利用 AI 编程助手实现隐蔽持久化和数据窃取。

Stars: 0 | Forks: 0

# ccguard [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/80765aba67105321.svg)](https://github.com/AngelFrieren/ccguard/actions/workflows/ci.yml) [![Release](https://img.shields.io/github/v/release/AngelFrieren/ccguard)](https://github.com/AngelFrieren/ccguard/releases) [![Go Reference](https://pkg.go.dev/badge/github.com/AngelFrieren/ccguard.svg)](https://pkg.go.dev/github.com/AngelFrieren/ccguard) [![Go Report Card](https://goreportcard.com/badge/github.com/AngelFrieren/ccguard)](https://goreportcard.com/report/github.com/AngelFrieren/ccguard) [![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](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替代, 威胁情报, 子域名变形, 安全合规, 安全防御工具, 开发者工具, 异常检测, 日志审计, 程序破解, 策略执行, 终端安全, 网络代理, 行为监控, 配置文件保护