Deepint-Shield/ai-security
GitHub: Deepint-Shield/ai-security
一款开源自托管的 AI 安全网关,为生产级 LLM 和 Agent 应用提供防护栏、策略决策授权、语义缓存和多提供商路由。
Stars: 1 | Forks: 0
### 开源 AI 安全网关
**治理、保护并控制每一个 GenAI 操作** - 决定你的 agents 和
LLM 调用被允许执行的操作,然后在一个 OpenAI 兼容的 API 背后
路由、治理并观察每一个请求。
[](./LICENSE)
[](#how-it-works)
[](https://go.dev)
[](#supported-providers)
[](#quick-start)
只需修改一行 base-URL 即可保护现有的 OpenAI 应用 - 支持自托管,数据绝对不会离开你的基础设施。
内置控制面板 - 针对延迟、成本和节省、guardrails、请求、token、缓存和模型使用情况的实时分析。每一个开源功能都可以通过专属标签页进行一键切换。
budgets / rate limits] VK --> GR[Guardrails
PII / injection / policy] GR --> PDP[Agentic PDP
/decide authorize] PDP --> R[Router
failover / load-balance] R --> CACHE[(Semantic cache)] R --> P[24+ providers] GR -. logs .-> OBS[(Analytics + audit)] PDP -. logs .-> OBS ``` ## DeepintShield 对比 纯路由网关 大多数 AI 网关止步于路由。DeepintShield 添加了生产级 AI 真正所需的授权和 guardrail 层 - 全部实现自托管。 | 功能 | 纯路由网关 | DeepintShield | | --- | :---: | :---: | | 多提供商路由、故障转移、缓存 | ✅ | ✅ | | OpenAI 兼容的平滑替换(仅需更改一行 base-URL) | ✅ | ✅ | | 实时 guardrails(PII / prompt injection / 内容策略) | 部分 | ✅ 内置 | | 授权工具和 agent 操作的 agentic 策略决策点 (`/decide`) | — | ✅ | | 零数据流出的自托管方式 | 视情况而定 | ✅ 设计原生支持 | | 每项功能对应一个控制面板开关 + 独立的实时分析标签页 | — | ✅ | ## 为什么选择 DeepintShield - 🛡️ **Guardrail runtime** - 通过专用的低延迟 Go runtime,对 prompt、响应和工具 I/O 进行确定性的 PII / 正则表达式 / 内容策略执行。在控制面板中切换它;在 Guardrails 分析标签页中查看决策。 - 🤖 **Agentic 策略决策点** - 内置 `/decide` endpoint,配备 ABAC 规则和决策缓存,用于授权(或拦截)每一个 agent 操作和工具调用。支持切换,并拥有专属的 Agentic 分析标签页。 - 🎯 **Hallucination control** - 一致性检查(temperature clamping、system-prompt 加固、自洽性),在用户看到之前捕获无根据或漂移的回答。 - 🔒 **零数据流出** - 设计上支持自托管:prompt、密钥、决策和日志都保留在你的基础设施内。没有供应商锁定,没有数据留存。 - 🔌 **24+ 提供商,一个 API** - OpenAI、Anthropic、AWS Bedrock、Google Vertex/Gemini、Mistral、Groq、Cohere 等均位于一个可直接替换的 `/v1` 接口之后。 - 🔁 **弹性路由** - 自动故障转移、加权 / 轮询 / 最小负载均衡、重试和快速失败断路器。 - 🔑 **虚拟密钥** - 作用域凭证,支持基于密钥的模型允许列表、预算和速率限制,可通过 UI 或配置进行设定。 - 💾 **语义缓存** - 具有 TTL 的精确匹配和 embedding 相似度响应缓存,可降低重复流量的成本和延迟。 - ⚡ **零延迟热路径** - 使用 Go 构建:HTTP/2 连接池、按主机划分的断路器、进程内缓存以及并行化的插件。在高负载下依然快速。 - 📊 **内置可观测性** - OpenTelemetry traces & metrics、结构化请求/响应日志,以及带有使用量、成本和延迟图表的控制面板。 - 🧰 **在任意位置自托管** - `npx`、Docker 或 Helm;可独立运行(无数据库),或结合 SQLite / PostgreSQL + Redis 用于集群部署。 ## 功能 在每个模型前部署一个 OpenAI 兼容的 API,具备生产环境中所需的可靠性、安全性和成本控制。(✅ 开源核心 · ☁️ Cloud / Enterprise) **可靠的路由** - 在提供商和模型出错时自动 **故障转移** ✅ - 带有指数退避的 **重试** ✅ - **负载均衡** - 加权 / 轮询 / 最小负载 + 断路器 ✅ - 每个请求的 **超时** 和快速失败 ✅ - **流式传输 / SSE** 和提供商原生透传 ✅ **安全与准确性** - 实时 **guardrails** - 针对 prompt、响应和工具 I/O 的确定性 PII / 正则表达式 / 内容策略 ✅ - **Agentic 策略决策点** (`/decide`) - 对每个工具和 agent 操作进行 ABAC / Rego 授权 ✅ - **Hallucination control** - grounding、反虚构、引用、temperature clamp ✅ - **虚拟密钥** - 作用域凭证,具备预算、速率限制和模型允许列表(OSS 中仅限 1 个密钥;Cloud / Enterprise 中无限制)✅ - **基于角色的访问控制 (RBAC)、组织、多租户工作区** - 角色和细粒度权限、隔离的租户以及按工作区的治理 ☁️ - ML guardrail 套件、合作伙伴安全提供商(Bedrock GR / Azure CS / GCP Model Armor)、领域包 ☁️ **成本与缓存** - **提供商 prompt 缓存** (Anthropic / OpenAI / Bedrock / Gemini) ✅ - **精确匹配** 响应缓存 + 每个工具的 **MCP 结果缓存**(带 TTL)✅ - 由 Redis 向量存储支持的 **语义 / embedding 相似度** 缓存 ✅ - **使用分析** - 数量、延迟、成本和错误率 ✅ - Prompt 压缩、RAG 重排序、级联 / 批量路由 ☁️ **Agents 与工作流** - 可直接用于 **LangChain、LangGraph、CrewAI、LlamaIndex、AutoGen、PydanticAI、OpenAI Agents、LiteLLM** 以及标准的 OpenAI SDK ✅ - **MCP 网关** - 将 Model Context Protocol 工具公开给任何模型,并带有针对每个 VK 的工具治理 ✅ - **多模态** - 文本、图像、音频和流式传输 ✅ **可观测性** - **OpenTelemetry** traces & metrics + 结构化的请求/响应日志 ✅ - 分析 **控制面板** - 使用量、成本、延迟、缓存、guardrail 和 agentic 图表 ✅ - LLM-as-judge 可观测性、Datadog / Langfuse sinks、定期的 data-lake 导出 ☁️ ## 快速开始 ``` # npx (为您的平台下载预构建的二进制文件) npx -y @deepintshield/ai-security # Docker docker run -p 8080:8080 deepintshield/ai-security ``` 打开 `http://localhost:8080`,在 UI 中添加提供商密钥并创建虚拟密钥,然后发送 OpenAI 兼容的请求。任何 OpenAI SDK 均可使用 - 将其 `base_url` 设置为网关,并使用该虚拟密钥作为 bearer token。 ### 使用 Docker 运行 上面的 `docker run` 使用的是已发布的镜像。如果要构建并运行源码版的 **一体化镜像** - 它内置了 Redis (redis-stack) 向量存储,并与网关一起启动,因此语义缓存开箱即用: ``` # 从 repo 根目录构建 (cache mounts 需要 BuildKit)。 DOCKER_BUILDKIT=1 docker build \ -f deepintshield_server/transports/Dockerfile \ -t deepintshield/ai-security:local . # 运行它。-v 在重启后持久化保存 SQLite 配置 + 日志。 docker run --rm -p 8080:8080 -v deepintshield-data:/app/data deepintshield/ai-security:local ``` 然后打开 `http://localhost:8080` 并如上所述配置提供商和虚拟密钥。 - **使用你自己的 Redis:** 添加 `-e DEEPINTSHIELD_REDIS_ADDR=host:6379`(内置的 Redis 将保持空闲)。 - **完全不使用 Redis:** 网关依然会启动 - 仅仅是关闭语义缓存;路由、guardrails、prompt/精确缓存及其他功能将继续工作。 - **注入配置文件:** 挂载该文件并设置 `-e DEEPINTSHIELD_CONFIG_FILE=/path/in/container/config.json`,或者通过 `-e DEEPINTSHIELD_CONFIG='{ ... }'` 直接内联传递。 ### 部署到云端 生产就绪、可直接复制粘贴的部署脚本以及针对每个主要云平台的详细指南位于 [`deployments/`](./deployments) 中。每个脚本都会针对 **托管 Redis**(向量存储 / 语义缓存)和 **托管 PostgreSQL**(配置 + 日志)运行网关容器,从而将状态保存在容器外部,使网关能够进行横向扩展: | 云平台 | 网关 | 托管 Redis | 托管 Postgres | 指南 | | --- | --- | --- | --- | --- | | **GCP** | Cloud Run (或 GKE) | Memorystore for Redis | Cloud SQL for PostgreSQL | [`deployments/gcp`](./deployments/gcp) | | **AWS** | ECS Fargate (或 EKS) | ElastiCache for Redis | RDS for PostgreSQL | [`deployments/aws`](./deployments/aws) | | **Azure** | Container Apps (或 AKS) | Azure Cache for Redis | Azure Database for PostgreSQL | [`deployments/azure`](./deployments/azure) | Kubernetes 用户还可以使用位于 [`deepintshield_server/helm-charts/deepintshield`](./deepintshield_server/helm-charts/deepintshield) 的 Helm chart 进行部署。 ## 支持的提供商 OpenAI · Azure OpenAI · Anthropic · AWS Bedrock · Google Vertex · Gemini · Mistral · Groq · Cohere · Perplexity · xAI · Ollama · Fireworks · OpenRouter · Cerebras · 以及更多 - 每一个都支持流式传输和提供商原生透传。 ## Agent 与框架集成 将你现有的技术栈指向该网关 - 无需重写。使用标准的提供商 SDK(只需更改 `base_url` 并传入虚拟密钥)或你的 agent 框架;每一次调用都会被路由、受 guardrails 保护、缓存并记录。每种技术的可运行示例都位于 [`examples/`](./examples) 中: | 框架 | 示例 | | --- | --- | | **OpenAI SDK** (直接替换,无需 DeepintShield SDK) | [chat · rag · mcp · agentic](./examples/openai) | | **LangChain** | [chat · rag · mcp · agentic](./examples/langchain) | | **LangGraph** | [chat · agentic · mcp](./examples/langgraph) | | **CrewAI** | [chat · agentic](./examples/crewai) | | **LlamaIndex** | [chat · rag](./examples/llamaindex) | | **PydanticAI** | [chat · agentic](./examples/pydanticai) | | **OpenAI Agents** | [chat · agentic](./examples/openai-agents) | | **AutoGen** | [chat](./examples/autogen) | | **LiteLLM** | [chat](./examples/litellm) | | **DeepintShield SDK** (`pip install deepintshield`) | [12 个示例](./examples/sdk) | ``` # 任何兼容 OpenAI 的客户端都可以 - 保留你的代码,只需更改一行: from openai import OpenAI client = OpenAI(base_url="http://localhost:8080/v1", api_key="
标签:API网关, EVTX分析, Go语言, Petitpotam, 人工智能安全, 合规性, 大语言模型防护, 搜索引擎查询, 日志审计, 测试用例, 用户代理, 程序破解, 策略执行点, 请求拦截