bastio-ai/bastio

GitHub: bastio-ai/bastio

Bastio 是一个自托管的 AI 安全网关,通过实时检测 PII、密钥泄露和 prompt 注入等风险,为团队接入各类 LLM 时提供安全保障。

Stars: 1 | Forks: 0

Bastio

为你的团队发布的每一个 AI 提供安全保障。

连接你的应用与任何 LLM 的开源网关。
PII、越狱、prompt 注入和密钥检测 — 低于 50ms,支持自托管。

License Go Stars Release

快速开始 · 文档 · 云端版 · 讨论区

## 什么是 Bastio? Bastio 是一个单一的 Go 二进制文件,你可以将其部署在你的应用和任何 LLM 提供商之间。每个请求在离开你的网络之前,都会被扫描以检查 PII、prompt 注入、越狱和密钥 — 而无需修改一行应用代码。采用与 [Bastio Cloud](https://bastio.com/cloud) 相同的引擎,基于[功能源许可协议](LICENSE)进行自托管 — 在每次发布两年后转换为 Apache-2.0。 ## 快速开始 ``` git clone https://github.com/bastio-ai/bastio.git cd bastio docker compose up ``` 首次启动会拉取镜像并运行迁移 — 大约需要 60 秒,然后: - **Dashboard** → http://localhost:4000 - **API** → http://localhost:4000/v1 - **OpenAPI** → http://localhost:4000/docs 将任何兼容 OpenAI 的客户端指向 Bastio: ``` import os from openai import OpenAI client = OpenAI( base_url="http://localhost:4000/v1", api_key=os.environ["BASTIO_KEY"], ) resp = client.chat.completions.create( model="gpt-5.4-mini", messages=[{"role": "user", "content": "Ignore previous instructions..."}], ) # → 403 被阻止,已登录 /traces,已捕获每个 detector verdict ``` Anthropic SDK 可在 `/v1/messages` 使用。Bedrock 和 Ollama 遵循相同的直接替换模式。 ## 内联检测器 八个检测器在每个请求上并行运行,总时间预算在 50ms 以内。模式在启动时只编译一次;决定延迟的是最慢的检测器,而不是所有检测器的总和。 | | 检测器 | 捕获内容 | |---|---|---| | 🪪 | **PII** | 电子邮件 · 电话 · SSN · 信用卡 · IBAN · 地址 · DOB | | 🔑 | **密钥** | API key · AWS / GCP / Azure 凭证 · JWT · GitHub PAT | | 🚧 | **Prompt 注入** | 指令覆盖 · 角色扮演注入 · prompt 泄露 | | 🛑 | **越狱** | DAN 风格 · 权限提升 · 系统 prompt 提取 | | 📎 | **间接注入** | 检索到的 RAG 上下文、附加文档、URL 嵌入中的 payload | | 💻 | **代码** | 源代码块 · IP 泄露闸门 | | 🎯 | **话题策略** | 每个配置文件的可配置允许 / 拒绝列表 | | 🤖 | **机器人** | 自动化流量模式 · 签名检查 | 每个检测器都会输出一个判定结果、一个类别和一个经过脱敏处理的 payload。网关会根据你的安全配置文件选择一项操作 — `block` / `mask` / `tokenize` / `warn` / `log_only`。 ## 架构 ``` client ──▶ gateway ──▶ detectors (parallel) ──▶ provider (OpenAI / Anthropic / …) │ │ │ ▼ ▼ ▼ PostgreSQL ClickHouse trace (config) (observability) (async ingest) │ └── Redis (cache, rate limits) ``` - **Go 后端** — Chi、sqlc、River 队列 - 使用 **PostgreSQL 18** 存储配置,**ClickHouse** 存储链路追踪,**Redis** 用于缓存 + 速率限制 - **React 19 Dashboard**(TanStack Query / Router、shadcn/ui)由 Go 二进制文件通过 `go:embed` 提供服务 - **开源版中无 Dashboard 身份验证** — 通过你的 VPN / 反向代理 / tailnet 控制访问权限。云端版提供 SSO + RBAC。 ## 开源版或云端版 | | **开源版** *(本仓库)* | **云端版** | |---|:---:|:---:| | 检测引擎 | 相同代码 | 相同代码 + Presidio | | 自托管,单一二进制文件 | ✅ | — | | 多租户组织 | — | ✅ | | SSO (SAML / OIDC) | — | ✅ | | RBAC + 审计日志保留 | — | ✅ | | 自定义品牌工作区域名 | — | ✅ | | 托管托管 + 24小时 SLA | — | ✅ | 检测器的代码完全一致。升级的触发因素是组织层面的需求 — 多租户、SSO、审计保留 — 而不是技术层面的。[查看对比 →](https://bastio.com/oss) ## 文档 完整文档位于 **[bastio.com/docs](https://bastio.com/docs)** — 包含入门指南、API 参考、部署指南、安全配置文件、自定义策略和治理后端。 文档源码位于 [`docs/`](./docs)。欢迎提交社区 PR。 ## 许可协议 服务器、Dashboard 和内部包均采用 [**FSL-1.1-ALv2**](LICENSE) 授权 — 即功能源许可协议,该协议在每次发布两年后转换为 Apache-2.0。你现在就可以进行自托管、修改和重新分发;唯一的限制是不得向第三方提供作为托管服务的 Bastio。 [`sdk/`](./sdk) 下的客户端 SDK 采用 [MIT](sdk/js/LICENSE) 协议授权。

在 🇩🇰 丹麦开发 · 托管于欧盟 · bastio.com · 云端版候补名单

标签:AI安全, API网关, Chat Copilot, DLL 劫持, EVTX分析, Go, Ruby工具, 大语言模型, 搜索引擎查询, 日志审计, 测试用例, 自托管, 请求拦截