Customer-run client for Secure MCP Tunnel: connect private or localhost MCP servers to ChatGPT, Codex, the Responses API, and AgentKit without exposing them to the public internet.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
No tools enumerated yet for this server.
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 45f5cf7 · analyzer v33 · 6d ago
skills & prompt files 2
danger signals1
- committed secret private key openai-tunnel-client-45f5cf7/e2e/testdata/test_server_key.pem :2
PEM private key block (redacted)
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 509
filesystem 7
- fs (weak) openai-tunnel-client-45f5cf7/adminui/scripts/build.mjs :2
import { copyFile, mkdir, rm } from "node:fs/promises"; - fs openai-tunnel-client-45f5cf7/plugins/tunnel-mcp/mcp/server.cjs :3
const fs = require("node:fs"); - fs (weak) openai-tunnel-client-45f5cf7/plugins/tunnel-mcp/mcp/server.test.cjs :4
const fs = require("node:fs"); - fs (weak) openai-tunnel-client-45f5cf7/scripts/render_end_user_guide_slides.mjs :1
import fs from "node:fs/promises"; - fs openai-tunnel-client-45f5cf7/wrappers/mcp-tunnel-client-proxy/typescript/fake_tunnel_client.mjs :1
import { writeFileSync } from "node:fs"; - fs openai-tunnel-client-45f5cf7/wrappers/mcp-tunnel-client-proxy/typescript/mcp_tunnel_client_proxy.ts :8
import { mkdtemp, readFile, rm } from "node:fs/promises"; - fs (weak) openai-tunnel-client-45f5cf7/wrappers/mcp-tunnel-client-proxy/typescript/mcp_tunnel_client_proxy_test.mjs :2
import { mkdtemp, readFile } from "node:fs/promises";
shell / exec 2
- shell openai-tunnel-client-45f5cf7/plugins/tunnel-mcp/mcp/server.cjs :6
const { spawnSync } = require("node:child_process"); - shell openai-tunnel-client-45f5cf7/wrappers/mcp-tunnel-client-proxy/typescript/mcp_tunnel_client_proxy.ts :7
import { spawn, type ChildProcess } from "node:child_process";
network 4
- net openai-tunnel-client-45f5cf7/adminui/src/lib/api.ts :8
const res = await fetch(path, { cache: "no-store", ...init }); - net (weak) openai-tunnel-client-45f5cf7/examples/typescript-mcp-tunnel-client-proxy/example.ts :1
import { createServer, type IncomingMessage, type Server, type ServerResponse } from "node:http"; - net openai-tunnel-client-45f5cf7/pkg/adminui/assets/app.js :1
o);async function mn(e,t){const n=await fetch(e,{cache:"no-store",...t});if(!n.ok)throw new Error(`${n.status} ${n.statusText}`);return await n.json()}async function ct(e){return mn(e)}async function - net openai-tunnel-client-45f5cf7/wrappers/mcp-tunnel-client-proxy/typescript/mcp_tunnel_client_proxy.ts :317
const response = await fetch(`${baseUrl.replace(/\/+$/, "")}/readyz`);
declared dependencies 52
- github.com/modelcontextprotocol/go-sdk@v1.7.0
- github.com/google/go-cmp@v0.7.0
- github.com/google/jsonschema-go@v0.4.3
- github.com/google/uuid@v1.6.0
- github.com/invopop/jsonschema@v0.13.0
- github.com/jpillora/backoff@v1.0.0
- github.com/panjf2000/ants/v2@v2.11.3
- github.com/prometheus/client_golang@v1.23.2
- github.com/spf13/cobra@v1.9.1
- github.com/spf13/pflag@v1.0.6
- github.com/stretchr/testify@v1.11.1
- go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.63.0
show 28 more
- go.opentelemetry.io/otel@v1.41.0
- go.opentelemetry.io/otel/exporters/prometheus@v0.60.0
- go.opentelemetry.io/otel/metric@v1.41.0
- go.opentelemetry.io/otel/sdk@v1.41.0
- go.opentelemetry.io/otel/sdk/metric@v1.41.0
- go.uber.org/fx@v1.23.0
- golang.org/x/net@v0.43.0
- golang.org/x/sync@v0.20.0
- golang.org/x/sys@v0.41.0
- gopkg.in/yaml.v3@v3.0.1
- github.com/bahlo/generic-list-go@v0.2.0
- github.com/beorn7/perks@v1.0.1
- github.com/buger/jsonparser@v1.1.2
- github.com/cespare/xxhash/v2@v2.3.0
- github.com/davecgh/go-spew@v1.1.1
- github.com/felixge/httpsnoop@v1.0.4
- github.com/go-logr/logr@v1.4.3
- github.com/go-logr/stdr@v1.2.2
- github.com/grafana/regexp@v0.0.0-20240518133315-a468a5bfb3bc
- github.com/inconshreveable/mousetrap@v1.1.0
- github.com/mailru/easyjson@v0.7.7
- github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822
- github.com/pmezard/go-difflib@v1.0.0
- github.com/prometheus/client_model@v0.6.2
- github.com/prometheus/common@v0.66.1
- github.com/prometheus/otlptranslator@v0.0.2
- github.com/prometheus/procfs@v0.17.0
- github.com/segmentio/asm@v1.1.3
12 more not shown — this panel samples each group; the count above is the real total.