Blekline/blekline-oss

GitHub: Blekline/blekline-oss

面向 AI agent 的开源核心零信任执行平面,在 agent 与工具、模型之间实时完成敏感数据掩码、策略执行和调用审计。

Stars: 1 | Forks: 0

Blekline — mark and wordmark

AI agent 的零信任执行平面 — 开源核心的 MCP/SDK,用于掩码、执行和审计每一个 agent 调用。

快速开始 · 为什么选择 ingress · 架构 · 安全性 · 云服务

CI AGPL v3 Apache-2.0 npm npm proxy

## 没人愿意谈论的问题 Cursor 为你编写代码,Claude 回答你的支持工单,自动化 pipeline 接触你的数据库、你的 API、你客户的数据。整个生态系统正在加速发展 —— MCP server 让 agent 能够获取工具,就像应用程序获取插件一样 —— 这确实令人兴奋。 但问题在于:你的 agent 根本不知道哪些事情是不允许做的。它们会毫不在意地将 AWS 密钥直接传给模型的上下文窗口。它们会使用客户的邮箱作为参数调用工具。它们会执行计划之外的 shell 命令。这并非出于恶意,而是源于语言模型的本质:它们只为完成任务而优化,而不会考虑你尚未编写的组织策略。 这就是 AI 治理差距。而目前,在你的 agent 和它们能接触到的所有事物之间,不存在任何阻隔。 ## 为什么这变得迫在眉睫 欧盟《AI 法案》已不再是理论探讨。GPAI 的义务自 2025 年 8 月起便已具有强制执行力。透明度和人类监督要求将于 2026 年 8 月落地。随后是高风险系统的合规性评估。对于最严重的违规行为,罚款高达 3500 万欧元或全球营业额的 7%。而且这些规则不仅仅针对模型本身 —— 它们还涉及你使用这些模型构建的系统:你如何管理工具访问权限、如何审计决策,以及如何证明有人类参与了整个过程。 与此同时,在规模化运行 AI 的企业中 —— 在沙盒隔离、并行化处理、成千上万次 agent 调用的情况下 —— 对于以下问题却没有原生解答:该会话中发生了什么?谁授权了那次工具调用?是否有 PII(个人身份信息)离开了上下文窗口? 合规问题正追上能力发展的步伐。而大多数团队并没有准备好。 ## Blekline 是什么 Blekline 是一个 **开源核心的 NHIM 楔子** —— 作为 MCP/SDK/ingress sidecar,在 agent 边界进行掩码、执行和审计。 | 开源(本仓库) | 私有(企业版镜像) | | ---------------------------------------------------------- | ------------------------------------------- | | `@blekline/mcp-server`, `mcp-proxy`, `contracts`, `client` | Trust Vault(有状态 token 化) | | `ingress-proxy` sidecar 外壳 + Helm | Lineage Firewall 引擎 | | Cursor hooks | `runtime-engine` 加密 + admission webhook | 在任何 LLM 看到提示词或任何工具执行之前,它会实时完成这三件事: **掩码 (Mask)** — 在提示词到达模型 API 之前,剥离其中的 PII、机密和敏感上下文([MCP Server 文档](https://app.blekline.com/docs/mcp/server)) **执行 (Enforce)** — 根据策略评估工具调用;在执行前允许、标记或阻止 **审计 (Audit)** — 为每一次 agent 交互生成结构化、防篡改的事件追踪记录 你可以在两分钟内在本地运行它。你可以将其作为 sidecar 与任何 L1 sandbox(Daytona、Modal、E2B、Cloudflare、Vercel Sandbox)一起部署。你今天就可以将其插入 Cursor、Claude Desktop 或 Codex —— 而无需更改你的 agent 代码。 这就是让受控的 AI 部署成为现实的基础设施:它不是一个复选框,也不是一份策略文档,而是一个在调用级别强制执行你意图的运行系统。 ## 从这里开始 ``` pnpm install && pnpm build:packages export BLEKLINE_WORKSPACE_TOKEN="blw_..." export BLEKLINE_API_URL="https://app.blekline.com" export BLEKLINE_CLIENT_SURFACE="sdk" pnpm demo:mcp-smoke ``` 无头模式指南:`[cli/README.md](cli/README.md)` · CI 模板:`[ci/](ci/)` ## 连接 Blekline | 界面 | 路径 | `BLEKLINE_CLIENT_SURFACE` | | -------------- | ---------------------------------------------------------------------------------------- | ------------------------- | | CLI / SDK | `[cli/](cli/)` | `sdk` | | CI / CD | `[ci/](ci/)` | `sdk` | | Claude Code | `[.claude/settings.json.example](.claude/settings.json.example)` | `claude-code` | | Cursor | `[.cursor/mcp.json.example](.cursor/mcp.json.example)` | `cursor` | | GitHub Copilot | `[.vscode/mcp.json.example](.vscode/mcp.json.example)` | `github-copilot` | | Continue | `[.vscode/continue.config.json.example](.vscode/continue.config.json.example)` | `continue` | | Claude Desktop | `[config/claude_desktop_config.json.example](config/claude_desktop_config.json.example)` | `claude-desktop` | | Codex | `[.codex/config.toml.example](.codex/config.toml.example)` | `codex` | 完整索引:`[integrations/README.md](integrations/README.md)` · 文档:[app.blekline.com/docs](https://app.blekline.com/docs) ``` pnpm generate:mcp-configs # *.example configs pnpm verify:integrations # manifest + schema checks ``` 在任何客户端中:*"在以下内容上使用 blekline_mask_prompt:Contact Jane at [jane@acme.com](mailto:jane@acme.com) — API key AKIAIOSFODNN7EXAMPLE"* ## 架构 Blekline 位于 **Layer 4** —— 介于 L5 agent(Cursor、Claude、Codex)与 L1 sandbox(Daytona、Modal、Vercel Sandbox、Cloudflare、E2B)及模型 API 之间。 ``` L5 Agents → L4 Blekline (mask · enforce · audit) → L1 sandbox MCP / model APIs ``` [AI 赋能技术栈](https://app.blekline.com/docs/introduction/ai-enablement-stack) · [架构](https://app.blekline.com/docs/introduction/architecture) · [信任边界](https://app.blekline.com/docs/security/trust-boundaries) · [延迟 SLO](https://app.blekline.com/docs/reference/latency-slo) ## 开源核心 vs 云服务 | 功能 | OSS(本仓库) | 云服务 ([app.blekline.com](https://app.blekline.com)) | | ---------------------------- | --------------------------- | ---------------------------------------------------- | | MCP server / proxy | 是 | 是 | | 本地工具 + 密钥执行 | 是 (`@blekline/contracts`) | 是 | | Azure 权威 PII 掩码 | — | 是 | | 工作区集群策略 (SSE) | — | 是 | | 调查 / 计费 | — | 是 | **许可证:** proxy/server 采用 AGPL(自托管或购买云服务)。contracts/SDK 采用 Apache(可嵌入你的 agent 技术栈中)。 ## 适用人群 **开发者** —— 使用 Cursor、Claude Desktop 或 Codex 进行开发,希望其 agent 不再泄露机密并开始遵守工具边界。 **平台团队** —— 在 L1 sandbox 中部署 AI 工作负载,需要一个能与执行环境相伴而行的治理层。 **企业架构师** —— 正在为欧盟《AI 法案》合规性做准备,特别是将于 2026 年 8 月起具有强制执行效力的人类监督、审计追踪和工具调用透明度要求。 **开源贡献者** —— 相信安全 AI 的基础设施应该是可审计、可分叉且由社区拥有的,而不是被锁定在供应商的云服务中。 ## 包 | 包 | 安装 | 许可证 | | ---------------------- | ---------------------------- | ---------- | | `@blekline/mcp-server` | `npm i @blekline/mcp-server` | AGPL-3.0 | | `@blekline/mcp-proxy` | `npm i @blekline/mcp-proxy` | AGPL-3.0 | | `@blekline/client` | `npm i @blekline/client` | Apache-2.0 | | `@blekline/contracts` | workspace / embed | Apache-2.0 | | `ingress-proxy` | Docker / Helm | AGPL-3.0 | OpenAPI:`[packages/contracts/openapi.yaml](packages/contracts/openapi.yaml)` ## MCP 工具 | 工具 | 用途 | | ----------------------------- | ------------------------------------------- | | `blekline_mask_prompt` | 在模型上下文之前脱敏 PII / 密密 | | `blekline_classify_risk` | 风险等级 → 允许 / 审查 / 阻止 | | `blekline_evaluate_tool_call` | 针对工具名称 + 参数的策略 | | `blekline_emit_event` | 元数据审计追踪 | Proxy 路径:agent → **Blekline** → 允许/掩码/阻止 → 下游 MCP (Daytona、E2B、Modal、Cloudflare、Vercel Sandbox、自定义)。 ## 客户端库 ### TypeScript ``` npm install @blekline/client ``` ``` import { BleklineClient } from "@blekline/client"; const blekline = new BleklineClient({ workspaceToken: process.env.BLEKLINE_WORKSPACE_TOKEN!, metadata: { clientSurface: "sdk" }, }); await blekline.mask({ text: "alice@corp.com", platform: "MyAgent" }); await blekline.enforceToolCall({ toolName: "run_shell", arguments: { cmd: "curl https://api.internal/deploy" }, }); ``` ### Python ``` pip install blekline-client ``` ### 仅限本地(无需 API token) ``` import { enforceToolCallLocally, scanTextForSecrets } from "@blekline/contracts"; scanTextForSecrets("export AWS_KEY=AKIAIOSFODNN7EXAMPLE"); enforceToolCallLocally({ toolName: "run_shell", arguments: { cmd: "export AWS_KEY=AKIAIOSFODNN7EXAMPLE" }, requestId: "local-1", }); ``` ## 兼容工具 完整的集成指南位于 [app.blekline.com/docs](https://app.blekline.com/docs) —— 本仓库中不再重复提供。 ### L5 agent 客户端 | 客户端 | 指南 | | ---------------- | ------------------------------------------------------------------------- | | Hub | [Agent 客户端](https://app.blekline.com/docs/integrations/agent-clients) | | Continue | [Continue MCP](https://app.blekline.com/docs/mcp/continue) | | GitHub Copilot | [Copilot MCP](https://app.blekline.com/docs/mcp/github-copilot) | | OpenHands | [OpenHands](https://app.blekline.com/docs/mcp/openhands) | | Sourcegraph Cody | [Cody](https://app.blekline.com/docs/mcp/sourcegraph-cody) | ### L2 模型提供商 | 提供商 | 指南 | | ------------ | ------------------------------------------------------------------------------- | | Hub | [模型提供商](https://app.blekline.com/docs/integrations/model-providers) | | Azure OpenAI | [Azure 技术栈](https://app.blekline.com/docs/integrations/azure-openai-stack) | | AWS Bedrock | [Bedrock 技术栈](https://app.blekline.com/docs/integrations/aws-bedrock-stack) | | OpenRouter | [OpenRouter 技术栈](https://app.blekline.com/docs/integrations/openrouter-stack) | ### L2 框架与 RAG | 集成工具 | 指南 | | ----------- | --------------------------------------------------------------------------------- | | Hub | [框架与 RAG](https://app.blekline.com/docs/integrations/frameworks-and-rag) | | LangChain | [LangChain 技术栈](https://app.blekline.com/docs/integrations/langchain-stack) | | Pinecone | [Pinecone 技术栈](https://app.blekline.com/docs/integrations/pinecone-stack) | ### L3 评估与安全 | 合作伙伴 | 指南 | | ---------- | ------------------------------------------------------------------------------- | | Hub | [评估与安全](https://app.blekline.com/docs/integrations/eval-and-safety) | | LangSmith | [LangSmith 技术栈](https://app.blekline.com/docs/integrations/langsmith-stack) | | Guardrails | [Guardrails 技术栈](https://app.blekline.com/docs/integrations/guardrails-stack) | ### L1 sandboxes | 提供商 | 集成指南 | | -------------- | --------------------------------------------------------------------------------------- | | 全部五项 | [Sandbox 提供商中心](https://app.blekline.com/docs/integrations/sandbox-providers) | | Daytona | [Daytona 技术栈](https://app.blekline.com/docs/integrations/daytona-stack) | | Modal | [Modal 技术栈](https://app.blekline.com/docs/integrations/modal-stack) | | Vercel Sandbox | [Vercel Sandbox 技术栈](https://app.blekline.com/docs/integrations/vercel-sandbox-stack) | | Cloudflare | [Cloudflare 技术栈](https://app.blekline.com/docs/integrations/cloudflare-stack) | | E2B | [E2B 技术栈](https://app.blekline.com/docs/integrations/e2b-stack) | ## 部署 | 模式 | 命令 / 链接 | | ------------ | --------------------------------------------------------------------------------- | | MCP (全局) | `npx -y @blekline/mcp-server` | | Edge sidecar | `pnpm docker:ingress` — [Helm](https://app.blekline.com/docs/api/ingress-proxy) | | L1 sandboxes | [Sandbox 提供商](https://app.blekline.com/docs/integrations/sandbox-providers) | ## 开发 客户端演示与冒烟测试:[demo/README.md](demo/README.md)。 ``` git clone https://github.com/Blekline/blekline-oss.git && cd blekline-oss pnpm install && pnpm build:packages && pnpm demo:mcp-smoke ``` ## 文档 所有文档:**[app.blekline.com/docs](https://app.blekline.com/docs)** | 文档 | 链接 | | ---------------------- | -------------------------------------------------------------------------------------------------- | | 快速开始 | [introduction/quick-start]() | | 欧盟《AI 法案》与合规 | [introduction/eu-ai-act](https://app.blekline.com/docs/introduction/eu-ai-act) | | AI 赋能技术栈 | [introduction/ai-enablement-stack](https://app.blekline.com/docs/introduction/ai-enablement-stack) | | MCP proxy | [mcp/proxy](https://app.blekline.com/docs/mcp/proxy) | | Cursor 设置 | [mcp/cursor](https://app.blekline.com/docs/mcp/cursor) | ## 许可证 | 组件 | 许可证 | | ------------------------------------------ | ---------------------------- | | `mcp-server`, `mcp-proxy`, `ingress-proxy` | [AGPL-3.0](LICENSE) | | `contracts`, `client`, `client-python` | [Apache-2.0](LICENSE-APACHE) | 位于 [app.blekline.com](https://app.blekline.com) 的托管型 SaaS 服务不受本仓库的许可证约束。
标签:AI智能体, JSONLines, MCP, MITM代理, Streamlit, 人工智能, 用户模式Hook绕过, 自定义脚本, 访问控制, 请求拦截, 逆向工具, 零信任