@guardbee/mcp-security-proxy 1.11.0 → 1.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -0
- package/TR.md +17 -0
- package/ZH.md +17 -0
- package/dist/gateway/config.d.ts +3 -0
- package/dist/gateway/config.d.ts.map +1 -1
- package/dist/gateway/config.js +2 -0
- package/dist/gateway/config.js.map +1 -1
- package/dist/gateway/gateway.d.ts +26 -3
- package/dist/gateway/gateway.d.ts.map +1 -1
- package/dist/gateway/gateway.js +152 -3
- package/dist/gateway/gateway.js.map +1 -1
- package/dist/gateway/policy-sync.d.ts.map +1 -1
- package/dist/gateway/policy-sync.js +1 -0
- package/dist/gateway/policy-sync.js.map +1 -1
- package/dist/gateway/quota.d.ts +52 -0
- package/dist/gateway/quota.d.ts.map +1 -0
- package/dist/gateway/quota.js +76 -0
- package/dist/gateway/quota.js.map +1 -0
- package/dist/gateway/upstream.d.ts +27 -6
- package/dist/gateway/upstream.d.ts.map +1 -1
- package/dist/gateway/upstream.js +38 -11
- package/dist/gateway/upstream.js.map +1 -1
- package/dist/http-server.d.ts.map +1 -1
- package/dist/http-server.js +4 -0
- package/dist/http-server.js.map +1 -1
- package/dist/proxy.d.ts +2 -0
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js +15 -2
- package/dist/proxy.js.map +1 -1
- package/dist/tracing.d.ts +28 -0
- package/dist/tracing.d.ts.map +1 -0
- package/dist/tracing.js +106 -0
- package/dist/tracing.js.map +1 -0
- package/dist/types.d.ts +17 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +24 -2
package/dist/proxy.js
CHANGED
|
@@ -46,6 +46,9 @@ const config_js_1 = require("./gateway/config.js");
|
|
|
46
46
|
const gateway_js_1 = require("./gateway/gateway.js");
|
|
47
47
|
const upstream_js_1 = require("./gateway/upstream.js");
|
|
48
48
|
const policy_sync_js_1 = require("./gateway/policy-sync.js");
|
|
49
|
+
const fs_1 = require("fs");
|
|
50
|
+
const path_1 = require("path");
|
|
51
|
+
const tracing_js_1 = require("./tracing.js");
|
|
49
52
|
/** The MCP server the agent talks to; every request goes through the gateway. */
|
|
50
53
|
function createProxyServer(gateway) {
|
|
51
54
|
const server = new index_js_1.Server({ name: "guardbee-security-proxy", version: "1.0.0" }, {
|
|
@@ -80,11 +83,19 @@ function createGatewayServer(upstreams, config, audit, options = {}) {
|
|
|
80
83
|
? (0, approval_js_1.dashboardApprover)(config.audit.dashboard, timeoutSeconds)
|
|
81
84
|
: (req) => (server ? (0, approval_js_1.elicitationApprover)(server, timeoutSeconds)(req) : Promise.resolve("unavailable"))))(request);
|
|
82
85
|
};
|
|
83
|
-
|
|
86
|
+
// Servers' sampling requests go to this session's client, when it offers sampling
|
|
87
|
+
const sampler = {
|
|
88
|
+
available: () => Boolean(server?.getClientCapabilities()?.sampling),
|
|
89
|
+
create: (params) => server.createMessage(params),
|
|
90
|
+
};
|
|
91
|
+
const gateway = new gateway_js_1.Gateway(upstreams, config, audit, approver, { ...options, sampler });
|
|
84
92
|
server = createProxyServer(gateway);
|
|
85
93
|
return { gateway, server };
|
|
86
94
|
}
|
|
87
95
|
async function startGateway(config) {
|
|
96
|
+
const { version } = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(__dirname, "..", "package.json"), "utf8"));
|
|
97
|
+
// OTLP export when OTEL_EXPORTER_OTLP_ENDPOINT is set and the SDK is installed
|
|
98
|
+
const stopTracing = await (0, tracing_js_1.startTracing)({ version });
|
|
88
99
|
const audit = new logger_js_1.AuditLogger(config.audit);
|
|
89
100
|
// Start with the dashboard policy when there is one; refresh in the background.
|
|
90
101
|
if (config.policy.source === "dashboard" && config.audit.dashboard) {
|
|
@@ -92,7 +103,7 @@ async function startGateway(config) {
|
|
|
92
103
|
}
|
|
93
104
|
const upstreams = [];
|
|
94
105
|
for (const [name, server] of Object.entries(config.upstreams)) {
|
|
95
|
-
upstreams.push(await (0, upstream_js_1.connectUpstream)(name, server));
|
|
106
|
+
upstreams.push(await (0, upstream_js_1.connectUpstream)(name, server, { sampling: config.interceptors.sampling?.enabled === true }));
|
|
96
107
|
}
|
|
97
108
|
if (config.listen.transport === "http") {
|
|
98
109
|
// Imported here: http-server.ts imports this module for createGatewayServer.
|
|
@@ -103,6 +114,7 @@ async function startGateway(config) {
|
|
|
103
114
|
await http.close();
|
|
104
115
|
await audit.close();
|
|
105
116
|
await Promise.allSettled(upstreams.map((upstream) => upstream.close()));
|
|
117
|
+
await stopTracing?.();
|
|
106
118
|
process.exit(0);
|
|
107
119
|
};
|
|
108
120
|
process.on("SIGINT", shutdown);
|
|
@@ -120,6 +132,7 @@ async function startGateway(config) {
|
|
|
120
132
|
closing = true;
|
|
121
133
|
await server.close().catch(() => { });
|
|
122
134
|
await gateway.close();
|
|
135
|
+
await stopTracing?.();
|
|
123
136
|
process.exit(0);
|
|
124
137
|
};
|
|
125
138
|
server.onclose = () => void shutdown();
|
package/dist/proxy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type Span, type Tracer, type TracerProvider } from "@opentelemetry/api";
|
|
2
|
+
export declare function tracer(): Tracer;
|
|
3
|
+
export declare function activeCallSpan(): Span | undefined;
|
|
4
|
+
export declare function withCallSpan<T>(span: Span, run: () => Promise<T>): Promise<T>;
|
|
5
|
+
interface Sdk {
|
|
6
|
+
BasicTracerProvider: new (config: {
|
|
7
|
+
resource?: unknown;
|
|
8
|
+
spanProcessors?: unknown[];
|
|
9
|
+
}) => TracerProvider & {
|
|
10
|
+
shutdown(): Promise<void>;
|
|
11
|
+
};
|
|
12
|
+
BatchSpanProcessor: new (exporter: unknown) => unknown;
|
|
13
|
+
OTLPTraceExporter: new () => unknown;
|
|
14
|
+
resourceFromAttributes: (attributes: Record<string, string>) => unknown;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Start exporting spans over OTLP/HTTP when OTEL_EXPORTER_OTLP_ENDPOINT (or
|
|
18
|
+
* the _TRACES_ variant) is set. Returns a shutdown function that flushes, or
|
|
19
|
+
* null when tracing stays off.
|
|
20
|
+
*/
|
|
21
|
+
export declare function startTracing(options?: {
|
|
22
|
+
env?: NodeJS.ProcessEnv;
|
|
23
|
+
load?: () => Promise<Sdk>;
|
|
24
|
+
version?: string;
|
|
25
|
+
warn?: (line: string) => void;
|
|
26
|
+
}): Promise<(() => Promise<void>) | null>;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=tracing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../src/tracing.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,KAAK,IAAI,EAAE,KAAK,MAAM,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAaxF,wBAAgB,MAAM,IAAI,MAAM,CAE/B;AAKD,wBAAgB,cAAc,IAAI,IAAI,GAAG,SAAS,CAEjD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAE7E;AAED,UAAU,GAAG;IACX,mBAAmB,EAAE,KAAK,MAAM,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,EAAE,CAAA;KAAE,KAAK,cAAc,GAAG;QACxG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;KAC3B,CAAC;IACF,kBAAkB,EAAE,KAAK,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC;IACvD,iBAAiB,EAAE,UAAU,OAAO,CAAC;IACrC,sBAAsB,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC;CACzE;AAYD;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAAO,GACpH,OAAO,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CA6BvC"}
|
package/dist/tracing.js
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.tracer = tracer;
|
|
37
|
+
exports.activeCallSpan = activeCallSpan;
|
|
38
|
+
exports.withCallSpan = withCallSpan;
|
|
39
|
+
exports.startTracing = startTracing;
|
|
40
|
+
const async_hooks_1 = require("async_hooks");
|
|
41
|
+
const api_1 = require("@opentelemetry/api");
|
|
42
|
+
/**
|
|
43
|
+
* OpenTelemetry for the gateway. Only @opentelemetry/api (no dependencies) is
|
|
44
|
+
* required: without an SDK every span is a no-op. Exporting is opt-in through
|
|
45
|
+
* the standard OTEL_* environment, with the SDK installed next to the proxy
|
|
46
|
+
* (optional peer dependencies; the Docker image has them). A process that
|
|
47
|
+
* already registered its own SDK (zero-code instrumentation) keeps it.
|
|
48
|
+
*/
|
|
49
|
+
const NAME = "@guardbee/mcp-security-proxy";
|
|
50
|
+
const SDK_PACKAGES = ["@opentelemetry/sdk-trace-base", "@opentelemetry/exporter-trace-otlp-http", "@opentelemetry/resources"];
|
|
51
|
+
function tracer() {
|
|
52
|
+
return api_1.trace.getTracer(NAME);
|
|
53
|
+
}
|
|
54
|
+
/** The span of the tool call being handled, so audit events can become its span events. */
|
|
55
|
+
const callSpan = new async_hooks_1.AsyncLocalStorage();
|
|
56
|
+
function activeCallSpan() {
|
|
57
|
+
return callSpan.getStore();
|
|
58
|
+
}
|
|
59
|
+
function withCallSpan(span, run) {
|
|
60
|
+
return callSpan.run(span, run);
|
|
61
|
+
}
|
|
62
|
+
async function loadSdk() {
|
|
63
|
+
const [base, exporter, resources] = await Promise.all(SDK_PACKAGES.map((name) => Promise.resolve(`${name}`).then(s => __importStar(require(s)))));
|
|
64
|
+
return {
|
|
65
|
+
BasicTracerProvider: base.BasicTracerProvider,
|
|
66
|
+
BatchSpanProcessor: base.BatchSpanProcessor,
|
|
67
|
+
OTLPTraceExporter: exporter.OTLPTraceExporter,
|
|
68
|
+
resourceFromAttributes: resources.resourceFromAttributes,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Start exporting spans over OTLP/HTTP when OTEL_EXPORTER_OTLP_ENDPOINT (or
|
|
73
|
+
* the _TRACES_ variant) is set. Returns a shutdown function that flushes, or
|
|
74
|
+
* null when tracing stays off.
|
|
75
|
+
*/
|
|
76
|
+
async function startTracing(options = {}) {
|
|
77
|
+
const env = options.env ?? process.env;
|
|
78
|
+
const warn = options.warn ?? ((line) => process.stderr.write(`[guardbee-proxy] ${line}\n`));
|
|
79
|
+
const endpoint = env["OTEL_EXPORTER_OTLP_TRACES_ENDPOINT"] ?? env["OTEL_EXPORTER_OTLP_ENDPOINT"];
|
|
80
|
+
if (!endpoint || env["OTEL_SDK_DISABLED"] === "true" || env["OTEL_TRACES_EXPORTER"] === "none")
|
|
81
|
+
return null;
|
|
82
|
+
let sdk;
|
|
83
|
+
try {
|
|
84
|
+
sdk = await (options.load ?? loadSdk)();
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
warn(`OTEL_EXPORTER_OTLP_ENDPOINT is set but the OpenTelemetry SDK is not installed; spans are not exported. Install: npm i ${SDK_PACKAGES.join(" ")}`);
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
const provider = new sdk.BasicTracerProvider({
|
|
91
|
+
resource: sdk.resourceFromAttributes({
|
|
92
|
+
"service.name": env["OTEL_SERVICE_NAME"] ?? "guardbee-security-proxy",
|
|
93
|
+
...(options.version ? { "service.version": options.version } : {}),
|
|
94
|
+
}),
|
|
95
|
+
// The exporter reads OTEL_EXPORTER_OTLP_* (endpoint, headers, timeout) itself
|
|
96
|
+
spanProcessors: [new sdk.BatchSpanProcessor(new sdk.OTLPTraceExporter())],
|
|
97
|
+
});
|
|
98
|
+
if (!api_1.trace.setGlobalTracerProvider(provider)) {
|
|
99
|
+
// Someone (zero-code instrumentation) registered an SDK first: use theirs
|
|
100
|
+
await provider.shutdown();
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
warn(`exporting OpenTelemetry spans to ${endpoint}`);
|
|
104
|
+
return () => provider.shutdown();
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=tracing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../src/tracing.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -66,6 +66,23 @@ export type ProxyConfig = {
|
|
|
66
66
|
action: "block" | "warn";
|
|
67
67
|
allowTools?: string[];
|
|
68
68
|
};
|
|
69
|
+
/**
|
|
70
|
+
* Let servers ask the agent's model for a completion (sampling), with
|
|
71
|
+
* guards: only during one of the server's tool calls, no context from the
|
|
72
|
+
* conversation, a token and per-call cap, an injection scan on what the
|
|
73
|
+
* server sends, and the model's answer checked like an egress call.
|
|
74
|
+
* Off (default): servers are not offered sampling at all.
|
|
75
|
+
*/
|
|
76
|
+
sampling?: {
|
|
77
|
+
enabled: boolean;
|
|
78
|
+
action: "block" | "warn";
|
|
79
|
+
/** Cap on the completion length the server may ask for (default 1024). */
|
|
80
|
+
maxTokens?: number;
|
|
81
|
+
/** Sampling requests allowed during one tool call (default 3). */
|
|
82
|
+
maxPerCall?: number;
|
|
83
|
+
/** Ask the person before each request (MCP elicitation / dashboard). */
|
|
84
|
+
approval?: boolean;
|
|
85
|
+
};
|
|
69
86
|
definitionDrift?: {
|
|
70
87
|
enabled: boolean;
|
|
71
88
|
action: "block" | "warn";
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@guardbee/mcp-security-proxy",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.13.0",
|
|
4
4
|
"mcpName": "io.github.GuardBee/security-proxy",
|
|
5
5
|
"description": "MCP security gateway: several MCP servers behind one policy, with toxic-flow (lethal trifecta) blocking, approvals, PII masking and a hash-chained audit log",
|
|
6
6
|
"author": "GuardBee <hello@guardbee.ai>",
|
|
@@ -42,12 +42,34 @@
|
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
45
|
+
"@opentelemetry/api": "^1.9.1",
|
|
45
46
|
"jose": "^6.2.12",
|
|
46
47
|
"yaml": "^2.9.1",
|
|
47
48
|
"zod": "^4.5.4",
|
|
48
|
-
"@guardbee/guard-core": "^0.
|
|
49
|
+
"@guardbee/guard-core": "^0.11.0",
|
|
49
50
|
"@guardbee/mcp-telemetry": "^0.1.3"
|
|
50
51
|
},
|
|
52
|
+
"devDependencies": {
|
|
53
|
+
"@opentelemetry/exporter-trace-otlp-http": "^0.223.0",
|
|
54
|
+
"@opentelemetry/resources": "^2.12.0",
|
|
55
|
+
"@opentelemetry/sdk-trace-base": "^2.12.0"
|
|
56
|
+
},
|
|
57
|
+
"peerDependencies": {
|
|
58
|
+
"@opentelemetry/exporter-trace-otlp-http": "^0.223.0",
|
|
59
|
+
"@opentelemetry/resources": "^2.12.0",
|
|
60
|
+
"@opentelemetry/sdk-trace-base": "^2.12.0"
|
|
61
|
+
},
|
|
62
|
+
"peerDependenciesMeta": {
|
|
63
|
+
"@opentelemetry/exporter-trace-otlp-http": {
|
|
64
|
+
"optional": true
|
|
65
|
+
},
|
|
66
|
+
"@opentelemetry/resources": {
|
|
67
|
+
"optional": true
|
|
68
|
+
},
|
|
69
|
+
"@opentelemetry/sdk-trace-base": {
|
|
70
|
+
"optional": true
|
|
71
|
+
}
|
|
72
|
+
},
|
|
51
73
|
"scripts": {
|
|
52
74
|
"build": "tsc",
|
|
53
75
|
"dev": "tsx src/cli.ts",
|