SECBLOK/belay

GitHub: SECBLOK/belay

Belay 是一个位于 AI 编程代理工具调用边界的本地安全层,通过确定性规则引擎在毫秒级拦截危险操作并审批模糊行为,防止机密泄露和主机破坏。

Stars: 0 | Forks: 0

# Belay **检测 · 拦截 · 通知 —— AI 编程代理的防御与监控层。** [![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](./LICENSE) [![Rust](https://img.shields.io/badge/built%20with-Rust-orange.svg)](https://www.rust-lang.org/) [![Discord](https://img.shields.io/badge/Discord-join%20the%20community-5865F2.svg?logo=discord&logoColor=white)](https://discord.gg/pySdeDFy6y)
Belay 是一个**本地优先的安全层**,位于 AI 编程代理的**工具调用边界**。 它会自动检测你正在运行的代理,**直接拦截危险操作**,将模糊但有风险的操作 升级提交给你,只需一键**允许 / 拒绝**,并在发生情况时通知你。 决策引擎是**确定性的、无 LLM、100 毫秒以内且故障关闭 (fail-closed)** 的 —— 超时或内部错误会导致*拒绝 (deny)*,绝不会静默允许。Belay 以你的用户身份运行 (绝不使用 root),并且**默认不进行任何外部网络通信 (phone home)**。 兼容 Claude Code、Codex、Cline、Roo、Cursor、Gemini、Goose、OpenClaw、Hermes 等工具 —— 无论是笔记本电脑还是无头 VPS。 ## 它能阻止什么 - **机密泄露** —— `.env` 文件、API keys、SSH keys - **破坏性命令** —— `rm -rf /`、`curl … | sh` - **反弹 Shell** 与命令控制外发通信 - **供应链、持久化、权限提升和侦察**模式 每一条规则都标记了 **OWASP Agentic Security Initiative (ASI) Top 10**、 **OWASP LLM Top 10** 和 **MITRE ATLAS** 标准,并且静态扫描器会输出 **SARIF 2.1.0** 报告。 ## 工作原理 ``` detect → protect → serve / desktop app │ │ │ │ │ └─ live status, triage, and Allow/Deny in the desktop UI │ └─ gate every tool call: Deny > Ask > Allow (fail-closed) └─ find the AI agents installed on this machine ``` Belay 会确定性地控制每一个工具调用。**拒绝 (Deny)** 绝不会被开发工具链的白名单所降级; **询问 (Ask)** 会等待人工决策,并在超时后执行拒绝。请先使用 `--observe` 参数运行, 以便在强制执行前,在仅记录日志的模式下进行调整。 ## 功能特性 - **工具调用边界的运行时门控** —— 原生的 PreToolUse/PostToolUse 钩子, 兼容 Claude Code / Codex(支持 `hook` 和 `gate` 两种集成方式);PostToolUse 会对 工具输出中类似机密的字符串进行脱敏处理。 - **MCP 代理** (`mcp-proxy`) —— 封装任何 MCP server,从而对每一个 `tools/call` 进行门控;采用故障关闭机制。 - **确定性规则目录** —— 涵盖机密、外发通信、破坏性操作、RCE、供应链、 持久化、权限提升、侦察、配置篡改,外加 **arm→sink** 和 **“致命三要素”** 的会话关联分析。 - **人机协同审批** —— 在终端或桌面应用中允许 / 拒绝;超时即拒绝。 - **聊天审批** —— 当调用触发*询问 (Ask)* 时,Belay 可以将提示发送到聊天频道, 并接收你的允许 / 拒绝回复。支持 **Telegram, Discord, WhatsApp, Matrix, Mattermost 和 Slack** 双向通信;在 **ntfy, Teams, 企业微信 (WeCom) 和 webhooks** 上仅支持通知。注册只需一次性的配对码,并且采用**默认拒绝**机制 —— 只有已注册的审批者才能进行批准。 - **解释与建议** —— 每个裁决都附带通俗易懂的“为什么有风险 / 该怎么做”的 解释。**可选的** AI 解释器(默认关闭,自带 API key:本地 Ollama 或 云服务商)可以提供第二意见。它仅供参考 —— 绝不会做出或更改 决策,并且在发送任何内容之前,机密和路径都会被脱敏处理。 - **静态安装前扫描器** (`scan`) —— 包含模式、AST、污点分析、YARA 和 OSV 分析器, 具备来源加权评分功能,并输出 **SARIF** 供 CI 使用。可选的 `--llm` 级联 可过滤误报;在没有 API key 的情况下,它完全在本地运行并仅依靠启发式算法。 - **防篡改审计** —— 采用哈希链审计日志,并包含 `evidence build` / `evidence verify` (基于调查结果 + SARIF 的 SHA-256 清单)。 - **蜜罐诱饵** —— 伪造的凭证文件,一旦被读取或尝试外发就会触发严重 (Critical) 警报。 - **主机控制** —— 原生 Rust 防火墙和内置的各生态系统漏洞数据库, **无需任何外部工具**且**无需 NVD key**。漏洞数据库会展示 **CISA KEV** (已知被利用)徽章和 **EPSS** 漏洞利用概率评分,并且可以通过反向 DNS + ASN / 所有者 / 国家/地区对出站目标进行注释(仅用于显示 —— 绝不用于门控)。 - **桌面应用** (Tauri 2) —— 系统托盘状态、实时审计追踪以及保护隐私的 通知(仅显示类别 —— 绝不包含你的路径或命令)。 ## 安装 **Linux 和 macOS:** ``` curl -fsSL https://dl.belay.secblok.io/install.sh | bash ``` **Windows** (PowerShell 5.1+): ``` irm https://dl.belay.secblok.io/install.ps1 | iex ``` 想先阅读脚本代码?同样的脚本,只需不要盲目通过管道执行: ``` curl -fsSL https://dl.belay.secblok.io/install.sh -o install.sh less install.sh && bash install.sh ``` 随时可以使用 `belay uninstall` 卸载(添加 `--purge` 可同时移除 `~/.belay`)。 ## 快速开始 安装完成后(参见上方的[安装](#install)),使用已添加到你 `PATH` 中的 `belay` 二进制文件来驱动 Belay: ``` # 1. 查看已安装哪些 agents belay detect # 2. 首先在 log-only 模式下保护一个(调优,不执行 enforcement) belay protect --observe # 3. Enforce belay protect # 4. 运行 local backend(桌面应用渲染 UI) belay serve ``` 使用 `belay status`(查看最近的审计记录)和 `belay logs`(查看更长的记录)来审查活动。 ### 从源码构建 ``` cargo build --release --bin belay ``` Linux 的主要目标平台是完全静态的 **musl** 构建(`--target x86_64-unknown-linux-musl`),这需要 musl 工具链 —— 请安装 `musl-tools` (Debian/Ubuntu: `sudo apt install musl-tools`)以确保 `musl-gcc` 可用。 ## 文档 完整文档位于 **https://belay.secblok.io/doc**(着陆页: https://belay.secblok.io)—— 包含指南、完整的 CLI 参考和配置说明。 ## 版本与许可 Belay 是 **open-core**(开放核心)模式。 对于与 AGPL 不兼容的用途或企业版,请参见 [`COMMERCIAL-LICENSE.md`](./COMMERCIAL-LICENSE.md) 或联系 **hello@secblok.io**。贡献代码需要签署 CLA + DCO。 由 **SECBLOK** (Secblok Pty Ltd) 发布 · https://www.secblok.io
Belay 是 AI 代理的纵深防御措施,而非绝对保证。请查阅文档了解其 已知局限性(例如,系统调用级别的防御需要提升的权限,且根据设计这不在适用范围内)。
标签:AI代理, AI安全, Chat Copilot, Rust, Streamlit, Web报告查看器, 可视化界面, 安全助手, 安全网关, 终端防护, 网络流量审计, 访问控制, 通知系统